250 likes | 361 Views
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
E N D
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
UNIVERSITYHALL OEQADIIYD RYHMN ENIGMA Example UNIV ERSIT YHALL URUXI CHDII FOEQA DIIYD RYHMN NQOVW UNIV ERSIT YHALL
Need to check for all possible rotor positions at setting 1 ROTORS setting 1setting 2setting 3… UNIVERSITYHALL OEQADIIYD RYHMN P L U G B O A R D P L U G B O A R D
3 8 6 7 1 V-Q, M-Y, R-T, S-H, 10 10 11 2 I-R, L-Y, K-Y 6 8 8 3 N-I, G-I, W-I Checking one rotor setting ABCDEFGHIJKLM NOPQRSTUVWXYZJNPXFEZVRAQUS 1 BWCKIMYLHODTG BAONURQJZHPTS 2 DCKGFMLEYXWVIVGIMPYBWCZURD 3 TXESLQNKAHOFJ FSWUGAEQPVTRO 4 YMIHLBKDJCZNXUILXONWVBRQCT 5 FESKJPMAHGDZYTZWXPGFONQRVS 6 IHEJKMAYLCDUBHNUXKSYARQEML 7 BPOJIFVCTZDGW MENVBZLQSYWGA 8 CRXHOIUTDKPJFOVRUGHEFYMNZJ 9 KAXSCQWDBTPIL QEGYBKCVMOFTI 10 ZJXASRLWHUPDNOWPFGDEVTNSXQ 11 JACMYKIZHBLRU IFRYJBNZAEWOP 12 GLMVCUXSQKTDHYSEMCWXPZRNQD 13 KUHLJBVOTFGAI LMVJUNWZRDPAB 14 FTKYIXOECGSQH Assume I-A UNIVERSITYHALL OEQADIIYD RYHMN and continue
3 5 2 14 13 1 6 4 12 11 9 Menu is a summary of relationships U O M L N E D T R I Q 10 8 7 S V A H Y
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”
Schematic Red = 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 123456789 BEACHHEAD EDBGEAHDB
Simplified example with 8 letters Turing’s Version
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