Most Turing-Welchman Bombes are built to be around the same standard size. The early versions were about 2124mm (84") wide but later versions were around 2250mm (88"), the height was 2000mm (78") including the castors and the depth was 600mm (24"). The difference in length was due to the standardisation of the frame somewhere around mid-1943 to suit both 3 and 4 wheel BTM machines. In total, they each weighed about a ton.
On the front of the cabinet are three groups of 36 shafts each in a 12 x 3 array called a Chain. Set around each shaft are electrical contacts arranged in four concentric circles. Each column of 3 shafts simulates a full Enigma machine with the top row having the fastest rotation down to the lower row which turns the slowest.
It's important to note that the drums on the Bombe run the opposite way that you'd expect when related to the Enigma machine. The top row on the Bombe spins the fastest, but this is the "slowest" left-most rotor on the Enigma machine, which normally only turns once every 26 x 26 letters. The lowest row on each Chain on the Bombe is the right-hand rotor on Enigma which turns once for each letter enciphered.
On an Enigma rotor, each side of the rotor has 26 contacts to pass the electrical signal from one side to the other, through the reflector and back through the rotors again. The bombe requires a slightly different method as we need to be able to connect one group of Enigma rotors directly to others in series, so the designers created a double-ended scrambler so that a signal could pass through a drum both ways, once for the inwards towards the reflector and once again, through the other circles of connectors back away from the reflector.
Each drum was fitted onto the commutator and connected via 104 wire brushes which contacted each of the contacts as they rotated. There was a set of Bombe drums for each of the Enigma rotors with (mostly) equivalent wiring to the real rotors. Possibly by mistake, drums I, II, III, VI, VII and VIII on the Bombe are one letter ahead of the corresponding Enigma rotors, drum IV is two steps ahead, and rotor V is three steps ahead. These were colour-coded, so the operators knew which drum corresponded to which rotor. I red; II maroon; III green; IV yellow; V brown; VI cobalt (blue); VII jet (black) and VIII silver.
The top row of each chain of drums were driven together by an electric motor with the middle row being advanced one position each time the top drums had advanced through all 26 positions (this was called a carry). Likewise, the lower drums all advanced as the middle drums completed a full rotation meaning all 26 x 26 x 26 = 17,576 possible start positions of the Enigma scrambler could be tested.
However, the Bombe mechanism was not a true cyclometer and could not carry between adjacent commutator segments of the upper drums and at the same time continue sensing for a result, even using the high-speed Siemens-type relays on the later machines. The Bombe model simulated on this website is a three-wheel, 36-Enigma version and there are two basic types, a 39-point machine and a 30-point machine. Our simulation is of a 39-point machine where a point is one-26th of the rotation of the top drums or one sense point.
Depending on the model, the carry of the machine takes from 13 character times or points (39-point machine) down to 4 points (30-point machine). In each model, the first sensing takes place on the first full rotation of 26 points (the sense part is where the Bombe is actually testing the wiring for a contradiction), but this is followed by a period of no sensing while the carry mechanism operates to step on the middle drums by one position. In our 39-point machine, this took a further 13 steps, whereas on the 30-point machine, the carry mechanism was faster, so could operate in just 4 steps.
This pattern is as follows (for a 39-point machine), 26 points of sensing followed by 13 points of no sensing, while the carry operates. This then repeats with a further 26 points of testing, then a second 13 points of no sensing. This means that the top drums rotate fully 3 times but the middle drums would have only been stepped on two times. The carry for the lower drums could be completed at leisure and therefore stepped one point for each full rotation of the middle drums.
The time that a 39-point Bombe takes to sense all 17,576 combinations of drum positions is therefore based on how many carries it can do per minute. Our Bombe is designed for 65 carries per minute, which means a full run, if not interupted, would take 10.4 minutes (26x26/65).
Alan Turing realised that it was possible, using the relationship between a crib (a guess at the plaintext of the message) and the enciphered message, to greatly reduce the number of possible ways in which the Enigma was setup. The fact that the Enigma could not encipher a letter as itself assisted in the placing of the crib then sometimes, we can find pairs of letters enciphered at different places in the crib which result in a loop of letters.
| Position | abcdefghijklmnopq |
|---|---|
| Cipher | JYCQRPRYDEMCJMRSR |
| Crib | SPRUCHNUMMERXEINS |
| Loop | ......|........|| |
In the above example, R enciphers to N at position g, N to S at p and S to R at q, making a loop. A diagram of such loops was known as a menu.
If we take three Enigma machines, each with the same plugboard (stecker) settings and the correct daily settings and wire them together, we can set the first Enigma's rotors at the positions they would be at in position g, the second Enigma at position p and the third at position q.
Now, we can see that at this correct position, we have a continuous loop of wire. Starting at the letter R, which is steckered to some unknown value S1 then runs through the wiring of the first Enigma and comes back out at another unknown value S2 which we know steckers back to letter N.
We then wire this to the second Enigma at letter N, which we know steckers to a value S2. This runs through the wiring of the second set Enigma and comes out at a value S3 which we also know steckers to the letter S at this position.
Now, finally, we wire this up to the letter S on the third Enigma, which similarly, we know steckers to S3. This time, after travelling through the third Enigma's wiring, we know it must return back to our value S1 so that it can be steckered to the initial letter R again.
If our Enigma machines are all in the correct position, then this loop of wire, if given a voltage, will light the lamp on the wire. The clever part is we have completely bypassed having to know what value each of the steckers S1, S2 and S3 actually are, a large contribution to the enormous number of possible Enigma daily settings!
Take the loop example above of R->N->S->R. Three opened out Enigmas are connected serially one to the other and the bottom drums are turned to the offsets g, p and q. If the correct drum order is being used then there will be some start position of the top, middle and bottom drums which corresponds to the actual original Enigma core rotor positions. At this point the core rotor positions will be the same as the original Enigma core rotor positions and the encipherments will then be the same.
This means that a voltage placed onto the S1 input of the first opened out Enigma, which is the Stecker of the input R, will come out on the S2 terminal which is the Stecker of N. Since this is connected to the next opened out Enigma, this goes in on its S2 terminal and comes out on the S3 terminal which is the Stecker of S. This S3 input now goes through the third opened out Enigma and comes out at S1 which is the Stecker of R. Thus the drum positions correspond to the original Enigma positions where S1->S2->S3->S1.
Now, we connect the output terminals of the last opened out Enigma back to the input of the first, this forms a loop of wire not connected to any other terminals on any opened out Enigma.
If we place a strip of 26 lamps on all joins between the opened out Enigmas and place a voltage on the S1 input will go nowhere else and will only appear on the S1, S2 and S3 lamps, confirming our loop.
Now, we come to Turing's other clever thought, if we don't know S1 and just guess at a wire to place the voltage on (let's pick A), then the voltage will propagate through the opened out Enigmas because they are joined from output to input, but they can never reach our S1, S2 and S3 loop because it is not connected to any other terminals, only to itself. In this case, then lots of lamps will light, but not our core letters S1, S2 or S3 which can be interpreted as the steckers of the letters on the menu.
If the drums are not in the correct position, then the loop S1, S2 & S3 does not exist and the voltage can propagate to these terminals as well with the voltage reaching all terminals. This would imply that there is not possible stecker letter and the drums cannot be in the correct position.
If we automate the positions of the rotors changing to check each possible position, then check each time to see if all 26 lamps are lit, then we can quickly reject this position and move on. If we get either 1 or 25 lights lit, then we have found our closed loop of wire and we have a possible solution. This is the test that the Bombe machine runs through to find the Enigma machine's daily setting.
After the initial Bombe was designed and built, Gordon Welchman, a colleague of Turing's at Bletchley Park, realised that an improvement could be made which would greatly reduce the number of false stops and also simplify some of the menus.
He realised that the stecker was reciprocal and that this could be wired into the Bombe. For example, if D was steckered to a, then a also must be steckered to D.
The following Simplified Bombe diagrams are from the website http://www.ellsbury.com/ and are Copyright (c) Graham Ellsbury 1998, they are reproduced with permission. This site gives a very good explanation of the Bombe and it's wiring and is well worth a read for more information.
Figure 3.2 to the left here shows a simplified Bombe wiring diagram with wires for only the letters A-H as the full wiring of a 26 connection Bombe is too complex to show here.
The diagonal board on the rear of the Bombe is not, as you'd expect, in a diagonal pattern, but is actually in one of three columns of connectors marked with the letters A-Z. Shown here, on an image from Virtual Bombe, the diagonal board for the first chain is the first column on the left. The diagonal board for the second chain is the fourth column in and the third is three from the right.
Figure 3.3, again from www.ellsbury.com, shows how the double-ended drums from the front of the Bombe connect into the wiring on the rear of the machine. This example is connecting up a crib/cipher which is 9 characters long, so we have a total of 9 drums plugged up. (An example on how to design, draw up and plug up a menu is given on the next page tutorial.)
The drums are plugged between the wires for each letter corresponding to the cipher / crib letters in each position in our menu with the drums set to the relevant start positions. This wiring represents the loops in our menu as described above.
We also select one of the letters to use as our test register (in this case E). This is normally one of the well connected letters in the menu and these wires are the ones which the Bombe will watch to see which get a voltage and which do not.
This is an example of a Bombe in mid-sense where it's checking for a valid stop and in this case, our drums are correct and in the right position. A voltage is applied to one wire (in this case, it's the "a" wire in the E cable shown bold) and we check to see which other wires in the test register are then also live. We are testing the hypothesis that letter A is steckered to letter E
In this example, you can follow through how this wire connects via both the drums and the diagonal board to set all of the other wires being sensed to live, leaving just the "b" wire dead. The dead wires in the cables indicate that A is steckered to G, B is steckered to E, C is self-steckered, D is steckered to F, and H is self-steckered.
Our hypothesis (A->E) isn't correct, but our loop is still shows up as the voltage cannot get into the loop so we are left with one wire left un-powered.
This second example, Figure 4.2, shows the same pattern as above where we're about to test the correct drum / position for this Enigma setting, but in this case, we've selected our voltage to go in on the b wire of the E cable, testing the hypothesis that letter B is steckered to E.
This time, we have got the correct stecker so the wiring connects up via the drum wiring and diagonal board, but it cannot get out to any of the other wires, leaving just the one wire with a voltage on. Again in this case, we have a valid stop!
I recommend a visit to www.ellsbury.com, which has a very good detailed description, to learn in more detail about how the Bombe worked. http://www.ellsbury.com/
To learn more about Enigma, the story of how it was cracked and how cribs were created, then I can highly recommend you pay a visit to Bletchley Park
If you want to see a working reconstruction of a Bombe machine (as well as a working Colossus computer), then it's a must that you should visit The National Museum of Computing, also on the Bletchley Park Estate (but a separate small entry fee)