Skip to content

This Python project simulates the use of an enigma machine, along with an administration of users who can use the software.

License

Notifications You must be signed in to change notification settings

SantiRodas/enigma-machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Enigma machine

Functional program that simulates an enigma machine, managing the users that can log in to the system, and clearly use the available functionalities. The implementation of this software is in Python, and is developed in console.

Parts of the program

  • Part 1:

    • Available features:
      • Password encryption by means of libraries
  • Part 2:

    • Available features:
      • Rotor configuration and basic enigma components
  • Part 3:

    • Available features:
      • Workflow using the 2 previous parts

Using the program

  • Clone the repository
  • Import to the IDE used
  • Run all the file

Tools used

  • Google Collab
  • DeepNote
  • GitHub

Authors


Development

Password encryption (system login) was implemented using 3 security packages: werkzeug, passlib and cryptography. These packages offer libraries that support encryption by means of different algorithms, such as SHA-256. Once this stage is passed, the system executes the implementation of the enigma machine, configuring the 3 rotors, the main carnation, and the basic aspects of its operation. Last but not least, it starts the user flow so that the console can use the functions described above.


Difficulties

In general, this was a project that did not generate major problems, since the security libraries have a good documentation of their functionalities. However, configuring the enigma machine represented a real challenge, since its rotors are highly complex. In addition, its connection with the internal and external configurations, as a student and as an engineer, I had to have a great concentration in the analyzed area.


Conclusions

Security is an issue of great importance nowadays, as many systems use encrypted keys or codes to hide important information. In this way, understanding the algorithm of an enigma machine allows us to know our history as humanity, our history as engineers, and at the same time makes us understand what awaits us in the future. I personally consider enigma to be a great basis for everything that exists at this moment, and the same people who created it or deciphered it (Alan Turing), have left a great legacy in humanity.

About

This Python project simulates the use of an enigma machine, along with an administration of users who can use the software.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published