How to use the Enigma Emulator to encode and decode messages.

Selecting a Machine: M3 or M4

You will need to know which machine you are using, the M3 or M4 Enigma machines. The M3 machine uses three wheels (out of a selection of eight) and a reflector (a choice of two, "B" or "C"). The M4 machine uses four wheels, the first three being the same as the M3 enigma and the fourth being selected from a choice of two "Greek" wheels, "beta" or "gamma", as well as using a thin reflector from a choice of two ("B" or "C" again, although these are wired differently to the M3 reflectors).

The M3 machine was used by the German navy during the first part of WWII and is compatible with the army and airforce machines. The M4 machine was only used by the navy and is not generally compatible with other machines [note 1].

If you are the one enciphering a message, then you have a free choice of machine. If you are deciphering a message, then look for a fourth rotor setting ("beta" or "gamma") and you will know to use the M4 machine, otherwise use the M3 machine.

Encoding a Message

If you intend to actually send encrypted messages, make sure your recipient knows the chosen machine settings in advance!

  1. Choose an umkehrwalze.
  2. Choose your walzenlage.
  3. Enter three letters for the ringstellung. [Note: four letters if using the M4 machine]
  4. Enter three letters for the initial grundstellung. [Note: four letters if using the M4 machine]
  5. Pair up some letters for the steckerbrett. You do not have to pair up all the letters.
  6. Choose three letters for your operator's machine setting (e.g. "QMT") and type it into the machine, noting down the encoded letters that come out.
  7. Reset the grundstellung of the three numbered wheels (not the "Greek" wheel if using the M4 machine) with the encoded version of chosen operator's machine setting. The wheels are set left to right.
  8. Now you can enter the actual message.
  9. When transmitting the message to somebody, remember to add the clear text (non-encoded) operator's machine setting ("QMT") to the beginning of the message text.

Remember - if you are sending secret messages to your friends, you probably want to make sure you are all working with the same set of machine settings. You could create your own code books, but make sure that they don't fall into the wrong hands!

⇑ Back to Top

Spacer/Stop Character

To add a stop between words or sentences you can use an "X" character. For example:

MEET AT STATION X RED HANKY LEFT POCKET X BRING PLANS

It's not essential, but it helps. If when decoding a message you have Xs in the middle of the text, you know it's indicating some sort of stop.

⇑ Back to Top

Encoding Numbers

You may be wondering how to encode numerals, because only letters can be entered on the keyboard (the real Enigma keyboards only had letters too). Well, you could spell out the number, but this would make your coded transmissions too long (the longer a sequence the easier it is too break), not to mention tedious! This problem was sorted out by using a number code, with the top row of letters representing the numbers from one to nine, and the letter "p" representing zero (see figure 1).

The Enigma keyboard showing the letters which double as numerals.
Figure 1: An Enigma keyboard showing the letters used as numbers.

To include numbers in your message, you first need to indicate that you are about to use a number by entering the letter "Y" before each number. So, to encode the number 5 in your message you would type in "YT", the number 6 would be "YZ", and 42 would be "YRW".

When you are receiving a message, if your decoded text has a series of seemingly indecipherable characters, like "YQRT X YYE" you know that the Y indicates the start of a number and the proceeding letters correspond to those numbers. The "X" is the stop character, previously mentioned.

⇑ Back to Top

Letter Blocks

One final thing you can change is the size of letter blocks in the output. The default is 4 letters to a block, but you can select a different number from blocks of 3 to 6 letters. The widget to change this option is below the text in/out boxes.

3: THE QUI CKB ROW NFO XJU MPE DOV ERT HEL AZY GAT E
4: THEQ UICK BROW NFOX JUMP EDOV ERTH ELAZ YGAT E
5: THEQU ICKBR OWNFO XJUMP EDOVE RTHEL AZYGA TE
6: THEQUI CKBROW NFOXJU MPEDOV ERTHEL AZYGAT E

It does not matter what you choose as far as deciphering the message is concerned, it's a personal preference.

⇑ Back to Top

Decoding a Message

We shall use the following example message:

1   2             3     4     5
B   II. IV. I..   ENI   GMA   AS BY CQ EH FP IJ KN LV MR TX

6  7
STXCO WAQMC VGFWU KMEFJ AWCOD DWEXF SDKMN MIUGQ RJULT IWM

The top line (excluding the blue numbered lines) consists of the machine settings that were laid out in code books with different settings for each day (the sender and recipient would obviously be working from the same code book). The bottom line is the message itself, the first three letters of which is the message setting chosen by the machine operator (the sender). I know it looks complicated, but let's break it down (numbers in brackets refer to the numbered section of the code):

  1. The first thing to notice is that there are only three wheel settings [2], so we are using the M3 machine. The section on selecting a machine will explain more.
  2. Select the umkehrwalze [1], our setting for today is "B". [This will be "B (thin)" or "C (thin)" if using the M4 machine]
  3. Select the walzenlage [2] - the wheels are set from left to right. Today the wheels we need are 2, 4 and 1.
  4. Enter the ringstellung [3] - again from left to right. Today the letters are 'E', 'N' and 'I'. Sometimes the letters are represented by numbers, so 'E' would be represented by 5, 'N' by 14 and 'I' by 9.
  5. Enter the initial grundstellung [4] - left to right again. Today it's 'G', 'M' and 'A'.
  6. Enter the steckerbrett pairings [5] - there are 10 pairings today, from 'AS' to 'TX' - so for 'AS', find 'A' and type an 'S' in the box under it, the box under the 'S' should then be completed automatically (if not, manually enter 'A' in the box under 'S'). Do this for each pairing.
  7. Now we need to obtain the operator's chosen message setting. This should be the first three letters of the transmitted code [6]. You type in those first three letters using the Enigma machine keys, in this case enter 'STX' into the "Type Letter" box, and note down what they are deciphered as (in the "Cipher/Clear Text Out" box). I'll tell you for this demonstration, the deciphered letters are 'DWK'.
  8. We now need to change the grundstellung to our new letters (the deciphered message settings). So enter 'D', 'W' and 'K' into the grundstellung (left to right).
  9. Now you can type out the rest of the coded text [7] to decipher the top secret message!

If when you have decoded a message, you have Xs and Ys in the middle of you text, and some bits that don't seem to have decoded properly, then your message probably contains stop characters and numbers.

You can also choose the size of letter blocks in the output (the default is 4).

If you have a setting showing a Greek letter "beta" or "gamma", then you are using the M4 machine, and there should be four ring and ground settings. The operator's message setting will still be three letters and will only apply to the three numbered wheels as with the M3 machine.

⇑ Back to Top

Save/Load Message Settings

The Save Settings option allows you to save your umkehrwalze, walzenlage, ringstellung, grundstellung and steckerbrett settings for future use.

You can only save your settings before you start encoding text, because otherwise you're not saving the initial positions of the various wheels.

Saving Settings

  1. Set up your initial Enigma settings.
  2. Click on the "Save Settings" link.
  3. A link will appear, which you can add to your bookmarks folder.

Loading Settings

To reuse your saved settings click on the bookmark you saved. Your settings should automatically appear.

⇑ Back to Top

Glossary of Technical Terms

To add authenticity, I have used many of the original German words when referring to parts of the Enigma machine.

Stator / Entrittswalze (ETW)
Static Wheel
Umkehrwalze (UKW)
Reflector Wheel
Walzenlage
Wheel Order
Ringstellung
Ring Setting
Grundstellung
Ground Setting (start position)
Steckerbrett
Plugboard

⇑ Back to Top

Notes

Note 1: M3/M4 Compatibility

The M4 Enigma was actually built to be compatible with the M3 machines by using certain settings. The three numbered wheels are selected as normal, but for the reflector, you have to match a thin reflector to a Greek wheel in a particular position.

  • To Match Reflector B: Use thin reflector B and the "beta" wheel. The wheel must be set-up with the ring setting and ground (start) setting of "A"
  • To Match Reflector C: Use thin reflector C and the "gamma" wheel. The wheel must be set-up with the ring setting and ground (start) setting of "A"

You can then use the M4 enigma to encipher/decipher M3 messages. (Back to Text)