/newtonhacks2020-enigma

Enigma machine made for the newtonhacks 2020 hackathon

Primary LanguageJavaScript

THIS REPO IS ARCHIVED.

NewtonHACKS 2020

The Turing Point Project

Inspired by our love for cryptography, math, and computer science, we decided to challenge ourselves and code the Enigma Machine.

Inspiration

Cryptography has always been an interest for us. We decided to combine all our interests into something that is applicable but new for us.

What it does & How we built it

On our website, there is a lesson page with resources and our interactive Enigma. We used React to code our project. Coding the Enigma Machine was definitely a challenge as majority of us never used React before. In 8 hours, we learned the importance of planning and brainstorming, realized the beauty of the Enigma Machine, and had a lot of fun learning together.

Challenges We Ran Into & Accomplishments

There were many challenges we faced from rotors not shifting to the plugboard that we didn't get working in the end. Our proudest moment though was when we finally got the rotors to shift after every letter. When we typed "hello" for the first time and we saw that "ll" were two different letters felt like the sun shining after a rainstorm :

Application

We wanted to design our project as a virtual lesson, with research and pictures to engage people and their interests in cryptography. Our website could be used in classrooms or at home to help students (and everybody) experience the mystery of what seemed like an impossible and unbreakable machine.

Future Plans

There was a lot of things we wanted to add that we didn't have enough time for!

  • Sorting out the kinks in the rotors: We faced mountains of obstacles trying to code the rotors. The constant shifting, the three rotors, and the reflector were just some issues we had and wish to improve upon.
  • Parts of the Enigma: There are parts of the military grade Enigma we did not have time to add such as multiple rotors and different starting positions
  • User Interface: As an interactive lesson, we would like to add more interactive parts and make the lesson more accessible for everyone.
  • Integration: We would love to implement our project in our schools and spread the word about the Enigma. The Enigma was and is a great introduction that inspired us to learn more about cryptography. We hope to spread the word about cryptography and possibly create more lessons about cybersecurity.
  • Fun Parts: If we had time (which we didn't), we wanted to include a secret puzzle hunt throughout the lesson. There would be word puzzles, imbedded codes, and a chance to use the Enigma for something fun!

Final Takeaways

In the end, we couldn't finish our project in time but we came to terms with that at 6:15 and we had to submit our code. Learning React in less than a week was thrilling and reading about the Enigma was both intriguing and fascinating. This was the first hackathon all of us attended and we had a great time collaborating together. We are definitely going to join more hackathons in the future!