/Enigma

Fully customizable enigma simulator for encoding and decoding messages knowing the historical Enigma settings.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Enigma Simulator

Description

This is a basic project to replicate the functionality of the original Enigma machine in simulation. This is not a replication of the code breaking work that was developed to break the Enigma code, though I hope to tackle that at some point. More directly, this project was a chance to work with some different approaches to design patterns. The choices I made then are perhaps not the choices I would make now; the problem, however, is a great one for thinking about design as the components themselves are relatively simple but need to interact in interesting ways.

Setup

Dependencies

  • Python >= 3
  • numpy

Executing program

The default main block will print a historically encoded message and render it into the original German.

python Enigma.py

Authors

License

This project is licensed under the GPL3 License - see the LICENSE.md file for details

Acknowledgments