This is a Rust and Enigma learning exercise to build an Enigma simulator, and eventually a cryptographic brute force with statistical analysis (fitness functions) seemed like a fun way to learn Rust. There are a number of advanced topics, like concurrency that could be used to speed up the process. This exercise was inspired by this Computerphile video.
Step 1. Read the Rust book
Step 2. Make basic Enigma simulator <- We are here
Step 3. Learn more Rust
Step 4. Fix the simulator and make it full features
Step 5. Learn more Rust
Step 6. Make cryptographic analysis functions ()
Step 7. Learn more Rust
Step 8. Implement concurrency and other optimizations