The Polish Bombe (Bomba)


Enigma Home Page

1938 system indicator and females

When the indicator system of 1938 was introduced, the Poles used a phenomenon which finally enabled them to find the Walzenlage (the order of rotors) and the Ringstellung directly and after the steckers. in short, the complete daily key.

The indicator contains the message key ciphered twice. The pairs of letters for indicator 1 and 4, 2 and 5 and 3 and 6 belong independently to three cycles. If one of the pairs is made up of identical letters, this corresponds to a cycle of one unit. The Poles called them "females". This phenomenon is not possible for every Grunstellung (the start position on which the message key is ciphered twice). The probability of having a female is only around 40%. Cycle theory tells us that having a female at a given Grundstellung or not happens independently of the Steckers.

The Polish Bombe (Bomba)

The Rejewski’s Bombe and Zygalski’s sheet are based on the presence of females in the indicators. Rejewski's Bombe only uses three females, but the repeated letter must also be the same. When the german have only three rotors, it takes six Bombes to explore all possible keys simultaneously, which would take two hours.

However, Polish Bombes have restrictions: there must be no turnover between the two positions of a female (this is also the case with the sheets), and the letter that is repeated must not belong to a Stecker (it must therefore be self-Steckered).

When a solution is plausible, the Bombe stops. From the stop position, we can deduce the Ringstellung (as for the sheets) via the following formula (Link 2009):

	AAA - stop_position + begin_position

Based on Link's article, I wrote a Polish Bombe simulator. I was able to reproduce the examples without problems.

The Polish Bombe: the English version

The British built Bombes in late 1939 based on the same principles but with eight Enigmas instead of six. They could, therefore, test the simultaneous presence of four females.

The English version: search of a stecker

The Polish Bombe forces the letter present in the females to be self-steckered. Because the English version decreases the number of stops, it becomes possible to test all the steckers associated with the letter common to the four females.

Example of using my Bombe simulator

Key

  UKW          : B 
  Walzenlage   : IV-V-II 
  Ringstellung : JSY
  Steckers     : RV, ZF, EC, IG, YW, UT, NA, BJ, DL, OM

Several headers from traffic

A list of Grundstellung and the corresponding indicator (as well as the message key which is unknown to the cyrptolog):

        Key  – Grund. – Indicator
        DIJ     BKT      HFEHNK
        RFC     KBQ      HPSHHE
        DAY     TIA      HOLHYK
        BWP     MGT      QHTFHV
        UQT     FZM      MHHDZH	

Note:

You should not take the last case (FZM) if you test a Walzenlage whose middle wheel is the V wheel. Indeed, it causes a turnover of the middle wheel and the left wheel.

Using my simulator

The repeated letter is H (-L H), and we use the Ringstellung AAA (-R AAA). The Walzenlage tested is IV-V-II (-W IV,V,II). The -g option specifies the list of Grundstellung associated with females:

  $ curl -O http://www.jfbouch.fr/crypto/enigma/tools/bomba.tar

  $ tar -xf bomba.tar

  $ cd bomba

  $ python bombe_poles.py -W IV,V,II -R AAA -L H -g BKT,KBQ,TIA
  DIN
  SSV

We obtain two stops (two plausible solutions). Using the previous formula, we get the Ringstellung (for example for the second stop):

	Ring = AAA - SSV + BKT = JSY

With only three Grundstellung we get 65 stops for the 60 Walzenlages of the army’s Enigma model.

    - Use the English Polish Bombe (with 8 Enigmas)
I think, we can specify the Stecker (with -L and -S options)
$ python3 bombe_poles.py -W IV,V,II -R AAA -L H -S H -g BKT,KBQ,MGU,TIA
Walzenlage:IV,V,II ,Stecker:HH ,stop:SSV

    - If I want to scan all possible steckers, I use the bombe_poles.sh
software.
Note: you need a Unix Shell (ksh, bash, dash, zsh, ...).

$ sh bombe_poles.sh IV,V,II H BKT,KBQ,MGU,TIA
Walzenlage:IV,V,II ,Stecker:HF ,stop:CVO
Walzenlage:IV,V,II ,Stecker:HH ,stop:SSV

References

  • My Bomba simulator (TAR)
  • "Resurrecting Bomba Kryptologiczna: Archaeology of Algorithmic Artefacts, I" by David Link, Cryptologia, Volume 33, 2009 - Issue 2. Published online: 09 Jul 2009