Enigma procedure (1930-1931)


Enigma Home Page

Introduction

When the Enigma I was put into service in 1930 in the German Army (Heer), users were given two manuals, one describing the machine and its handling, the other describing the procedures, including the transmission of the message key. This second manual, was called “SCHLÜSSELANLEITUNG für die CHIFFRIERMASCHINE “ENIGMA”

Networks

In the manual that describes the procedure, it appears that the entire army at the time formed a single network and therefore associated with only one key table. It is well specified that the Enigna can be used for particular networks, for example for maneuvers and that then a specific key table could be used but without specifying techniques for distinguishing networks.

Here is an example of an array of keys. It contains all the keys for each day of the month. This table is given to all Army Communication Centers before the start of the month. Each month, the centers receive a new table of keys. Note that the order of the wheels (Walzenlage) is the same for all days of the month. In fact it was the same for a whole quarter. Likewise, we also note that in the early 1930s only 6 steckers were used. Finally, although it does not appear on the table, at the time the Germans used the reflector (UKW) A.

Note: The following table has been reproduced in accordance with the instructions for use of the Enigma. No genuine key-list from 1930 has been found.

     Heeres M. Schlüssel für Monat September 1930
               Walzenlage II I III
     Ringstellung
Datun II I III   Grundstellung       Steckerverbindungen
 31    8  8  1   10 25 20  24/25  4/19  5/16 17/21 20/26  2/7
 30   15 19  9   18  3  6   5/6  18/23  1/14 19/22 16/26  2/20
 29   12 10  1    4 10  2   6/14 11/26  8/15  4/24  1/21 18/19
 28    9 20 21    2 17 23   7/8  14/20  3/5   1/9  23/25 11/12
 27   11  5 23   17 13  6   3/11 14/15  2/16  7/19 24/26 17/25
 26    8  8 23   11  2  8   6/21  1/9  13/26 10/16 19/24  7/17
 25   21  8  1    4  5 20   4/15  9/18  2/12 19/26 10/11  1/7
 24   19  2  4    2  5 11  23/26  1/6   4/20 16/25 15/18  3/11
 23   14  4  8   26  5 16   3/26 17/24  5/10  1/23 20/22  6/7
 22   13 19 25   10 20  6  11/20 12/15 18/23  1/14  5/13 16/21
 21   22  7 26    7 23 20   9/17  1/24  2/7  13/19  3/25  5/16
 20    2 19 17   26 20 14  18/21  2/4  11/20 12/23 13/22  3/6
 19   26 26 12   23  2  6  15/23  8/21  9/22  1/5   7/18 13/20
 18    4  9  3    1 17 10  13/25 14/26  9/11 20/21  4/12  1/23
 17    9 23 11   12 14 17  16/23 11/12 19/20 13/22  1/3  15/24
 16   13 11 10    6  7 16   9/24  3/10  5/7   2/11 12/17 13/18
 15   21  2  6   23 11  8   8/16  1/2   7/10 20/23 15/24  4/9
 14   18  2 11   26  5  2  18/19  9/12 14/26 10/22  1/23 11/24
 13   23 20  9   23 23  5   6/10 14/21  8/11 13/22 12/20  1/19
 12   10 15 17    7 19  6  10/19  2/22 14/24 12/21 13/25  1/5
 11   25  7 15    3 12 23  16/19  5/15 21/23 17/24 13/25 11/22
 10   24  1 17   26 18 23   4/13 12/24 20/25 16/26 22/23  7/19
  9    9  1 19   20 11 15   5/17  8/19  7/16 14/26  4/24 20/22
  8    3 15 10    2  8 16   3/10  4/7  18/25 17/26 15/21  6/23
  7   21  2 13   10 13 25   1/7  11/17 16/26 10/14 12/24  6/18
  6    4  6 22   22 18  5  12/25  3/11 16/17  4/10  7/13  2/24
  5    7 17  6   22 13  2   9/21 15/23  2/17  6/12 20/25 10/22
  4    9  1  2    2  9  6   2/14 13/25  5/23 10/21  6/26 11/22
  3    6 20 18   14 14 19   2/16  9/21  1/8   3/23  5/24  7/15
  2    4 26 26    9  4 14   8/18  2/24  4/23  7/25  3/5   9/26
  1    3 14 17   17 21 21  13/18 15/17  1/8  21/22  4/25  3/6
Depending on the Enigma models, the letters that identified the plugs, the position of the rings or that of the rotors were written in either letters or numbers. The same was true of the letters in the key tables. In the cover of the Enigma was specified the letter / number translation table.
A:1, B:2, C:3, D:4, E:5, F:6, G:7, H:8, I:9, J:10, K:11, L:12, 
M:13, N:14, O:15, P:16, Q:17, R:18, S:19, T:20, U:21, V:22, 
W:23, X:24, Y:25, Z:26.

Encryption example

Suppose that on September 28, we have the following message to send (the letter “x” used to encode the spaces):

All x legislative x powers x herein x granted x shall x be x 
vested x in x a x Congress x of x the x United x States x 
comma x which x shall x consist x of x a x Senate x and x 
House x of x Representatives x 
  

The cipher clerk begins to set his Enigma (28 Sep.): Walzenage: II-I-III, Ringstellung: ITU, Grundstellung (initial position of the rotors): BQW, Steckerverbindungen: GH NT CE AI WY KL. Then he chooses a message key, for example USA. He encrypts this key twice (USAUSA) and he obtains the following indicator: JCJQVF .

Then he set the positions of rotors to the USA and encrypts its message. He obtains the crytogram: SQDABZJPARXOF…

Finally he transmits to his correspondent the following message which begins with the time of the message (10:45) followed by the number of characters of the message (162), and finally a number of three random digits (for example 371) . This header is followed by the cryptogram preceded by the six letters of the indicator (JCJQVF).

1045 - 162 - 371
JCJQV FSQDA BZJPA RXOFN KECXF RJDWP TPHQX WBGUI ANYYC SFUZK
PDBAX AGWZB LOFLE ZLLTD JXBAF QAPJF PDDPV IXVXF PYRVW ONOJF
SRVEI LSXLC AIKXI UCUKI UNXFQ FDSEX XWGTC VOPCW ZCONO KBVUK
VCRZI IWWFJ CZ
If a message is longer than 180 letters, it may be subdivided. The 2nd or 3rd part must be encrypted each time with another message key to be concealed in the manner described.

After completing the encryption, the last numbers appearing in the windows are to be changed by any rotation of the rotors. Thus, we will not use this key (the position of the rotors at the end of the message) for the following message. Otherwise it is as if we had not divided the message into several parts.

Decryption

Here is a message received on September 29 by our cipher clerk. It's up to you to decipher it!

19:25 - 106 - 926
ASJFW TTOJC MPFLE FRKME ECXYN XRRDB KVOIG WJCXG UUTCF DIDGL
IEOBD TXHHN MVSWY PHGOM UJYVO SDGLV VMUUM IAODV TOMDU CPKBG
HROHA P

Drafting

The bigram “ch” must be replaced by “q”.

The letter ß (Eszett) is replaced by “ss”.

The the umlauts are replaced by two letters: “ä” by “ae”, “ö“ by “oe”, “ü” by “ue”.

The punctuation (dot, comma, ...), if necessary, are remplaced by “x”.

The numbers are written in full: 1: eins, 2: zwei, 3: drei, 4: vier, 5: fuenf, 6: seqs, 7: sieben, 8: aqt, 9: neun, 0: null.

Emergency procedure

In the event of compromise, for example the key tables have been captured by the enemy, the Emergency key will be used immediately at own initiative, otherwise at the direction of the superior. The Emergency key is a quarterly changing keyword; this must be kept in mind or may be noted down — scattered in any value — obscured.

The Rotors position and ring position are obtained depending on the month in which it must be used. The monthly word, which is converted into numbers in the manner known in the case of emergency key formation, results in a specific sequence of the numbers 1, 2 and 3; e.g. from the word “Juli” (July), give 2 4 3 1 (“i” is the first letter in alphabetic order [1], then “J” [2], then “l” [3] and “u” [4]). Consequently, the rotors order is II – III – I. The ringstellung is given by the three first numbers: 2 4 3 (BDC).

The plug connections are determined by the keyword. For example: “Niemand ist mehr Sklave”.

The double occurring letters are crossed out, so that it remains: N I E M A D S T H R K L V

The numbers corresponding to these letters on the connector board are: 14, 9, 5, 13, 1, 4, 19, 20, 8, 18, 11, 12, 22

To get the steckers, we take the first six pairs of numbers: 14/9, 5/13, 1/4, 19/20, 8/18, 11/12

To obtain the Grundstellung, we take the first three numbers: 14 9 5 (NIE).

The application of the Emergency key is indicated by the fact that before the content of the message instead of the three-digit Number a randomly selected two-digit number is set.

Annex

In fact I used my Enigma simulator to cipher messages:

$ echo USAUSA | python3 M3.py A II I III GH:NT:CE:AI:WY:KL ITU BQW
JCJQVF
$ cat MSGS/message.txt
All x legislative x powers x herein x granted x shall x be x vested 
x in x a x Congress x of x the x United x States x comma x which x 
shall x consist x of x a x Senate x and x House x of x Representatives x 

$  python3 M3.py A II I III GH:NT:CE:AI:WY:KL ITU USA < \
   MSGS/message.txt > MSGS/message.cry
$ echo JCJQVF $(cat MSGS/message.cry ) | python3 groupe.py
JCJQV FSQDA BZJPA RXOFN KECXF RJDWP TPHQX WBGUI ANYYC SFUZK
PDBAX AGWZB LOFLE ZLLTD JXBAF QAPJF PDDPV IXVXF PYRVW ONOJF
SRVEI LSXLC AIKXI UCUKI UNXFQ FDSEX XWGTC VOPCW ZCONO KBVUK
VCRZI IWWFJ CZ