This guide shows how to operate the Arduino Enigma Simulator and encrypt your first message.
This screen clarifies that this device is for educational, historical and entertainment purposes. The encryption principle implemented has been broken many times in the past.
A list of online resources that provided information used to build this implementation are listed.
Touch OK to continue to the main screen.
To start encoding a message, press and hold the keys at the bottom of the screen, the wheels will move, a lamp in the middle section will illuminate for as long as the key is pressed and the corresponding character will also be printed in the tape running above the lamp field. Once the key is no longer pressed, the lamp will turn off.
The default setting of AAAA can be changed by dragging the rings to the right of the corresponding letter up or down.
Encoding a message with the default settings is no fun, so let's touch the Enigma logo to open the machine and be able to change the rotors.
The machine is now open, notice that the bulbs in the lamp field are exposed, the rotors are shown, the printer, texture, serial port functions can be changed and a box of spare rotors is shown at the bottom of the screen.
To start changing the rotors, the ones installed must first be removed, to do so, touch the letters in the rotors to be removed.
Once a rotor is in the intermediate position above the lamp field it can be placed in the machine if there is an open space or back in the spare box.
This can be used to change the position of a rotor without putting it back in the box. For example to move Rotor III from the rightmost position to the second position, touch the rotor and then touch the empty space in the rotor mechanism.
The next step will shown how to set the machine to use reflector C, greek rotor Beta, and rotors VII, VIII, VI. Inner rotor setting will be set to PLUS, outer settings to BIKE.
To change the inner setting, touch the contacts of the rotor and while pressing down, slide around the wheel until the desired letter is shown. Sliding in a clockwise direction increments the setting. Doing so in a counter-clockwise direction decrements the setting
Changing the inner setting changes the letter substitutions performed with the same visible letters on the wheels. The turnover point for the rotor, the letter at which the rotor to the left is advanced is not affected by the inner setting.
The rotor selection and placement can be done in any order, not necessarily the same order shown here.
After the reflector is changed, we can either close the machine or install some plugs in the plugboard. To do so, touch the plug area below the spare rotor box.
Start installing a plug from J to U by touching below the J.
A strip of paper will be shown below the plugboard showing the order in which the plugs were installed. When an Uhr unit is not used, JU is the same as UJ.
When using the Uhr, the order of the plugs does matter. That is why they are shown below the plugboard.
To remove a plug, touch either end. At this point to remove this plug, touch either the area below the J or below the U.
LY NE XT QR BA DF OS KI
Lastly, install the plugs for VW
An Enigma machine shipped with 10 jumpers, If more or less are used, the Uhr unit will not be shown.
To set the Uhr, press anywhere in the outer circle and while pressing, slide along the outer line in a clockwise or counter-clockwise direction until the desired Uhr setting from 00-39 is showing.
The Uhr unit was wired in such a way that when in the 00 position, is behaved like a set of plugs, A was exchanged B and viceversa, The next three settings would disrupt the symmetry of the plugs, A would be connected to K, but K would connect to Y. Settings that were multiple of 4 (4,8,12...) would regain reciprocity, however the letters swapped would be different of the plugged pairs, A and J would be swapped.
The actual plugboard substitution can be seen if the arduino is connected to a computer, the serial function of the Arduino Enigma Simulator is set to V (verbose), and a monitor program is opened with 9600, 8, N, 1
To return to the previous screen, touch the enigma keys at the top.
We can now change the default starting position of the machine shown upon power up by touching and dragging the rings to the right of the rotor letters.
The machine options shown to the right of the rotor mechanism can also be set.
Touching the printer text changes from No, to 0,4,5,6. No printer is shown when in NO, if 0 is shown, the characters are not grouped, otherwise they are shown in groups of 4, 5, or 6 characters.
Touching the texture text changes from No, to 1, 2. No texture is shown in the main screen when in NO, a fine texture is shown in 1, a coarse texture when in 2.
Touching the serial text changes from No, to V, to C. Nothing is shown thru the serial port when in NO. The V option (verbose) shows the wheel types and substitutions performed, the characters swapped by the plugboard/Uhr combination and the internal path the letters follow.
The C option for the serial port allows operating the coding function of the Enigma machine through the serial port. The machine has to be closed (Enigma logo showing). The operator sitting at a computer can change the wheels by sending a ! and then the wheels. For example, to set the machine to BIKE, send !BIKE, to set an M3 machine to CAB, send !CAB. Extra characters after the wheels are coded with the settings in effect at the moment. To set the wheel types, internal positions, plugs and Uhr, physical access to the Enigma screen is needed.
Touching the close text checks if all the wheels are installed and closes the machine.
The i to the right of the word Close shows the about screen.
Set the wheels to BIKE by dragging the rings until the desired letter is in the center of the screen.
The settings will be saved to non-volatile memory and retained when the power is off. To clear the last used settings, select different wheels.
If power is removed at this point, when powered up again, these settings will be reloaded, if this is not desirable, open the machine again by touching the enigma logo and change the wheels. Also, touch the plugs and scramble or remove them altogether.
To start encoding text, press the keys at the bottom of the screen, the wheels will turn, then a lamp in the middle representing the encoded character will illuminate, the same character will be simultaneously printed if the printer is enabled,
You can use Daniel Palloks Universal Enigma to verify the encoding
M4 "Shark" U-Boats
Wheels: C.Beta VII-VIII-VI (B,I,K,E) / Rings: 16 12 21 19 / Plugged: JU LY NE XT QR BA DF OS KI VW /Uhr=17
You are now ready to change the settings and operate the Arduino Enigma Simulator