Stop checking


Break an Enigma Key with Bombe

A complete example

The checking machine (TAR)

Introduction

Each bombe was managed by a team of two people (most often women in the British army): one configures the Bombe, the other tests each stop. For each Stop, the operator using a machine that emulated an Enigma, checks the consistency of the Stop against the menu. Basically, a stop was considered “good” or “bad”. The good stops were immediately transmitted by telephone to Hut 6 so that the cryptologists of the Machine Room (MR) could check the stop again, verify if the solution was correct, and then deduce the full key.

Checking machine

To verify a Stop, the operator used a simplified version of an Enigma: a Checking Machine. The rotors had the same structure as the rotors used on the Bombe: They were placed on the front of the machine. The machine did not have a system for advancing the rotors, the operator was forced to change their position manually. Also, the machine didn't have any steckers. However, like the Enigma, if you pressed one key on the keyboard, a lamp would light up.

Principle of the test

Testing a stop corresponds to scan the menu: you type on the keys corresponding to the letters in the menu and you must obtain the associated letters or other letters if they belong to a stecker.

Concretely, when we perform the test, we go through the letters of the menu. In the following example, we start from the input letter "E". The testing machine is positioned at the grundstellung of the ONO stop which at the menu level corresponds to the ZZF position (abbreviated zf). As we know the stecker EH, we press on H (and not on E). We get the letter B. This is the letter that connects E via the position zf. If the stop is good, it means the letter B is self-steckered. That's a pretty good sign. It is indicated in the result sheet.

Then we go through the loop (E-> C-> O-> S-> Z-> E). We set the checking machine to the ONK position (corresponds to zb) and we press the H key. We obtain the letter A. We should have obtained the letter C. So the result is plausible if we have the AC stecker.

We continue: in the ONR (zi) position, we press the A key, the J lamp lights up instead of the letter O, so we have the OJ stecker. Then, at the OOG (ax) position, we press the J key, the Z lamp is displayed instead of the letter S, so we have the SZ stecker. Then, at the OOH (ay) position, we press the Z key, the lamp S is displayed instead of the letter Z, so we have the stecker SZ. This is very interesting because we have confirmation of the previous deduction; it is indicated on the results sheet (this is a very good sign). Then, at the OOI (az) position, press the S key, the H lamp lights up. This result confirms the initial hypothesis: the letter E is steckered to the letter H: the closure is confirmed. This is still a good sign.

We continue to test the other letters of the menu (S-> T, O-> I-> G, E-> V, E-> U). On the other hand, the annex chain (L-> N-> F-> M-> Q) cannot be tested because no stecker is known.

A Stop is considered good if it does not contain an illegal contradiction. A Stop is considered bad if it contains at least one illegal contradiction or the loops (closures) are not confirmed.

An illegal contradiction corresponds to the discovery of two incompatible steckers, for example EH and ED.

A good stop can contain a legal contradiction. This corresponds to the presence of two letters from the menu steckered to the same letter but present outside the menu.

Hut 6 (MR) could require to receive only the very good stop (SSO: Story Stop Only) which should not include any contradiction (legal or illegal) and whose closures were verified.

Examples

Menu:
               B   V   U      zd   zj   au   av
Input          1\ze|10/11   L----N----F----M----Q
letter: E      zf\ | /zg      12   13   14   15
             zb   \|/   az     ay     zh
           C-------E-------Z-------S-------T
1 loop      \   2      6      5   /ax  7            
1 aux.chain  \      zi          4/  aw     zc
16 letters    \-----------------O-------I-------G
                      3             8       9

Checking the 1st Stop: 132, EEK, stecker EK

Menu letters          Key->Lamp   Grund      Stecker
			                      EK
1  B    		K->H       (zf)(eek)  BH 
2  E			K->R	   (zb)(eeg)  CR
3  C			R->O	   (zi)(een)  OO Self-stecker
4  O			O->K       (ax)(efc)  SK illegal contradiction
5  S			K->P       (ay)(efd)  ZP 
6  Z			P->K       (az)(efe)  KE closure confirmation 
7  T			K->Y       (zh)(eem)  TY
8  I			O->D       (aw)(efb)  ID 
9  G			D->R       (zc)(eeh)  GR illegal contradiction
10 V			K->H       (ze)(eej)  VH illegal contradiction 
11 U			K->Y       (zg)(eel)  UY illegal contradiction

Conclusion: Bad Stop

Checking the 2nd Stop: 132, WQL, stecker ED

Menu letters          Key->Lamp   Grund      Stecker
			                      ED
1  B    		D->W       (zf)(wql)  BW 
2  E			D->K       (zb)(wqh)  CK
3  C			K->H       (zi)(wqo)  OH 
4  O			H->Q       (ax)(wrd)  SQ
5  S			Q->A       (ay)(wre)  ZA 
6  Z			A->D       (az)(wrf)  ED closure confirmation 
7  T			Q->P       (zh)(wqn)  TP
8  I			H->P       (aw)(wrc)  IP illegal contradiction
9  G			P->A       (zc)(wqi)  GA illegal contradiction
10 V			D->A       (ze)(wqk)  VA illegal contradiction 
11 U			D->A       (zg)(wqm)  UA illegal contradiction

Conclusion: Bad Stop

Checking the 3rd Stop: 134, FXA, Stecker EE

Menu letters          Key->Lamp   Grund      Stecker
			                      EE self-stecker
1  B    		E->K       (zf)(fxa)  BK 
2  E			E->W       (zb)(fxw)  CW
3  C			W->O       (zi)(fxd)  OO self-stecker
4  O			O->J       (ax)(fys)  SJ
5  S			J->Y       (ay)(fyt)  ZY 
6  Z			Y->E       (az)(fyu)  EE closure confirmation 
7  T			J->P       (zh)(fxc)  TP
8  I			O->P       (aw)(fyr)  IP illegal contradiction 
9  G			P->A       (zc)(fxx)  GA 
10 V			E->V       (ze)(fxz)  VV self-stecker 
11 U			E->U       (zg)(fxb)  UU self-stecker

Conclusion: Bad Stop

Checking the 4th Stop: 413, ONO, Stecker EH

Menu letters          Key->Lamp   Grund      Stecker
			                      EH
1  B    		H->B       (zf)(ono)  BB Self-stecker
2  E			H->A       (zb)(onk)  AC
3  C			A->J       (zi)(onr)  OJ
4  O			J->Z       (ax)(oog)  SZ
5  S			Z->S       (ay)(ooh)  SZ Stecker confirmation
6  Z			S->H       (az)(ooi)  EH closure confirmation
7  T			Z->Y       (zh)(onq)  TY
8  I			J->V       (aw)(oof)  IV 
9  G			V->G       (zc)(onl)  GG Self-stecker
10 V			H->I       (ze)(onn)  IV Stecker confirmation
11 U			H->X       (zg)(onp)  UX

Conclusion: Good Stop

The result sheet

The different Stops associated with the same menu and which occur on the same Bombe are recorded on a result sheet called “Check Sheet”. It contains the letters of the menu, the name of the Bombe, and the number of the job (which corresponds to the menu generated by the MR).

For each Stop, is indicated if the test is good (/) or bad (x), an order number, the order of the rotors and the position of the rotors during the stop. Then next to the letters in the menu, the letter that you type on the keyboard in its place. The letter is followed by an indication specifying the state of our deductions:

  • A/ A closure is confirmed
  • (E) [letter circled]: Confirmation of a stecker but of the self-steckered type
  • M" Confirmation of a stecker
  • Y* Presence of a legal contradiction
  • Zx Presence of an illegal contradiction
In the margin (for all the stops), we have the menu letters: BECOSZTIGVU

Note, if we read online, next to a letter in the menu, we have the letter that completes the stecker.

X, 1, 132 EEK, H, R, (O), Kx, P, K/, Y, O, Rx, Hx, Yx
EK, BH, CR, OO, SK, ZP, KE, TY, ID, GR, VH, UY

X, 2, 132 WQL, W, D, K, H, Q, A/, P, Px, Ax, Ax, Ax
BW, ED, CK, OH, SQ, ZA, TP, IP, GA, VA, UA

X, 3, 134 FXA, K, (E), (O), J, Y/, Q, P, A, (V), (U)
BK, EE, CW, OO, SJ, ZY, TQ, IP, GA, VV, UU

/, 4, 413 ONO, (B), H, A, J, Z", S/, Y, V, (G), I, X.
BB, EH, CA, OJ, SZ, ZS, TY, IV, GG, VI, UX