This is a repository of code written for the Principles of Programming module of my University of Bath Artifical Intelligence MSc.
It involved creating a full simulation of the enigma machine, and then using this to crack some codes.
enigma.py is the simulation of the enigma machine.
enigma_assignment.ipynb includes assignment instructions. This explains the inner workings of the enigma machine. Includes tests to see whether the simulation gives the correct output for various enigma settings. Also includes a series of codebreaking challenges.
CodeBreaking.ipynb consists of my answers to the codebreaking challenges in the assignment.