A C/C++ implementation of the historic Enigma machine — the cipher device used by Nazi Germany during World War II. The project relies solely the core mechanics of the original machine, including rotor substitution, stepping, and reflector logic, providing both encryption and decryption functionality. Rotors are fully customizable, allowing users to configure wiring, starting positions, and ring settings to simulate different Enigma variants.
- C or C++ compiler (e.g., GCC, Clang)
Clone the repository and compile the source files using your preferred compiler. For example:
git clone https://github.com/testroyer/enigma.git
cd enigma
make Or manually, with GCC:
g++ ./src/*.cpp -o .build/enigmaOr with Clang:
clang++ ./src/*.cpp -o ./build/enigmaTo clean:
make cleanRun the script after compiling
make runOr manually:
./build/enigmasrc/— Source codebuild/- For compiled programsexternal/- For git submodules
Contributions are welcome! Please open issues or pull requests.
See the LICENSE file for details about this project's license.
This project is currently under GNU GENERAL PUBLIC LICENSE v3.0


