Enigma · Volume 10
Enigma — Volume 10 — Turing and the Bombe
How a machine was taught to reason about another machine
About This Volume
This is the technical climax of the codebreaking story. In the previous volumes we watched the Polish Cipher Bureau reconstruct the Enigma’s wiring and break it with mathematics and ingenuity (Volume 7), then hand their secret across the table to Britain and France on the eve of war (Volume 8). But the Polish methods leaned on a particular German habit — the doubled message-key — and when that habit vanished in May 1940, the door the Poles had pried open swung shut.
This volume is about how the British forced it open again, and kept it open for the rest of the war. The hero of the engineering is a machine: the Bombe, an electromechanical search engine conceived by Alan Turing, transformed into a war-winning instrument by Gordon Welchman’s diagonal board, and built in the hundreds by Harold “Doc” Keen’s engineers at Letchworth. The hero of the logic is an idea — that you do not have to try all 159 quintillion settings of an Enigma if you are clever about what you already know.
The goal here is not to dazzle you with numbers but to make the reasoning followable. By the end you should be able to explain, to a friend at a pub, exactly why a crib lets you slide a guess against ciphertext, why loops in that guess are pure gold, and why the Bombe could reject a wrong setting in a fraction of a second without ever decrypting a single message. We keep Turing’s biography light — his theoretical legacy and the road to the stored-program computer belong to Volume 13. Here, the machine is the protagonist.

A Mathematician Arrives
In 1936, a 24-year-old Cambridge fellow named Alan Turing published a paper with the forbidding title On Computable Numbers, with an Application to the Entscheidungsproblem. To settle a question in mathematical logic — whether there exists a mechanical procedure that can decide the truth of any mathematical statement — Turing invented an imaginary device: a machine that reads and writes symbols on an infinite tape according to a table of rules. By showing that a single “universal” version of this machine could imitate any other, he laid down the abstract blueprint of the modern computer. The answer to the original question, incidentally, was no: some things are not computable at all.
Turing then spent two years at Princeton, took a doctorate, and turned down a post in the United States to return home. He had already been quietly recruited by the Government Code and Cypher School. When Britain declared war on Germany on 3 September 1939, Turing reported to Bletchley Park the very next day. He was not there to build a universal machine. He was there to build a very un-universal one: a special-purpose engine to defeat a specific cipher. That distinction matters, and we will return to it.
Why the Polish Trick Died
The Polish breakthroughs of the 1930s exploited a procedural blunder. To tell the receiver how to set up his rotors, the sender chose a three-letter message key and enciphered it twice at the start of every message — so the indicator carried six letters in which the 1st and 4th, 2nd and 5th, 3rd and 6th were the same plaintext letter enciphered at different rotor positions. That doubling created fixed mathematical relationships across the day’s traffic. Rejewski’s permutation theory, the cyclometer, the catalogue of “characteristics”, and the Polish bomba kryptologiczna all fed on it.
The Germans were not stupid. On 1 May 1940, as the campaign in the West began, they abolished the doubled indicator. From then on the message key was sent only once, and the entire edifice of indicator-based attacks collapsed. (The British savoured one last triumph against the old system — 8 May 1940 was long celebrated at Bletchley as “Foss’s Day” — but the writing was on the wall.)
Bletchley therefore needed an attack that did not depend on any German indicator habit at all. It needed a method that would work no matter how the Germans dressed up their message keys, because it attacked the machine and the message, not the procedure wrapped around them. That method was the crib, and the engine that exploited it was the Bombe.
The Crib: Guessing the Plaintext
A crib is a stretch of plaintext that you believe underlies a particular stretch of ciphertext. It sounds like cheating, and in a sense it is — but the Germans handed cribs out by the bucketful through sheer predictability.
Military signalling is relentlessly formulaic. Stations that had nothing to report still had to report it, so the airwaves filled with KEINE BESONDEREN EREIGNISSE — “no special occurrences.” Weather stations opened with WETTER; a coastal post might transmit its position and conditions in the same skeleton every dawn. Messages were topped and tailed with ranks, addresses, and the unavoidable HEIL HITLER. A particular outstation might send its hourly weather observation at almost the same minute every day, in almost the same words. Sometimes the same content was re-broadcast on a different network in a different cipher that Bletchley had already broken — a gift the codebreakers called a “kiss”, because matching the two gave you plaintext and ciphertext side by side for free.
The British turned this into an industry. Analysts kept logs of who said what, when, and how; they learned the verbal fingerprints of individual operators and units; and when a fresh intercept arrived, they could often pencil in a confident guess at a dozen or two of its letters. That guess — say, that a certain run of ciphertext spelled out WETTERVORHERSAGE — was the raw material the Bombe would chew on.
The Free Gift of the Reflector
Now comes the first piece of genuine cryptographic luck, and it flows straight from the Enigma’s own design. Because of the reflector (Volume 3), the Enigma’s encipherment is reciprocal and has no fixed points: at any setting, if A enciphers to G then G enciphers to A — and crucially, no letter can ever encipher to itself. The current must leave a key, travel out through the rotors, bounce off the reflector, and return on a different wire; it physically cannot come back on the one it left. The Germans considered reciprocity a convenience (the same setup both encrypts and decrypts). They did not appreciate that they had also handed their enemy a razor.
Here is how the razor cuts. Suppose you suspect the crib WETTERVORHERSAGE appears somewhere in a message, but you do not know where. You write the crib on a slip of paper and slide it along beneath the ciphertext, one position at a time. At each position you check a single, trivial rule: does any letter of the crib sit directly above the same letter in the ciphertext? If it does — if the crib’s T lines up with a ciphertext T — that alignment is impossible, because no letter enciphers to itself. You reject it instantly and slide on.
position? ...QFZWETTERVORHERSAGEXLM... (ciphertext)
crib WETTERVORHERSAGE <- does any letter match the one above it?
A single self-match anywhere along the overlap kills the position outright. In practice this eliminates the large majority of possible alignments before any real work begins, leaving only a handful of candidate placements to investigate. The Germans’ own machine had told the codebreakers where the crib could not be.
From Crib to Menu
Pick one surviving alignment, and now you have something precise: a list of letter-pairs, each tagged with the position in the message at which it occurs. At position 1 the machine turned plaintext W into ciphertext Q; at position 2, E into F; at position 3, T into Z; and so on. Each pairing is a statement about a specific Enigma scrambler setting — the rotor positions one, two, three steps further on than wherever the message began.
Bletchley drew these relationships as a graph called a menu. The letters of the alphabet that appear in the crib are the nodes; each plaintext/ciphertext pairing is an edge connecting two nodes, labelled with its position number. The result looks like a spidery network of letters joined by numbered lines. (The wartime nickname “spider” for the Bombe came from exactly this picture.)
What the menu-makers hunted for above all were loops — closed cycles in the graph. Imagine the crib yields these pairings:
- at position 1,
E↔T - at position 4,
T↔S - at position 7,
S↔E
Trace it: start at E, hop to T (position 1), hop to S (position 4), hop back to E (position 7). You have returned to where you began — a closed loop of three edges. A loop is the jackpot, and the next section explains why.

Why Loops Are Everything
To see why a loop is decisive, you have to confront the Enigma’s nastiest defence: the plugboard (Steckerbrett). Even if you knew the rotors and their starting positions exactly, the plugboard would still scramble ten or so pairs of letters before and after the rotor stack, and there are vastly more plugboard configurations than rotor settings. You cannot guess the plugboard by brute force. The genius of the Bombe is that loops let you reason about it without knowing it.
Here is the trick, walked through slowly. Suppose you guess that the plugboard maps the letter E to some unknown partner — call that partner X. (X is just a placeholder; you are assuming a value to see whether it leads to nonsense.) Now follow the loop above, but remember that every edge passes through the rotor scrambler at a known position, while only the plugboard is unknown:
- Plaintext E goes into the plugboard and emerges as X. X passes through the scrambler at position 1 and comes out as some letter; the plugboard turns that into the ciphertext T. So the scrambler at position 1 connects X to “the plug-partner of T.”
- That partner of T passes through the scrambler at position 4, and its output’s plug-partner is S. So we now know “the plug-partner of S” in terms of X.
- The partner of S passes through the scrambler at position 7, and its output’s plug-partner must be E again — because the loop closes back on E.
Follow the chain all the way round and you arrive at a statement of the form: “the plug-partner of E equals (some letter determined entirely by our assumed X and the known scramblers).” If the loop is consistent, the value that comes back around must equal the X we started with. If our guess of X was wrong, the loop will, almost always, hand back a contradiction — it insists E is plugged to X but the chain says it is plugged to something else. A loop is a self-checking circuit. Each loop in the menu is a constraint that a correct rotor setting must satisfy and that almost every wrong setting will violate. The more loops in your menu, the more ferociously the wrong settings are filtered out.
The Bombe makes this physical. Each “edge” of the menu is realised by a drum-scrambler — a stack of rotating drums that reproduces the Enigma’s rotor wiring (each drum equals one rotor). The drums are wired together in the pattern of the menu, and the assumed plugboard value is injected as an electric current on one wire of a 26-wire cable representing the alphabet. When the current is sent into the network, a consistent loop lets it flow round and confirm the assumption; an inconsistent loop causes the current to spread to other wires — energising letters that the assumption said should stay dark. The machine then steps all the drums forward in lockstep to the next possible rotor start position and tries again, roughly twenty positions a second, grinding through every starting position of the chosen rotor order.
The Bombe is therefore not a brute-force decryptor. It never decrypts the message. It tests, for each rotor start position, whether the menu’s web of constraints can hold together. When it finds a contradiction it rejects and moves on in milliseconds; when a position survives every constraint, the machine stops. A “stop” is a candidate — a rotor order, a rotor starting position, and (as we are about to see) a plugboard deduction — to be carried off and checked by hand on a real Enigma. Most stops are false alarms thrown up by chance; a good menu produces few enough that humans can sift them.

Welchman’s Diagonal Board
Turing’s Bombe worked, but in its first form it demanded menus rich in loops, and many real cribs were loop-poor. A menu with only one closed loop produced a flood of false stops — so many that the human checkers drowned. The machine needed to extract more logical leverage from each crib. The man who supplied it was Gordon Welchman.
Welchman, who ran Bletchley’s Hut 6 and had independently reinvented some of the Poles’ methods, noticed something that Turing’s original design had not fully exploited: the plugboard is reciprocal. If A is steckered to B, then B is, by the very nature of a patch cable with two ends, steckered to A. This is not a guess about German behaviour; it is a guarantee built into the hardware. And it means that every deduction the machine makes about a plug pairing automatically yields a second deduction for free.
Welchman wired this symmetry into a fixed grid of connections he called the diagonal board. Picture a 26×26 array of terminals: 26 rows, one per letter, each row carrying the 26-wire alphabet cable for that letter. The diagonal board adds a permanent wire joining “row A, wire B” to “row B, wire A” — and likewise for every pair. Each such wire crosses the array diagonally, hence the name. The effect is that the moment the Bombe deduces “A is plugged to B” on one part of the menu, the diagonal board instantly transmits the reciprocal fact “B is plugged to A” everywhere else it is relevant, feeding that deduction back into the test.
The consequences were enormous, and they are worth stating plainly because Welchman deserves the credit. First, the diagonal board let the machine make use of plugboard deductions that previously went to waste, so that even menus with no closed loops at all could now yield useful tests. Second, by cross-checking every deduction against its reciprocal, it caused contradictions to propagate far more aggressively, slashing the number of false stops and letting humans cope with the output. Third, it effectively separated the problem of finding the rotor setting from the problem of finding the plugboard, which the machine could now largely deduce on its own once a consistent rotor position was found. In one stroke Welchman’s board turned a promising laboratory device into an industrial-scale war machine. Many who worked with it judged it the single most important refinement the Bombe ever received.

Iron, Brass, and Scale
An idea is not an instrument. Turning the Bombe into reliable hardware fell to the British Tabulating Machine Company (BTM) at Letchworth, some thirty miles from Bletchley, under its chief engineer Harold “Doc” Keen. BTM built business punched-card machines in peacetime, and Keen’s team knew how to make rows of fast, precise, electromechanical parts run for hours without faltering — exactly the skill the Bombe demanded, since its drums had to spin, brush hundreds of contacts, and step in perfect synchrony.
The first machine, code-named Victory, was installed at Bletchley in March 1940. It worked, but being Turing’s original design, it suffered from the false-stop problem described above. The second machine incorporated Welchman’s diagonal board and was running by August 1940; nicknamed Agnus Dei — soon worn down to “Agnes”, then “Aggie” — it was the first Bombe in the form that would win the war, and its tangle of drums earned the whole family the affectionate label “spider”. From there production climbed steeply. By the war’s end Britain operated on the order of two hundred Bombes (211 by May 1945), tended around the clock by a workforce of nearly two thousand, most of them women of the Women’s Royal Naval Service — the “Wrens” — who plugged up the menus, watched for stops, and kept the machines running.
The story does not end on British soil. The German Navy’s four-rotor Enigma (Volume 11) multiplied the search space far beyond what the three-rotor Bombes could handle at speed, and the United States Navy responded by building its own, much faster Bombes — same logic, different and more powerful engineering — in large numbers from 1943. Those machines, and the desperate Battle of the Atlantic they were built to fight, are the subject of the next volume.

What the Bombe Was — and What It Was Not
It is tempting, in hindsight, to call the Bombe a computer and Turing its programmer. Resist the temptation, because the truth is more interesting. The Bombe was an electromechanical special-purpose search engine. It did exactly one thing: given a menu derived from a crib, it tested every starting position of a chosen rotor order for logical consistency and halted on the survivors. It had no memory of past results, executed no stored program, and could not be repurposed to balance a ledger or solve an equation. Change the problem and you re-plugged the menu and swapped the drums — you did not reprogram anything, because there was nothing to program.
The genuinely programmable, stored-program machine that emerged from Bletchley was Colossus — a different device, built to attack a different cipher (the Lorenz teleprinter machine, not Enigma), by a different route. That machine, and Turing’s own role in the lineage that runs from his 1936 paper to the post-war computer, belong to Volume 13. The point to carry away from this volume is subtler and, in its way, more impressive: Turing and Welchman did not out-muscle the Enigma by trying every key. They out-thought it. They built a machine whose job was not to compute the answer but to reason about another machine — to take a fragment of guessed German, fold it into a web of logical constraints, and let electricity discover, twenty times a second, which settings of the world were impossible. Everything that was impossible could be discarded. Whatever survived was, very probably, the truth.
That is the deepest idea in the whole Enigma saga, and it is why this volume sits at its centre. The codebreakers won not by brute force but by refusing to do any work the enemy’s own machine had already done for them.
Next — Volume 11: Breaking Naval Enigma & the Battle of the Atlantic.