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