turing’s bombes. solve enigma using known plaintext depending on german patterns, e.g. weather...

25
Turing’s Bombes

Upload: abigayle-cunningham

Post on 18-Jan-2018

215 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

Turing’s Bombes

Page 2: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 3: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 4: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

Example

URUXI CHDII FOEQA DIIYD RYHMN NQOVWUNIV ERSIT YHALL

UNIV ERSIT YHALL

OEQADIIYD RYHMN

UNIVERSITYHALL

ENIGMA

Page 5: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

OEQADIIYD RYHMN

UNIVERSITYHALL

PLUGBOARD

ROTORSsetting 1setting 2setting 3

… PLUGBOARD

Need to check for all possible rotor positions at setting 1

Page 6: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 7: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 8: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 9: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 10: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 11: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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”

Page 12: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

What it looked like

Page 13: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

What it looked like

Page 14: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

SchematicRed = top drum, Green = middle drum, Blue = bottom drum

Page 15: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 16: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

Simplified example with 8 lettersa,b,c,d,e,f,g,h

123456789BEACHHEADEDBGEAHDB

Page 17: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

Simplified example with 8 letters

Page 18: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

Simplified example with 8 letters

Page 19: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

Simplified example with 8 letters

Turing’s Version

Page 20: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

Simplified example with 8 letters

Page 21: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 22: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 23: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 24: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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

Page 25: Turing’s Bombes. Solve Enigma using known plaintext Depending on German patterns, e.g. weather reports Sometimes setup by seeding/farming Depended on

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