I am trying to build a simulated enigma machine.I am basing it off of this one https://www.101computing.net/enigma-machine-emulator/

I have setup the 3 rotors and I am having trouble understanding the rings and rotations. For example I have set the rotors to III,II,I with the 3rd rotors having a ring setting of AAB. If you enter and A then the output is a N. My simulator agrees with this.Then if you enter an A again the output is F. I followed my simulator through it process.


Rotor I (right most) rotates its keys to become JEKMFLGDQVZNTOWYHXUSPAIBRC. Then the A changes to a J.


J passes through the next 2 rotors to end up as a C.


This C is then passed through Rotor 1 in the reverse direction to give the final output. The example outputs F. My simulator matches the output of the example up to here.How does C become F on Rotor 1 with position AAC in the reverse direction.Any help understanding how the rings and rotations affect the rotors would be appreciated.I have read How does the ring settings of enigma change wiring tables? and I understand most of K Rossers answer until the final reverse output from the rotor.


I think the steps on these images will remove your confusion. Concentrate on the fast rotor and remember that only 3 rotors are rotating, the other 2 permutations are fixed - reflector and steckerboard.

enter image description here

Now, press $A$ on the keyboard and see the path. Watch the connections and the status of the fast rotor.

enter image description here

After this, the fast rotor will advance ( if necessary the medium and slow, too, here only medium and fast) and the re-entering $A$ will follow the below path.

enter image description here

The curial points are those;

  • after a keypress, the permutation changes. Notice how the slow motor moves up and the wirings follow.
  • The letter of the rotors indicates the position. At each point, the connection to the next rotor is kept ( the straight lines with bold connector).
  • The internal wirings ( permutation ) changes the input and output at each step. There are 26 possible permutations for a rotor. This is the way Enigma confuse the data. Select a different permutation for every input. That is, however, is not enough to be secure.
  • The below image is also may help to grasp the actual rotor motion.

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.