History: The rotor machine "Enigma" was brought to this world in
1923 by the German engineer Arthur Scherbius. It was meant to serve as a means
to encrypt messages in the economy area. In the 1930s, the German army
discovered the Enigma, added the so-called plugboard and changed the rotor
wiring. During WW II, the German military used about 100,000 of these
cryptosystems in order to scramble the messages they exchanged with each other.
Construction and function: The Enigma constists, in its main parts,
of the plugboard, the three rotors and the reflector which was meant to redirect
the electrical current. The original Enigma matched every letter that was
entered by means of the keyboard with an encrypted letter by closing an
electrical circuit that is reconfigured after each key entry.
Prerequesites: Mate, I want to be honest: you need a fast system, a
resolution of at least 800x600 pixels, true colors and a Flash plug-in (Version
7 or newer).
A brief example: Open the machine window, click on the "Input:"
textbox and enter "c" on the keyboard. The plugboard leaves C as C while
highlighting the specific wire in RED. The
electrical current then moves to the rightmost rotor, that is, to its letter A.
A is then connected to B. The current enters the middle rotor, that connects G
with R. The third (leftmost) rotor maps V to I. In the next step, the reflecor
maps B to R. Then the current moves way back along the GREEN wires through the rotors back to the plugboard,
where Q leads to Q. As a result, we have the encryption of C to Q.
now enter "c" again, you see that in this case it yields G! This is because the
rightmost rotor moves one step to the left before a letter is entered. Special
case: whenever the right rotor moves from V to W, the second rotor is also
changing its position by one step. This holds true for the middle rotor
accordingly. All in all, the rotors behave like an odometer.
How can I encrypt a plaintext?: At first you have to make up a key.
In this case, a key consists of two parts, at first you decide, which pairs of
letters should be exchanged in the plugboard, e.g. A to B and also F to X.
Secondly, choose the rotor settings at the beginning of the text entry, e.g.
F-E-S. My suggestion is to click "RESET" which puts the whole machine to the
"zero state", now drag the small yellow circle underneath A to B and release the
mouse button. Thus, you have exchanged A and B. Please exchage F and X in that
The mentioned rotor settings are set by pressing the buttons
"<" or ">" above each specific rotor. Each mouse click puts
a rotor one position forward in the indicated direction.
Now key in
"welcome". The line "Output:" should show "DBRZNUP", the cyphertext. Except for
the pure number of letters, the encrypted text really looks somewhat changed,
How do I decrypt a text?: Did I mention that we are dealing with a
symmetric encryption system here? Well, that is the case. Symmetric encryption
means that for encryption and decryption you need exactly the same key. To prove
this in our example, keep the cypertext "DBRZNUP" in mind, clear the entry in
the "Input:" row and key in the above cypher text. It yields "WELCOME", couldn't
Limitations to this model: For those among you who want to know some
more details about the Enigma, I do not want to hide some simplifications I put
into place here. The original Enigma also allowed for changing its so-called
ring settings, which implememted a shift in the alphabet by up to 25 letters.
Finally, there was the four rotor Enigma that was developed in the late years of
WW II in order to protect the Uboat messages even better.
Links: Ok, there is one more nice feature: the rotor wirings that
you see in my model are exactly the same as in the original Enigma. Talking
about the similarity of simulations in comparison to the real Enigma I
definitely have to mention this link (powered by Java instead of Flash). You can compare
the codes of the two simulators, please keep in mind that in the applet, you
have to choose reflector "B" in the "Advanced Settings" pane in order to match
my Flash simulation. The "C" reflector was used in the M4-Enigma having four
Another interesting website is definitely Jim Oram's http://www.enigma-replica.com/, where you can see Jim's
incredible project to reconstruct the four-rotor Enigma (M4)!