Virtual Wartime Bletchley Park by Tony Sale
Print Return


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.

Here are the same message settings enciphered at the same Enigma base settings, but with no Steckers.

PZZ LKR .. ZOX NRI .. LQD TEO .. MJI MDV
OIM QQT .. ZIL NQL .. NNQ YAM .. IMO KVJ
OGS QHK .. RDC GNX .. NBV YOB .. IOP KRY
AVN AXS .. XWG SIG .. WHJ WBQ .. TXB RFA
CQE FEU .. FPW CSZ .. WNO WAJ .. TLP RPY
HNR PAF .. GUH BZE .. WZX WKI .. THH RBE
VRW JMZ .. YTL OUL .. SKE VWU .. ECV EJB
BCO DJG .. YAA OTC .. SUD VZO .. JEK ZCH
KIU IQN .. URA HMC .. DYT UGD .. JFC ZLX
KTY IUW .. QSF XYP .. MVP MXY .. JYF ZGP

The number and length of the characteristic loops are the same but the letters within a loop are different.

Loops(1,4) (PLTRGBDUH) (OQXSVJZNY)(A) (W) (M) (E) (KI) (CF)

Loops(2,5) (ZKWIQECJDNATU) (GHBORMVXFLPSY)

Loops(3,6) (SKHEUN) (XIVBAC) (ZRFPYW) (MTDOJQ) (G) (L)

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).

It was not thought feasible to download this from the web so Javascript procedures within an HTML document allow the lists to be recreated in the users PC. This takes about 3 minutes on a 300mHz PC for one wheel order. The virtual Cyclometer allows a partial list to be created covering the expected Enigma base configuration. Wheel order 132, start FAA end GZZ covers this and results in a manageable output.

The output within the HTML document can be printed, (about 20 pages for the partial list)

This printout is in wheel start order. What is required is a reordering into characteristics order to recreate part of Rejewski's characteristice index. Unfortunately saving the HTML document does not save the generated list, just a blank page, so subterfuge has to be used.

Set one of your printers to "Generic/text only". Now print the HTML document containing the generated list by setting "Generic" as printer and ticking the "print to file" box. Set a folder and file name when asked and print. The HTML generated output ends up in a text file in Mail Merge format.

Now you can create a form in your favourite Data Base for each field in the listing and input the saved data into it.

Once its in the 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)

Click here to run the Cyclometer. 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.

A different Javascript procedure produces a listing of these for each wheels start positions.

When this is run and the output generated and sorted as above, there are significantly fewer duplicates.

Click here to run the modified Cyclometer. 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


AXP AVC
wqe wcj not much help there

GUH BIS
yyy ylr
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.

NBJ COQ
bna kna not much help

SYX SJB
mud mmm
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.

BHG DBG
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.

HSA PYT
xxx xxx confirms we are on the right track.

NNQ CMA
bbb bbb as does this.

TVB KFM
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.


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, and Secretary of the Bletchley Park Heritage Society.