|Anoraks Corner by Tony
Investigating Rejewski's Characteristics
Marian Rejewski had worked out his theory of Characteristics and by using the Cyclometer had constructed a lookup table with 105,456 entries, a characteristic for each three wheel start combination for all possible wheel orders for three wheels. (26x26x26x6)
The characterisics were built up by following loops of letters from firstly the first and fourth positions in the double enciphered message key. Then between the second and fifth positions and finally between the third and sixth positions.
AXP AVC .. IOV NKZ .. HSA PYT .. PPZ LEX
FZD YQO .. IZL NQL .. NNQ CMA .. GUH BIS
FGT YHD .. KDY GNV .. NBJ COQ .. GOI BKK
MIW MRI .. VWG EZG .. SYX SJB .. TVB KFM
DJG UDG .. OJN QDE .. SNH SMS .. TLI KPK
LNK TMF .. ZAO RXJ .. SXV SVZ .. TYO KJJ
XKN JAE .. CTL OUL .. ERS XWU .. WHJ WBQ
BHG DBG .. CMM OTY .. EAA XXT .. JQR ISH
RZU ZQN .. UKM HAY .. YCE FGR .. JEY ICV
RTC ZUW .. QFF VLP .. PII LRK .. JCE IGP
Here are a set of message keys all enciphered on the same base settings on a German Army Enigma machine as they would have been in 1935, with the double encipherment of the message key.
The sets of six letters are referenced from the top left hand set as 1,1 to the bottom right hand one as 4,10.
In 1,1 the first letter of the message key enciphered into A the first time and A the second time so A is a loop of size 1. But in 1,2 whatever the first letter of the message key was, the first time it enciphered to F and the second time to Y. So F is "linked to" Y through the unknown message key letter.
Then in 3,9 Y->F giving a loop of length 2.
All the other loops can be constructed in this way.
Loops(1,4) (LTKGBDUHP) (XJINCOQVE) (FY) (RZ) (A) (M) (S) (W)
Loops(2,5) (XVFLPECGHBOKA) (ZQSYJDNMTUIRW)
Loops(3,6) (PCWIKF) (DOJQAT) (NERHSU) (VZXBMY) (L) (G)
listed as: (number of loops), (length of each loop)....
Loops(1,4) 8, 9, 9, 2, 2, 1, 1, 1, 1
Loops(2,5) 2, 13, 13
Loops(3,6) 6, 6, 6, 6, 6, 1, 1
These characteristics are independant of the Steckers used.
Next question, how good were these characteristics at finding the Enigma base settings?
First one needs a virtual Cyclometer, this generates a list of characteristics for each wheel order from AAA to ZZZ. The output is big, over 900 kbytes in size for each wheel order. (17,576 lines) (5.4 Mbytes for 6 wheel orders).
Once its in a database you can produce a report reordering it any way you like and print out Rejewski's index of characteristics.
The simplest ordering is:
(number of loops) (loop length)(loop length) ....(Wheel start for this order)
Here is a sort of part of the characteristics table. Click here to see this section of sorted listing.
On examining this sorted list there are a considerable number of duplicates with the same characteristics and all of these would have to be tested on an Enigma machine to find the correct one.
There are 18 entries matching 8, 9, 9, 2, 2, 1, 1, 1, 1
It occured to me that all the available information was not being used about the characteristics for both the current Enigma start and start + 1 and start +2.
It is possible to compose a composite lookup key:
(number of loops) (length of longest loop) for the three successive encipherment positions
8, 9, 2, 13, 6, 6 for the message keys above.
When this is run and the output generated and sorted as above, there are significantly fewer duplicates.
Click here to see this section of sorted modified listing.
The correct Enigma cofiguration for the intercepted message keys is unique.
Wheel order: 132 Wheels start: FUQ
A downside of this method is that it won't work if the Enigma wheels turned over within the six letters of the double enciphered message setting. So that leaves the Steckers to find.
With an Enigma machine set to wheel order 132, rings to ZZZ and start to FUQ try working back from the original repeated message settings.
First sort them into alphabetic order.
AXP AVC .. GUH BIS .. NBJ COQ .. SYX SJB
BHG DBG .. HSA PYT .. NNQ CMA .. TVB KFM
CMM OTY .. IOV NKZ .. OJN QDE .. TLI KPK
CTL OUL .. IZL NQL .. PII LRK .. TYO KJJ
DJG UDG .. JCE IGP .. PPZ LEX .. UKM HAY
EAA XXT .. JEY ICV .. QFF VLP .. VWG EZG
ERS XWU .. JOR ISH .. RTC ZUW .. WHJ WBQ
FGT YHD .. KDY GNV .. RZU ZQN .. XKN JAE
FZD YQO .. LNK TMF .. SNH SMS .. YCE FGR
GOI BKK .. MIW MRI .. SXV SVZ .. ZAO RXJ
wqe wcj not much help there
that's better so reset right hand wheel to Q and key in yyy twice. y entered at position 5 gives Z so I must be Steckered to Z and at the next position y gives E so E must be Steckered to S . Put these Steckers in. Two down four to go.
bna kna not much help
this looks better so reset and key in mmm. this reveals that C must be Steckered to Y and X to V. So put these in.
nal nal looking at the Enigma keyboard this was probably NML as the message setting. In which case A was probably Steckered to M so try this.
xxx xxx confirms we are on the right track.
bbb bbb as does this.
qqq yqq reveals K must be Steckered to R and there it is!
So the base settings used on the Enigma machine were:
132 FUQ . IZ ES CY XV AM KR
All revealed by the early bad selection of message settings by the German Enigma operators.
These were the message keys used.
sss ddd xxx ert
rfv dfg bbb ccc
rtz ooo bnm cde
wer lll aaa qqq
ixp kkk abc qwe
vbn yyy asd gay
hjk ggg ppp mmm
nmp ghj pyx uvw
fff jjj zui uio
fgh tzu eee uuu
These message keys show all the early bad habits of the German Enigma operators.
But this still leaves the finding of the actual ring setting. The setting found from the characteristics was based on a ZZZ ring setting. To decipher the actual intercepted messages the ring setting for the day is required.
This needs a crib for the first three letters of a message. In the 1930s ANX ("to" space) was a surefire guess.
To get the actual rings, first decipher the message key for a message using ZZZ for the rings and the indicator found from the characteristics.
Now put that key onto the rings. Set the wheels to AAA and go through all combinations of wheel starts looking for a start which deciphers the first three letters of the message as ANX.
When a set is found, use the formula: (new ring letter) = 2x(key letter)-(letter just found) to get the actual ring letters for the day.
Thanks to Fritz Bauer and his excellent book, "Decrypted Secrets" (ISBN 3-540-66871-3) for inspiring this effort and providing the example message settings.
This page was originally created by the late Tony Sale
the original curator of the Bletchley Park Museum