Skip to content

mvparker810/enigma_machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

enigma_machine

A modern C++ recreation of the Enigma Machine, the electromechanical cipher device used by Germany during World War II.
This simulator captures the mechanics of the original machine, including the rotors, reflector, plugboard, and cascading offsets.


Usage

Compile and run the project:

g++ main.cpp -o enigma && ./enigma
  • Configure plugboard links
  • Set rotor starting positions
  • Encrypt and decrypt messages
  • Messages must consist of only alphabetical characters (A–Z or a–z). No spaces.

Notes

The encryption is historically faithful but slightly simplified. Double-stepping and ring settings are not implemented (by design). Reflector wiring is psuedorandomly generated but always remains an involution.

Inspiraton

This project was inspired by the excellent video "How the Enigma Machine Works" by Numberphile, which breaks down the fascinating electromechanical design behind one of history’s most famous cipher machines:

https://www.youtube.com/watch?v=ybkkiGtJmkM&t=525s

About

A modern C++ recreation of the Enigma Machine, the electromechanical cipher device used by Germany during World War II.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages