Parkering og adgangsregulering

Problemet
Modellen
Enigma
Konklusion
Statistisk sproggenkendelse anvendt i
kryptoanalyse
Søren Møller
UNF Matematikcamp 2010
12.07.2010
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Problemet
Kryptering
Bruteforce
Modellen
Markov kæder
Unigrammer
Bigrammer
Statistiker
Enigma
Maskinen
Nøglerum
Bruteforce
Konklusion
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Kryptering
Bruteforce
Kryptering
Alice
meddelelse
Charlie
−→
kode
−→
nøgle
Søren Møller UNF Matematikcamp 2010
Bob
kode
−→
meddelelse
nøgle
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Kryptering
Bruteforce
Bruteforce
I
Id´e: gennemløbe alle mulige nøgler
I
Kræver: acceptabelt antal nøgler
I
Kræver: entydig klartekst
I
Kræver: genkendelse af klartekst
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Markov kæder
Unigrammer
Bigrammer
Statistiker
Antagelser
I
Klartekst og krypteret tekst samme alfabet
I
Alfabet kendt
I
Klartekst sprog kendt
I
Krypteringsmetode kendt
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Markov kæder
Unigrammer
Bigrammer
Statistiker
Markov kæder (1.-ordens)
I
Matematisk model for sprog
I
Ukorrekt, men praktisk approksimation
I
A - Alfabet
I
pi,j - Overgangssandsynligheder
I
p•,i - Startsandsynligheder
P(Xn = i|Xn−1 = j) = pj,i ,
P(X1 = i) = p•,i ,
Søren Møller UNF Matematikcamp 2010
i, j ∈ A
i ∈A
(1)
(2)
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Markov kæder
Unigrammer
Bigrammer
Statistiker
Unigrammer
Fordeling af alfabetets tegn i en tekst
pi =
ni
,
n
i ∈A
(3)
Notation:
I
pi for sproget (ud fra et stort datasæt)
I
pˆi for tekststreng
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Markov kæder
Unigrammer
Bigrammer
Statistiker
Bigrammer
Fordeling af p˚
a hinanden følgende tegn i en tekst
pi,j =
ni,j
,
ni,∗
i, j ∈ A
(4)
Notation:
I
pi,j for sproget (ud fra et stort datasæt)
I
pˆi,j for tekststreng
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Markov kæder
Unigrammer
Bigrammer
Statistiker
Eksempler: Dansk
A
B
C
D
E
F
...
Q
...
sum
17420
2784
664
13072
28716
3384
...
12
...
184431
0.0945
0.0151
0.0036
0.0709
0.1557
0.0183
...
0.000065
...
1.0
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Markov kæder
Unigrammer
Bigrammer
Statistiker
Eksempler: Dansk / Tysk / Engelsk
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Markov kæder
Unigrammer
Bigrammer
Statistiker
Eksempler: Dansk - bigrammer
A
B
C
D
E
F
G
H
I
A
0.1487
0.2579
0.0663
0.0627
0.0178
0.0952
0.0756
0.2751
0.0109
B
0.0241
0.0061
0.0015
0.0077
0.0189
0.0030
0.0168
0.0002
0.0124
C
0.0035
0.0000
0.0301
0.0006
0.0067
0.0027
0.0008
0.0004
0.0105
Søren Møller UNF Matematikcamp 2010
D
0.0552
0.0018
0.0120
0.0321
0.1032
0.0207
0.1320
0.0021
0.0940
E
0.0152
0.2277
0.1566
0.5653
0.0118
0.0473
0.2152
0.1844
0.0326
F
0.0317
0.0011
0.0000
0.0099
0.0274
0.0219
0.0224
0.0015
0.0150
G
0.0997
0.0018
0.0015
0.0052
0.0278
0.0038
0.0268
0.0006
0.1506
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Markov kæder
Unigrammer
Bigrammer
Statistiker
Sinkov statistikken
S1 =
X
nˆi log(pi )
(5)
nˆi,j log(pi,j )
(6)
i
henholdsvis
S2 =
X
i,j
I
store værdier peger p˚
a sprog
I
ikke pæne statistiske egenskaber
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Markov kæder
Unigrammer
Bigrammer
Statistiker
χ2 -statistikken
X (ˆ
npˆi − nˆpi )2
nˆpi
(7)
X (ˆ
ni pˆi,j − nˆi pi,j )2
nˆi pi,j
(8)
χ21 =
i
henholdsvis
χ22 =
i,j
I
lave værdier peger p˚
a sprog
I
pæne statistiske egenskaber
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Markov kæder
Unigrammer
Bigrammer
Statistiker
Eksempler: Tekststrenge
Tekst
”Under campen vil ...”
”Denne grundlov gælder ...”
”jkljklsdfjklkljkld ...”
Markov-0
Markov-1
Søren Møller UNF Matematikcamp 2010
længde
339
339
339
339
339
S1
-941
-931
-1146
-951
-953
S2
-854
-826
-1291
-1094
-815
χ21
53
46
965
25
38
χ22
1166
455
12889
1840
521
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Enigma: Maskinen
I
Brugt af tyskerne under 2.
verdenskrig
I
Knækket i Bletchley Park
(Storbritannien)
I
Elektromekanisk maskine
CC-by-sa 3.0 by Jszigetvari
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Enigma: Krypteringen
I
Bogstaver (A-Z) sendes til
(A-Z)
I
Bogstaver sendes aldrig til
sig selv
I
Afbildning skifter mellem
hvert bogstav
CC-by-sa 3.0 by MesserWoland
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Eksempel
undercampenvildusomdeltagerbdeflgeforelsningerogls
eopgaverrelaterettilforelsningerneopgavernevilvrea
fvarierendesvrhedsgradsledesatderernogetforalleund
erviserneermatematikstuderendefrauniversitetetsomu
doveratstforforelsningerneogsaltidvilstklartilathj
lpemedatlseopgaverneherudoverfrvibesgafenrkkespnde
ndegsteforelserefrauniversitetsverdenen
bliver til
apwkmumhrcvudcbrnlrvxcndlnoukahsmpbahwjlwcojanuymf
valjqjpzbwpjfxudjzgsqkysgnaqgkvkhvztmmyamurgdtupoi
ajcqsvuqwkuaqkaovwazhhmnajjvbuundupjgycrpdzgntwbya
kopyxyvlaidlqlbxisxccblscvlywjyugzytxjftoqmaswqrlb
buil...
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Eksempel
og dekrypteret med den forkerte nøgle giver det
vqsftbiqhoidhgaebfvhaalibcuahczoohxwohqxputawdwsbo
odskygedmcythsibktldgupfsepfvuocwodwdprcpchlcjgnjo
fehtinfuklvlynpnfgkgeiwlzobkehkkvqyvlkgaakqpoweuqw
lzcgdgpczseighnzrynuyxdpgtbkndgtpyezlkdblcqyhuismt
ygcaiuftgsgeitqvvwweolfnqdicaaxbwhfwhntjjzxnpnkrpd
qhzxgisjiyitiraaixzcabykhwoymolpqiybsbictxvocxlfnh
zpikagfyipzegnfornegeiqcmpfanonbbcvwjhd
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Nøglerum
3 rotorer
1 reflektor
2 ringstillinger
3 startstilling
0 − 13 stikkabler
i alt
6.6 · 1079
7.9 · 1012
676
17576
5.3 · 1014
3 · 10114
Enigma med 4 rotorer cirka 2 · 10145
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Nøglerum i praksis
I
5 mulige rotorer kendt (M4: 8 + 2)
I
kun 1 mulig reflektor (M4: 2)
3 rotorer af 5
1 reflektor
2 ringstillinger
3 startstilling
instillinger ialt
0 − 13 stikkabler
i alt
Søren Møller UNF Matematikcamp 2010
60
1
676
17576
7.1 · 108
5.3 · 1014
3.8 · 1023
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Bruteforce
I
For mange nøgler at gennemløbe
I
Muligt at gennemløbe del-nøgler separat
I
(I dag) muligt at gennemløbe alt bortset fra stik
I
Tilsvarende for M4 men tydelig flere beregninger
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Bruteforce med sproggenkendelse
I
S og χ2 kan bruges til at genkende sprog i bruteforce
I
virker ogs˚
a n˚
ar f˚
a (0 − 10) stik ignoreres
I
kan bruge ”hillclimbing”p˚
a stik
I
knækker enigma i overskuelig tid
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Eksempler
Tekst
”Under campen vil ...”
Enigma
Forkert dekryptering
længde
339
339
339
Søren Møller UNF Matematikcamp 2010
S1
-941
-1441
-1379
S2
-854
-1064
-1095
χ21
53
14379
10241
χ22
1166
12912
10858
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Praktisk eksempel: første resultat
Date: 2010-07-10 23:03:59
Score: 5275469
UKW: B
W/0: 531
Stecker: AHBSCYDZEKGUIPJNLWMV
Rings: AAA
Message key: AVA
rsgesihkahzxohjkkeqjefhpnpajolonjjygwrawkirztdowcb
kvbrfonegarimwgobhitdspcrmbllawnticndaskntsaadmspa
...
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Praktisk eksempel: undervejs
Date: 2010-07-10 23:05:22
Score: 6683458
UKW: B
W/0: 531
Stecker: BDCHEMFLISJTNRPVQYUXWZ
Rings: AAT
Message key: KVE
uluppejalreiiarkonfrershotrajrkpaasefikqflavnjlnly
gnqlvngqqenkiotrbrendlompudesmseqgrajdtpchdsnagvef
...
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Praktisk eksempel: første læselige tekst
Date: 2010-07-10 23:07:38
Score: 11607687
UKW: B
W/0: 531
Stecker: ASBVCXDFGHIUJKLZMNOP
Rings: ACA
Message key: JVH
undercampdyzildusomdeltagerbdeflgefjrqlsningerogls
eopgaverrelrwyrettilforelsningerneopgcmfrnevilvrea
...
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Praktisk eksempel: næsten færdigt
Date: 2010-07-10 23:09:12
Score: 12513508
UKW: B
W/0: 531
Stecker: ASBVCXDFGHIUJKLZMNOP
Rings: ACW
Message key: JVD
undercampenvmldusomdeltagerbdeflgeforeusningerogls
eopgaverrelatekettilforelsningerneopgaveznevilvrea
...
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Maskinen
Nøglerum
Bruteforce
Praktisk eksempel: færdigt
Date: 2010-07-10 23:09:17
Score: 13627345
UKW: B
W/0: 531
Stecker: ASBVCXDFGHIUJKLZMNOP
Rings: ACX
Message key: JVE
undercampenvildusomdeltagerbdeflgeforelsningerogls
eopgaverrelaterettilforelsningerneopgavernevilvrea
...
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Konklusion
I
klassiske krypteringer kan knækkes med computerkraft
I
det kræver sproggenkendelse
I
statistik klarer jobbet
I
det virker ”overraskende”godt
I
implementeringen er forholdsvis simpel
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse
Problemet
Modellen
Enigma
Konklusion
Referencer
I
Ganesan, R. and Sherman, A.T., ”Statistical Techniques for Language Recognition: An Introduction and
Guide for Cryptoanalysts”, Cryptologia, 17:4, 1993, pp. 321–366
I
Ganesan, R. and Sherman, A.T., ”Statistical Techniques for Language Recognition: An Empirical Study
using Real and Simulated English”, Cryptologia, 18:4, 1994, pp. 289–331
I
I
I
Gillogly, J.G., ”Ciphertext-only Cryptoanalysis of Enigma”, Cryptologia, 19:4, 1995, pp. 405–413
I
enigma-suite, www.bytereef.org/enigma-suite.html
Miller, A.R., ”The Cryptographic Mathematics of Enigma”, Cryptologia, 19:1, 1995, pp. 65–80
Williams, H., ”Applying Statistical Language Recognition Techniques in the Ciphertext-only Cryptoanalysis
of Enigma”, Cryptologia, 24:1, 2000, pp. 4–17
Søren Møller UNF Matematikcamp 2010
Statistisk sproggenkendelse anvendt i kryptoanalyse