Classical Enigma Machine
A course project where I turn the physical cryptographic device, the Enigma machine, into a desktop app.
What it is
An Enigma machine application will allow users to encrypt messages for communications that they wish to remain somewhat private between two ends, reducing the risk of the message being intercepted or being exposed to unwanted third-parties. The primary target users of this application are the people who likes code cracking as a hobby, the amateur cryptologists, and the people who want to maintain a low-level security for their communications.
Highlights
- Digitalized a German cryptographic device used during WWII, and expanded the functionality to incorporate more input/output characters subject to user customization.
- Utilized JUnit testing library to ensure the correctness of each class method, and guaranteed data persistence with JSON for users to load or save at each session.
- Designed a GUI using the Swing library in which users can interact with the functions of the program.