Title: Turings Bombes
1Turings Bombes
2Solve Enigma using known plaintext
- Depending on German patterns, e.g. weather
reports - Sometimes setup by seeding/farming
- Depended on Engima characteristics
- No letter enciphered to itself
- Self-inverse of cipher
3Procedure (by hand)
- Find a crib piece of known plaintext
- Find its alignment
- No letter matches reduces possibilities
- All possible alignments may need to be tested
- Test an alignment by working through possible
plugboard settings for every rotor setting - Inconsistency eliminates this rotor setting
- Consistent plugboard setting makes this rotor
setting a likely candidate test it on the rest
of the message
4Example
UNIV ERSIT YHALL
URUXI CHDII FOEQA DIIYD RYHMN NQOVW
UNIV ERSIT YHALL
5Need to check for all possible rotor positions at
setting 1
ROTORS setting 1setting 2setting 3
OEQADIIYD RYHMN
UNIVERSITYHALL
P L U G B O A R D
P L U G B O A R D
6Checking one rotor setting
ABCDEFGHIJKLM NOPQRSTUVWXYZJNPXFEZVRAQUS 1
BWCKIMYLHODTG BAONURQJZHPTS 2 DCKGFMLEYXWVI
VGIMPYBWCZURD 3 TXESLQNKAHOFJ FSWUGAEQPVTRO 4
YMIHLBKDJCZNX UILXONWVBRQCT 5
FESKJPMAHGDZYTZWXPGFONQRVS 6 IHEJKMAYLCDUB
HNUXKSYARQEML 7 BPOJIFVCTZDGW MENVBZLQSYWGA 8
CRXHOIUTDKPJF OVRUGHEFYMNZJ 9 KAXSCQWDBTPIL
QEGYBKCVMOFTI 10 ZJXASRLWHUPDN OWPFGDEVTNSXQ 11
JACMYKIZHBLRU IFRYJBNZAEWOP 12 GLMVCUXSQKTDH
YSEMCWXPZRNQD 13 KUHLJBVOTFGAI LMVJUNWZRDPAB 14
FTKYIXOECGSQH
Assume I-A
OEQADIIYD RYHMN
UNIVERSITYHALL
and continue
7Menu is a summary of relationships
U
O
N
E
T
D
L
M
I
R
Q
10
7
8
S
Y
H
A
V
8Checking a rotor setting
- All possible plugboard connections for a letter
are generated means this setting cannot work - All plugboard connections generated are
consistent means this is a likely rotor setting - All but one plugboard setting are generated
means the other is likely correct
9How to mechanize this?
- Need an enigma for each link indicated
- Enigmas should be set the given number of steps
apart if the link is X, then it should be X-1
steps ahead of link 1. - Double-ended, so they can be chained together.
- Need to arrange feedback into the system
10How to mechanize this?
- Each letter has 26 wires, one for each possible
plugboard setting - One wire is selected for one letter (say I-A as
in our example) - Current goes through that wire into the enigma
set at position 8 (and the one at position 3) - All the outputs of 8 are linked to Y, but only
one (M-Y) is activated. - This is attached to the M-Y wire feeding into
enigma set at position 10. All its 26 outputs go
to R. Output I-R is selected. - The I inputs now go into R at positions 3 and 8
and the process continues
11How to mechanize this?
- Turing had the idea of this mechanism
- Welchman added the observation that the links are
all two-way - If M-Y is selected, then Y-M should also be
selected. - He devised a wiring that made connections so the
circuits reflected this the diagonal board
12What it looked like
13What it looked like
14Schematic
Red top drum, Green middle drum, Blue
bottom drum
15One set of drums One Enigma
- Set of three rotors and reflector
- Left wires are 26 letters in
- Right wire are 26 letters out
- These wires are used to connect according to the
menu
16Simplified example with 8 lettersa,b,c,d,e,f,g,h
- 123456789
- BEACHHEAD
- EDBGEAHDB
17Simplified example with 8 letters
18Simplified example with 8 letters
19Simplified example with 8 letters
Turings Version
20Simplified example with 8 letters
21Circuits carry out trace electricallyProcess
- Set voltage to one wire for selected letter
- For example E-A
- Register includes all wires for a selected letter
- For example all E wires
- For a given position of the rotors, let circuit
build
22Circuits carry out trace electricallyThree
outcomes
- Circuits cascade until all E wires are connected
to voltage indicates rotor setting does not
work - Circuits cascade until all but one E wire are
connected indicates the rotor setting works for
the unselected wire - Circuits are consistent, only one E wire (and
only one for any other letter) is live
indicates rotor setting is likely solution
23Bombe rotates through rotor settings
- When all wires in E register are on, continue to
next setting - When one or more wires are not on, stop
- Could be one of the situations that indicates a
possible rotor setting - The setting must be checked for consistency
- If consistent, then check to see if decode results
24Bombe capacity
- One row of Bombe has 12 pseudo-enigmas connected
(means max of 12 links) - Each of three rows is set to a different rotor
order - Top rotors move at 120 rpm
- This means 26 120 rotor positions per minute!
- 5 2/3 minutes to check all 17,576 positions for
the given rotor order - Motion stops as described
- rotor position needs to be recorded and checked,
then bombe is restarted
25Bombe
- Once one message is broken for an enigma group
(army, naval, etc), then all messages can be
decoded for that day - At midnight, a new day-key would take effect and
the process would start again