This is my attempt at creating the Enigma Machine used by the Germans in WW2 to encrypt messages.
Rotor configurations can be found here.
A nice simulator can be found here.
- To become more familiar with the C++ Programming Language
- Stick to a TDD lifecycle
- Learn how to use CMake
- Create an Enigma Machine
The following are nice to haves but are not the main goals of this project
- See how this can be turned into a unix command line tool to encrypt files (like
openssl
) - Try to break the Enigma Code
- Interact through a command line interface
- Can input either files or type message
- Output to a file or terminal
-
Machine should be configurable using JSON (or some other structured file format)- Configure using command line
- Inputting encrypted text into a machine with the same configuration should result in the plain text being returned
./build/Enigma -f test.txt -d encrypted.txt
./build/Enigma -f test.txt
./build/Enigma hello
./build/Enigma "hello there" # Use quotes for more than one word
./build/Enigma -r1 2 -r2 4 -relf A "hello there"