The Bombe

Intro

The bombe, an electromechanical device, was used by the British cryptologists to decipher German Enigma-encrypted signals during the Second World War. In 1939, the initial design was produced at the UK Government Code and Cypher School at Bletchlet by the famous Alan Turing. An important refinement was later added by Gordon Welchman, while construction was handled by the Harold Keen of the British Tabulating Machine Company. The purpose of this machine was to discover the daily setting of rotors in use and their positions in the Enigma machines.

Principle of the bombe

In order to decipher an enigma message, the following would have to be known: internal settings and external settings.

Internal Settings

  • The selection of rotors in use in the Enigma's scrambler, and their positions on the spindle
  • The positions of the alphabet ring's turnover notch in relation to the core of each rotor in use.

External Settings

  • The plugboard connections
  • The scrambler rotor positions at the start of enciphering the message key

Structure

The bombe was designed to replicate the actions of several Enigma machines. In fact, it contained 36 Enigma-equivalents. This gives it the ability to run two or three jobs simultaneously. A menu would be provided to each job. Unlike enigma rotors, the drums of the bombe could be connected in series as it had two sets of input and output contacts.

How it works

The first step into deciphering a code involves a cryptanalyst finding a crib (plaintext that corresponds to the ciphertext). Although it was a difficult task, the codebreakers were aided by the fact that the Enigma machine never enciphers a letter as itself (a crash, as it was termed at Bletchley Park). Having a crash in all positions of the crib except one would mean that there is a high likelihood of it being correct. The following is an excerpt from a wikipedia article which we believe best explains the process of constructing a menu:

Once a suitable crib had been decided upon, the cryptanalyst would produce a menu for wiring up the bombe to test the crib against the ciphertext. The following is a simplified explanation of the process of constructing a menu. Suppose that the crib is ATTACKATDAWN to be tested against a certain stretch of ciphertext, say, WSNPNLKLSTCS.The letters of the crib and the ciphertext were compared to establish pairings between the ciphertext and the crib plaintext. These were then graphed to as in the diagram. It should be borne in mind that the relationships are reciprocal so that A in the plaintext associated with W in the ciphertext is the same as W in the plaintext associated with A in the ciphertext. At position 1 of the plaintext-ciphertext comparison, the letter A is associated with W, but A is also associated with P at position 4, K at position 7 and T at position 10. Building up these relationships into such a diagram provided the menu from which the bombe connections and drum start positions would be set up.

Ciphertext W S N P N L K L S T C S
Plaintext "Crib" A T T A C K A T D A W N
Message Position 1 2 3 4 5 6 7 8 9 10 11 12
Lower Drum Setting A B C D E F G H I J K L
Upper Drum Setting Z Z Z Z Z Z Z Z Z Z Z Z
Middle Drum Settin Z Z Z Z Z Z Z Z Z Z Z Z

In the illustration, there are three sequences of letters which form loops (or cycles or closures), ATLK, TNS and TAWCN. The more loops in the menu, the more candidate rotor settings the bombe could reject, and hence the fewer false stops.

Automated Deduction

To automate these logical deductions, the bombe took the form of an electrical circuit. Current flowed around the circuit near-instantaneously, and represented all the possible logical deductions which could be made at that position. To form this circuit, the bombe used several sets of Enigma rotor stacks wired up together according to the instructions given on a menu, derived from a crib. Because each Enigma machine had 26 inputs and outputs, the replica Enigma stacks are connected to each other using 26-way cables. In addition, each Enigma stack rotor setting is offset a number of places as determined by its position in the crib; for example, an Enigma stack corresponding to the fifth letter in the crib would be four places further on than that corresponding to the first letter.

Imformation retrived from: http://www.ellsbury.com/gne/gne-000.htm, http://www.ellsbury.com/bombe1.htm, http://www.codesandciphers.org.uk/virtualbp/tbombe/tbombe.htm, http://ed-thelen.org/comp-hist/NSA-Enigma.html

Photos retrieved on 2011-10-03 from http://jproc.ca/crypto/bombe2.jpg, http://regmedia.co.uk/2009/03/23/turing_bombe.jpg, http://www.jharper.demon.co.uk/bombe4.jpg, http://en.wikipedia.org/wiki/File:WireBrushesOnBombeDrum.jpg, http://www.oliverrobinson.net/photos/bletchley/realbombe_640.jpg, http://www.oliverrobinson.net/photos/bletchley/insiderealbombe_640.jpg, http://farm5.static.flickr.com/4070/4422033209_6ceab24c82.jpg

Valid CSS! Valid CSS!