The Software

We added software components to this machine to validate our encryption, unite separate components, and add digital visualization.

Verify Encryption

Our software duties were split between a Raspberry Pi 2.0 and an Arduino Uno. The Ras-Pi took in input from the keyboard and output the encrypted input based on the data it collected from the plugboard. This verified that our encryption was correct as it was displayed. The encryption was handled by Py-Enigma, an opensource python library that performs Enigma machine encryption. Py-Enigma

Data Visualization

We also decided to use software to write an interactive visualization to accompany the plugboard. This program allows users to see the changes in the plugboard in real time as they change letter combinations. Check out the Jupyter Notebook to see how it works. Github