turing’s bombes
DESCRIPTION
Turing’s Bombes. Solve 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. Procedure (by hand). Find a crib – piece of known plaintext - PowerPoint PPT PresentationTRANSCRIPT
Turing’s Bombes
Solve 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
Procedure (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
Example
URUXI CHDII FOEQA DIIYD RYHMN NQOVWUNIV ERSIT YHALL
UNIV ERSIT YHALL
OEQADIIYD RYHMN
UNIVERSITYHALL
ENIGMA
OEQADIIYD RYHMN
UNIVERSITYHALL
PLUGBOARD
ROTORSsetting 1setting 2setting 3
… PLUGBOARD
Need to check for all possible rotor positions at setting 1
Checking one rotor settingOEQADIIYD RYHMN
UNIVERSITYHALL
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
and continue
1 V-Q, M-Y, R-T, S-H,
3 8 6 7
2 I-R, L-Y, K-Y
10 10 11
3 N-I, G-I, W-I
6 8 8
Menu is a summary of relationships
U
N E
I
TDLM
O
R Q
YHAV S
1
13 14 2 5 9
36
4 12 11
10 78
Checking 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
How 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
How 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
How 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”
What it looked like
What it looked like
SchematicRed = top drum, Green = middle drum, Blue = bottom drum
One 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
Simplified example with 8 lettersa,b,c,d,e,f,g,h
123456789BEACHHEADEDBGEAHDB
Simplified example with 8 letters
Simplified example with 8 letters
Simplified example with 8 letters
Turing’s Version
Simplified example with 8 letters
Circuits 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
Circuits 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
Bombe 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
Bombe 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
Bombe• 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