Build an enigma machine using python

Job ID: 32077985

Budget: $10 – $30 USD

develop a software that implements the Enigma encryption machine used by the German military in World War II. software should be able to encrypt/decrypt text using the Enigma cipher, including the spindle, rotors, reflector, notches, and a preset rotor setting of the Enigma machine, and have appropriate testing, version control and documentation. software should permit the change of the rotor setting each time. the design of Enigma rotors should allow both uppercase and lowercase letters in addition to numbers. solution should have 5 rotors out of which you choose (using a key) only three of them in the encryption. You should submit a report (around 1500 words) in PDF format, that includes the following:
1. Introduction to your solution written for a user.
2. Instructions for using your software.
3. A table of unit tests.
4. A link to your repository - make sure you link to a tag or commit that is dated
before the deadline
5. A description of the data structure you have used, and calculator of the efficiency
of the algorithm.
6. Source code.