Enigma/Sending and Receiving Messages

From Franklin Heath Ltd Wiki
Jump to: navigation, search

Using an Enigma machine to encrypt a message lets you send it to a recipient who would can decrypt it, while an enemy intercepting the message can't decrypt it. To successfully decrypt the message, the recipient must use a compatible model of Enigma machine, with the same machine settings, with the same message key.

The method of communicating the settings and message key is called the indicator procedure and the Germans used several different methods before and during World War II. Security weaknesses in these indicator procedures were one of the main ways in which the Polish and British codebreakers were able to decrypt intercepted messages.

Machine Settings

Tables of machine settings for each day of a month were created and physically distributed in printed form. Different tables were used for different "networks", representing different branches of the armed forces.

There is a special page on this wiki which you can use to generate tables of random machine settings:

A wireless station could have been part of more than one network, so the first part of the message (along with the date) would typically include a code (the discriminant) indicating which network, and hence which machine settings, it was intended for.

Message Key

The simplest thing to do would be to transmit the message key (the letters showing in the rotor windows) in plain text at the start of each message. Such a plain text transmission would be called an initialisation vector in modern encryption algorithms and is accepted security practice. In the case of the Enigma, however, the message key was regarded as part of the secret shared between sender and receiver, therefore it was encrypted before sending.

Encrypting the message key doesn't add a lot of security (mathematically it contributes less than 10 bits to the effective key length) and, given the security problems flawed indicator procedures caused in practice, the Germans may have been better off not doing it!

Up to 1938, the German army procedure was to set a fixed starting position for the rotors (part of the day's settings) and to use that to encrypt the message key twice (to detect keying or transmission errors) at the start of the message. This had two security problems that were subsequently corrected: from September 1938 they switched to the operator choosing a different starting position for each message (in effect, an initialisation vector) and transmitting it before the encrypted message key; from May 1940 the operator encrypted the message key once only.

After encrypting the message key, the operator turned the rotors to show the letters of the message key before encrypting the message body.

Sending and Receiving with the Simulator

To send and receive encrypted messages with the simulator, you need to do essentially the same things the real Enigma operators did. First agree which machine model and settings you are going to use; the simplest option would be to use the settings from one of the save files pre-installed in the simulator, but sender and receiver can make up their own settings together and each save them on their own device, or share a key phrase password and use it with the settings generator pages linked to above.

To send an actual message, follow these steps:

  1. Load the file with your agreed settings into the simulator.
  2. Choose 3 (or 4 depending on how many rotors your machine model has) letters as your random start position and turn the rotors to these letters. Note down this start position.
  3. Type 3 (or 4 as appropriate) new letters for the message key. Remember these letters! Note down what letters are printed on the tape.
  4. Click the tape and Clear it, turn the rotors to the message key you chose in step 3, and then type your message.
  5. When you have completed the message, click the tape and select Send.
  6. Choose which messaging app you want to use and enter the address of the recipient.
  7. Add the start position you noted down in step 2, and the encrypted message key you noted down in step 3, at the start of the message.
  8. Send the message!

The recipient then follows these steps:

  1. Load the file with your agreed settings into the simulator.
  2. Turn the rotors to the first 3 (or 4) letters of the message.
  3. Type the next 3 (or 4) letters from the message to get the message key.
  4. Turn the rotors to the message key.
  5. Copy the rest of the message text from your messaging app; a long press on the text will usually give you a Copy option.
    (You may need to copy the full message, paste it in to a new message so you can edit it, delete the first part that you don't want and then copy it again.)
  6. Switch back to the simulator, click the tape and Paste.
  7. Read the message!