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