4
$\begingroup$

Summary: The operation of the Enigma Bombe is well documented. I manage to use it and a candidate checking machine to recover the plugboard pairs and the ring setting for the fast rotor. I struggle to recover ring settings for the slow and the middle rotors.

Question: Where can I find out more technical details on the Checking Machine?

Dirk Rijmenants (2022) Enigma Cipher Machine Simulator operation manual, version 7.0.6, pp 9-10. https://www.ciphermachinesandcryptology.com/files/Enigma%20Sim%20Manual.pdf

The machine I used is Army Enigma I. The message is a reconnaissance report from Kurtinowa. I use the crib "X VON X KURTINOWA X KURTINOWA X". Aligning it to character positions 16-40, there is no clashes.

A menu is created using characters in positions 16-22 and 30-40. Therefore, this menu is valid if turnover(s) (t/o) is/are between 23-30 or 41-42 inclusively. Noted that 30≡4 (mod 26), 41≡15 (mod 26) and 42≡16 (mod 26). It has 8 letters, 10 links, 1 double link and 3 loops.

1   2     2     3     3     4
6   0     5     0     5     0
UYTPO MRMBO FKTBZ REZKM LXLVE (ciphertext)
XVONX KURTI NOWAX KURTI NOWAX (crib)

von Kurtinowa pos 16-22, 30-40.jpg

By assuming default ring settings is Z Z Z (26 26 26) and reflector is UKW-B, my Enigma Bombe returns three stops after running through all 60 rotor combinations and 17,576 starting indicator triples. It took 36 minutes. It is slow but I am not a programmer. Reflector UKW-C returns no stops.

Fri  5 May 2023 22:42:14 BST
UKW-B, II IV V,   offsets  0 17 15 (Z Q O), Cable X, wire r is a stop, drums A S R, golden drums Y G H : R
UKW-B, II IV V,   offsets 15 15 21 (O O U), Cable X, wire p is a stop, drums P Q X, golden drums J I B : P
UKW-B, IV II I,   offsets  1  3 21 (A C U), Cable X, wire l is a stop, drums C D V, golden drums W V D : L
Fri  5 May 2023 23:18:19 BST (3 stops, 36 mins)

It turns out that the second and the third are false stops. By the wiring of the first stop alone, six steckered pairs and two self-steckered letters can be deduced. Below is the result of character positions 1-40. The offsets of the slow/middle/fast rotors are 0 17 15 respectively.

    steckered pair - FU IN KM OW RX ZH - 
    self-steckered - E T - 
           unknown - A B C D G J L P Q S V Y

                     1     1     2     2     3     3     4
           1   5     0     5     0     5     0     5     0
X  -       EDPUD NRGYS ZRCXN UYTPO MRMBO FKTBZ REZKM LXLVE 
X1 -       E--F- IX--- HX-RI F-T-W KXK-W UMT-H XEHMK -R--E 

X8 -       V--M- RV--- NJ-EU L-H-F YIS-K IWO-R MFXTN -W--S 
Y  -       ---K- X---- I--EF --Z-U -N--M NOW-X KURTI -O--- 
crib                         XVONX KURTI NOWAX KURTI NOWAX 
diff                         ^^^^^ ^^^^^    ^        ^ ^^^ 

With some deductions, it is clear that LD (position 36) is a pair. With some guesswork, VA (position 1) and BS (position 29) might be pairs. If these guesses were correct, it follows that P is self-steckered (position 3), CG are steckered (position 8) and Y is self-steckered (position 9). J and Q remain unknown. One can say that since there are already 10 steckered pairs, they must be self-steckered. Alternatively, from position 82, it can be found that Q is self-steckered. J is more tricky, I will leave it out since it is not important to the problem at hand.

X  -       EDPUD NRGYS ZRCXN UYTPO MRMBO FKTBZ REZKM LXLVE 
X1 -       ELPFL IXCYB HXGRI FYTPW KXKSW UMTSH XEHMK DRDAE 

X8 -       VFUMD RVSTE NJUEU LUHEF YISDK IWOVR MFXTN IWVMS 
Y  -       AUFKL XABTE I-FEF DFZEU YNBLM NOWAX KURTI NOAKB 
crib                         XVONX KURTI NOWAX KURTI NOWAX 
diff                         ^^^^^ ^^^^^               ^^^ 

Positions 12-25 (14 characters) do not match. Positions 26-37 do match (12 characters). (10+) + 12 = 26. Guessing that 10+ is 14 and turning the fast wheel by -14≡12 (mod 26) places and yields the follows.

                     1     1     2     2     3     3     4
           1   5     0     5     0     5     0     5     0
X  -       EDPUD NRGYS ZRCXN UYTPO MRMBO FKTBZ REZKM LXLVE 
X1 -       ELPFL IXCYB HXGRI FYTPW KXKSW UMTSH XEHMK DRDAE 

X8 -       VFUMD RVSTE NDFIC RAWIR MFXTN IWOVR MFXTN IWOVR 
Y  -       AUFKL XABTE ILUNG XVONX KURTI NOWAX KURTI NOWAX 
crib                         XVONX KURTI NOWAX KURTI NOWAX 
diff                                                       

Now, it can be sure that ring setting for the fast rotor is 12 (L) and starting indicator for the fast rotor is A (01). Here is where I am stuck. How do I recover the ring settings for the slow and the middle rotors?

There is a part two to this message. I need a complete daily setting to recover the second message key.

In case if you are wondering, the rest of the message does not make much different.

X  -       EDPUD NRGYS ZRCXN UYTPO MRMBO FKTBZ REZKM LXLVE FGUEY SIOZV
           EQMIK UBPMM YLKLT TDEIS MDICA GYKUA CTCDO MOHWX MUUIA UBSTS
           LRNBZ SZWNR FXWFY SSXJZ VIJHI DISHP RKLKA YUPAD TXQSP INQMA
           TLPIF SVKDA SCTAC DPBOP VHJK

Y  -       AUFKL XABTE ILUNG XVONX KURTI NOWAX KURTI NOWAX NORDW ESTLX
           SEBEZ XSEBE ZXUAF FLIEG ERSTR ASZER IQTUN GXDUB ROWKI XDUBR
           OWKIX OPOTS CHKAX OPO-S CH-AX UMXEI NSAQT DREIN ULLXU HRANG
           ETRET ENXAN GRIFF XINFX RG-X

P.S. With some very tedious try and error, I get a little further. Correct turnover characters are 26, 52, 78, ... and there are no double steppings. Middle ring settings of 0, -1, ..., -6, -14, -15, ..., -25 yielded no double stepping and return the entire 174-character message correctly. Ring settings of -7, -8, ..., -13 resulted in double stepping and messed up some part of the message. With 19 potentially correct middle ring settings and absolutely no idea about slow ring setting, there are 494 combinations. It is ugly to brute force a 3-character message key. I am sure that Bletchley Park folks must have an elegant solution. All I need is starting indicators W X C, keyboard K C H and magically the lampboard yields B L A.

$\endgroup$
1
  • $\begingroup$ One might ask why I didn't use other positions to create two more chains W-L-N-P and Y-V-A in my menu. It returns only one stop, one more steckered pair and one more self-steckered letter. It is a question of how best to use precious bombe time. A bombe has three rows of 12 three-letchworth-scrambler sets. It can run three smaller menus in parallel. My menu has 10+1=11 links and uses one row. Two more jobs could be run together. The larger menu has 16 links and requires two rows leaving less capacity for other jobs. I am really keen to know how the Bletchley Park folks made such choices. $\endgroup$ Commented May 8, 2023 at 15:52

1 Answer 1

3
$\begingroup$

In this case there is simply not enough information to make a determination.

The Ringstellung for the middle rotor only comes into play every 25x26=650 steps. A message of length 174 characters only sees 174/26=6 or 7 turnovers and so only allows us to test six or seven possible Ringstellungen (in this case -7,...,-13) all of which do not give a readable message in this case. To be sure of being able to test all 26 possible middle Ringstellungen, we'd need a message of 650 characters. If we do not witness a turnover in the second rotor, we certainly do not see one in the third and so the slow Ringstellung requires even more data (16,900 characters to be sure of witnessing a slow turnover).

At Bletchley Park, once almost all of the settings have been recovered as in your attack, other messages would become very easy to attack and so looking at a longer message would help recover the middle Ringstellung (or several shorter messages would allow other possible Ringstellung values to be eliminated). Remember that Bletchley were processing thousands of Enigma messages each day, so using multiple messages was more than feasible.

$\endgroup$
2
  • $\begingroup$ Thank you for your insight. I considered both potential methods. First, to brute force 494 possible ring settings on a modified Type X machine. On each go, I try to match the first few characters of the ciphertext/plaintext pair. My quick test shows that the first character pair E/A eliminates about 25/26 of the candidates leaving 24. The second character pair D/U identify the correct ring setting. Success is certain. Second, to rely on the breaking other message(s). I used sleight of hand to arrive the correct crib/position/menu. There are lots of bombe time required and uncertainty. $\endgroup$ Commented May 8, 2023 at 14:56
  • $\begingroup$ I don't think Bletchley Park used either method. The following quote suggested that it was a quick process on the checking machine itself. Not using a Type X machine; not using other messages. "The Codebreaker were now left with just the ring settings on the left and middle rotors to find. They used the message indicator of the message they were analysing to find these remaining ring settings, and devised speedy processes using — once again — the checking machine to help them." Dermot Turing (2018) The Bombe Breakthrough, p.57. London: Pitkin Publishing. $\endgroup$ Commented May 9, 2023 at 19:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.