370 likes | 577 Views
Sissejuhatus andmeturbesse. Kristina Kallaste. Ülesanded monoalfabeedilistest šifritest. Ülesanne 1. Murda järgmine afiinse šifri abil moodustatud krüptogramm. PGTOGBZGPPGTOPJMPQIPJOUWOIPQGZ. Tähtede sagedused krüptogrammis on järgmised:. PGTOGBZGPPGTOPJMPQIPJOUWOIPQGZ P = 7 J = 2
E N D
Sissejuhatus andmeturbesse Kristina Kallaste
Ülesanne 1 • Murda järgmine afiinse šifri abil moodustatud krüptogramm. PGTOGBZGPPGTOPJMPQIPJOUWOIPQGZ
Tähtede sagedused krüptogrammis on järgmised: PGTOGBZGPPGTOPJMPQIPJOUWOIPQGZ P = 7 J = 2 G = 5 M = 1 T = 2 Q = 2 O = 4 I = 2 B = 1 U = 1 Z = 2 W = 1 P,G,O -> E,T,A Hüpoteesid: 1. P->E, G ->T 2. P->E, O->T 3. P->E, G->A 4. P->E, O->A 5. P->T, G->E 6. P->T, O->E 7. P->T, G->A ....
Hüpotees 1 : P(15) tähendab e(4)-d, G(6) tähendab t(19)-d (P->E, G ->T) Saame võrrandisüsteemi: 4a+b=15 19a+b=6 millest järeldub, et (arvuvallas Z26) a=15, b=7 P->E G->T T(19)-> G15x+7=19 (mod26) x=6 (G) O(14)-> X 15x+7=14 (mod26) x=23 (X) B(1)-> K 15x+7=1 (mod26) x=10 (K) Z(25)-> W 15x+7=25 (mod26) x=22 (W) J(9)-> O 15x+7=9 (mod26) x=14 (O) M(12)-> J 15x+7=12 (mod26) x=9 (J) Q(16)-> L 15x+7=16 (mod26) x=11 (L) I(8)-> H 15x+7=8 (mod26) x=7 (H) U(20)-> N 15x+7=20 (mod26) x=13 (N) W(22)-> B 15x+7=22 (mod26) x=1 (B) ETGXTKWTEETG…. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 2425
Hüpotees 2 : P(15) tähendab e(4)-d, O(14) tähendab t(19)-d (P->E, O ->T) Saame võrrandisüsteemi: 4a+b=15 19a+b=14 millest järeldub, et (arvuvallas Z26) a=19, b=17 P->E O->T T(19)-> W19x+17=19 (mod26) x=22 (W) G(6)-> J 19x+17=6 (mod26) x=9 (J) B(1)-> G 19x+17=1 (mod26) x=6 (G) Z(25)-> K 19x+17=25 (mod26) x=10 (K) J(9)-> Q 19x+17=9 (mod26) x=16 (Q) M(12)-> X 19x+17=12 (mod26) x=23 (X) Q(16)-> P 19x+17=16 (mod26) x=15 (P) I(8)-> F 19x+17=8 (mod26) x=5 (F) U(20)-> H 19x+17=20 (mod26) x= 7 (H) W(22)-> D 19x+17=22 (mod26) x=3 (D) EJWTJGKJEEJW…. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 2425
Hüpotees 6 : P(15) tähendab t(19)-d, O(14) tähendab e(4)-d (P->T, O ->E) Saame võrrandisüsteemi: 19a+b=15 4a+b=14 millest järeldub, et (arvuvallas Z26) a=7, b=12 P->T O->E T(19)->B 7x+12=19 (mod26) x=1 (B) G(6)->O7x+12=6 (mod26) x=14 (O) B(1)->R7x+12=1 (mod26) x=17 (R) Z(25)->N7x+12=25 (mod26) x=13 (N) J(9)->H7x+12=9 (mod26) x=7 (H) M(12)->A7x+12=12 (mod26) x=0 (A) Q(16)->I7x+12=16 (mod26) x=8 (I) I(8)->S7x+12=8 (mod26) x=18 (S) U(20)->Q7x+12=20 (mod26) x= 16 (Q) W(22)->U7x+12=22 (mod26) x=20 (U) TOBEORNOTTOBETHATISTHEQUESTION A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 2425
Ülesanne 2 • Murda järgmine Vigenere šifri abil moodustatud krüptogramm. CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBWRVXUOAKXAOSXXWEAHBWGJMMQMNKGRFVGXWTRZXWIAKLXFPSKAUTEMNDCMGTSXMXBTUIADNGMGPSRELXNJELXVRVPRTULHDNQWTWDTYGBPHXTFALJHASVBFXNGLLCHRZBWELEKMSJIKNBHWRJGNMGJSGLXFEYPHAGNRBIEQJTAMRVLCRREMNDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBIPEEWEVKAKOEWADREMXMTBHHCHRTKDNVRZCHRCLQOHPWQAIIWXNRMGWOIIFKEE
Vigenere’i šifri murdmine • Kõigepealt leitakse võtmemärkide arv m statistiliste meetoditega. • Seejärel leitakse (ka statistiliste meetoditega) võtmemärkide (k1,…,km) vahed (m-1 tükki). • Avaldatakse kõik võtmemärgid üheainsa võtmemärgi kaudu. • Proovitakse sagedusanalüüsi abil saadavaid võtmekandidaate. Sissejuhatus andmeturbesse. Loeng 5
Kasiski test • Idee: kaks identset avateksti lõiku krüpteeritakse identseteks lõikudeks, kui nende lõikude alguspunktide vahe jagub m-ga. • Vastupidi: Kaks identset krüptogrammi lõiku pikkusega vähemalt kolm annavad suure tõenäosusega identsed avateksti lõigud.
Samm 1 Leiame võtmemärkide arvu m CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBWRVXUOAKXAOSXXWEAHBWGJMMQMNKGRFVGXWTRZXWIAKLXFPSKAUTEMNDCMGTSXMXBTUIADNGMGPSRELXNJELXVRVPRTULHDNQWTWDTYGBPHXTFALJHASVBFXNGLLCHRZBWELEKMSJIKNBHWRJGNMGJSGLXFEYPHAGNRBIEQJTAMRVLCRREMNDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBIPEEWEVKAKOEWADREMXMTBHHCHRTKDNVRZCHRCLQOHPWQAIIWXNRMGWOIIFKEE Alguspunktid: 1, 166, 236,276 ja 286 Lõikude alguspunktide vahe (esimesest) on 165,235,275 ja 285 süt(165,235,275,285)=?
süt(165,235,275,285)=5 => suure tõenäosusega on võtmemärkide arv 5. (Kasiski test: kaks identset avateksti lõiku krüpteeritakse identseteks lõikudeks, kui nende lõikude alguspunktide vahe jagub m-ga)
Samm 2Jagame krüptogrammi veergudeks: Y1:CVABWEBQBUAWWQRWWXANTBDPXXRDWBFAXCWMNJJFAIACNRNCATBWKDMCDCQQXWK Y2:HOEITESEWOOEGMFTIFUDSTNSNVTNDPASNHESBGSEGEMRDRSHEAIEORTHNHOANOE Y3:RARANOBQRASAJNVRAPTCXUGRJRUQTHLVGRLJHNGYNQRRGINRYQPVEEBRVRHIRIE Y4:EHAXXPQEVKXHMKGZKSEMMIMEEVLWYXJBLZEIWMLPRJVELMRQEEEKWMHTRCPIMI Y5:EMTXBHMRXXXBMGXXLKMGXAGLLPHTGTHFLBKKRGXHBTLMXGWHVBEAAXHKZLWWGF ...ja leiame kokkulangevuse indeksi Ic(X) valemi Ic(X) = järgi. f0(f0-1) + … + f25(f25-1) n(n-1) CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBWRVXUOAKXAOSXXWEAHBWGJMMQMNKGRFVGXWTRZXWIAKLXFPSKAUTEMND……
Võtmepikkuse leidmine: põhiidee • Valime mingi arvu m ja jagame krüptogrammi Y=y1y2…yn veergudeks järgmisel viisil: • Y1: y1y1+my1+2m … y1+km • Y2: y2y2+my2+2m … y2+km…………………… • Ym: ymy2my3m …y(k+1)m • Kui m on õige võtmepikkus, siis on Yi lähedane inglisekeelsele tekstile ja Ic(Yi) 0.065. • Kui aga m ei ole õige võtmepikkus, siis on Yi lähedasem juhuslikule sõnele, sest erinevad tähed krüpteeritakse erinevate võtmemärkidega
Kokkulangevuse indeks • Olgu X=x1x2…xn, kus xi{A,…Z}. • Def. Jada Xkokkulangevuse indeksiks Ic(X) nimetatakse tõenäosust, et kaks juhuslikult valitud elementi x ja x’ on võrdsed. • f0,f1,…f25 -- tähtede A,B,…Z esinemiste arv. Siis: Ic(X) = f0(f0-1) + … + f25(f25-1) n(n-1)
Y1:CVABWEBQBUAWWQRWWXANTBDPXXRDWBFAXCWMNJJFAIACNRNCATBWKDMCDCQQXWKY1:CVABWEBQBUAWWQRWWXANTBDPXXRDWBFAXCWMNJJFAIACNRNCATBWKDMCDCQQXWK Pikkus (n): 63 sümbolit Tähtede esinemissagedused (f) C = 6V = 1 A = 7 B = 6 W = 9 E = 1 Q = 4 U = 1 R = 3 X = 5 N = 4 D = 4 T = 2 P = 1F = 2M = 2 J = 2I = 1K = 2 Ic(X)== = =0,063 6*5+1*0+7*6+6*5+9*8+1*0+4*3+1*0+3*2+4*3+4*3+2*1+1*0+2*1+2*1+2*1+1*0+2*1 63*62 246 3906
Y2:HOEITESEWOOEGMFTIFUDSTNSNVTNDPASNHESBGSEGEMRDRSHEAIEORTHNHOANOEY2:HOEITESEWOOEGMFTIFUDSTNSNVTNDPASNHESBGSEGEMRDRSHEAIEORTHNHOANOE Pikkus (n): 63 sümbolit Tähtede esinemissagedused (f) H = 5O = 6 E = 10 I = 3 T = 5 S = 7 W = 1 G = 3 M = 2 F = 2 U = 1 D = 3 N = 6 P = 1V = 1A = 3 B = 1R = 3 Ic(X)= = = =0,068 5*4+6*5+10*9+3*2+5*4+7*6+3*2+2*1+2*1+3*2+6*5+3*2+3*2 63*62 266 3906
Y3:RARANOBQRASAJNVRAPTCXUGRJRUQTHLVGRLJHNGYNQRRGINRYQPVEEBRVRHIRIE Pikkus (n): 63 sümbolit Tähtede esinemissagedused (f) R = 13 A = 5 N = 5 O = 1 B = 2 Q = 4 S = 1 J = 3 V = 4 P = 2 T = 2 C = 1 X = 1 U = 2 G = 4 H = 3 L = 2 Y = 2 I = 3 E = 3 Ic(X)= = = = 0,069 13*12+5*4+5*4+2*1+4*3+3*2+4*3+2*1+2*1+2*1+4*3+3*2+2*3+2*3+3*2+3*2 63*62 268 3906
Y4:EHAXXPQEVKXHMKGZKSEMMIMEEVLWYXJBLZEIWMLPRJVELMRQEEEKWMHTRCPIMIY4:EHAXXPQEVKXHMKGZKSEMMIMEEVLWYXJBLZEIWMLPRJVELMRQEEEKWMHTRCPIMI Pikkus (n): 62 sümbolit Tähtede esinemissagedused (f) E = 10 H = 3 A = 1 X = 4 P = 3 Q = 2 V = 3 K = 4 M = 8 G = 1 Z = 2 S = 1 I = 4 L = 4 W = 3 Y = 1 J = 2 B = 1 R = 3 T = 1 C = 1 Ic(X)= = = = 0,061 10*9+3*2+4*3+3*2+2*1+3*2+4*3+8*7+2*1+4*3+4*3+3*2+2*1+3*2 62*61 230 3782
Y5:EMTXBHMRXXXBMGXXLKMGXAGLLPHTGTHFLBKKRGXHBTLMXGWHVBEAAXHKZLWWGFY5:EMTXBHMRXXXBMGXXLKMGXAGLLPHTGTHFLBKKRGXHBTLMXGWHVBEAAXHKZLWWGF Pikkus (n): 62 sümbolit Tähtede esinemissagedused (f) E = 2 M = 5 T = 4 X = 10 B = 5 H = 6 R = 2 G = 7 L = 6 K = 4 A = 3 P = 1 F = 2 W = 3 V = 1 Z = 1 Ic(X)= = = 0,072 2+20+12+90+20+30+2+42+30+12+6+2+6 62*61 274 3782
Samm 3 • Leiame omavahelise kokkulangevuse indeksid Ic(Yi,Yjg) kõigi nihkeväärtuste g=0…25 korral ja saame i, jIc(Yi,Yjg) 1,2: 0.029 0.027 0.028 0.034 0.040 0.038 0.026 0.026 0.052 0.069 0.045 0.026 0.038 0.043 0.038 0.044 0.038 0.029 0.042 0.041 0.034 0.037 0.052 0.046 0.042 0.037 1,3: 0.040 0.034 0.040 0.034 0.028 0.054 0.049 0.034 0.030 0.056 0.051 0.046 0.040 0.041 0.036 0.038 0.033 0.027 0.038 0.037 0.032 0.037 0.055 0.030 0.025 0.037 1,4: 0.034 0.043 0.026 0.027 0.039 0.050 0.040 0.033 0.030 0.034 0.039 0.045 0.044 0.034 0.039 0.046 0.045 0.038 0.056 0.047 0.033 0.027 0.040 0.038 0.040 0.035 1,5: 0.043 0.033 0.028 0.046 0.043 0.045 0.039 0.032 0.027 0.031 0.036 0.041 0.042 0.024 0.020 0.048 0.070 0.044 0.029 0.039 0.044 0.043 0.047 0.034 0.026 0.046
f0f’-g + … + f25f’25-g nn’ Ic(X,Yg) = Tähtede esinemissagedused (f) C = 6V = 1 A = 7 B = 6 W = 9 E = 1 Q = 4 U = 1 R = 3 X = 5 N = 4 D = 4 T = 2 P = 1F = 2M = 2 J = 2I = 1K = 2 Y1:CVABWEBQBUAWWQRWWXANTBDPXXRDWBFAXCWMNJJFAIACNRNCATBWKDMCDCQQXWK Y2:HOEITESEWOOEGMFTIFUDSTNSNVTNDPASNHESBGSEGEMRDRSHEAIEORTHNHOANOE Tähtede esinemissagedused (f) H = 5O = 6 E = 10 I = 3 T = 5 S = 7 W = 1 G = 3 M = 2 F = 2 U = 1 D = 3 N = 6 P = 1V = 1A = 3 B = 1R = 3 g=0 Ic(X,Yg) = = = = 0,029 1*1+7*3+6*1+9*1+1*10+1*1+3*3+4*6+4*3+2*5+1*1+2*2+2*2+1*3 63*63 115 3969 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 2425
f0f’-g + … + f25f’25-g nn’ Ic(X,Yg) = Tähtede esinemissagedused (f) C = 6V = 1 A = 7 B = 6 W = 9 E = 1 Q = 4 U = 1 R = 3 X = 5 N = 4 D = 4 T = 2 P = 1F = 2M = 2 J = 2I = 1K = 2 Y1:CVABWEBQBUAWWQRWWXANTBDPXXRDWBFAXCWMNJJFAIACNRNCATBWKDMCDCQQXWK Y2:HOEITESEWOOEGMFTIFUDSTNSNVTNDPASNHESBGSEGEMRDRSHEAIEORTHNHOANOE Tähtede esinemissagedused (f) H = 5O = 6 E = 10 I = 3 T = 5 S = 7 W = 1 G = 3 M = 2 F = 2 U = 1 D = 3 N = 6 P = 1V = 1A = 3 B = 1R = 3 g=1 Ic(X,Yg) = = = = =0,027 f(A) f’(Z)+f(B) f’(A)+…+f(Z) f’(Y) 63*63 6*1+1*1+6*3+9*1+1*3+4*1+1*5+5*1+4*2+2*7+1*6+2*10+2*3+1*5 63*63 109 3969 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 2425
Omavahelise kokkulangevuse indeksid(2) i, jIc(Yi,Yjg) 2,3: 0.046 0.049 0.041 0.032 0.036 0.035 0.037 0.030 0.025 0.040 0.035 0.030 0.041 0.068 0.041 0.033 0.038 0.045 0.033 0.033 0.028 0.034 0.046 0.053 0.042 0.030 2,4: 0.046 0.035 0.044 0.045 0.034 0.031 0.041 0.046 0.040 0.048 0.045 0.034 0.024 0.028 0.042 0.040 0.027 0.035 0.050 0.035 0.033 0.040 0.057 0.043 0.029 0.028 2,5: 0.033 0.033 0.037 0.047 0.027 0.018 0.044 0.081 0.051 0.030 0.031 0.045 0.039 0.037 0.028 0.027 0.031 0.040 0.040 0.038 0.041 0.046 0.045 0.043 0.035 0.031
Omavahelise kokkulangevuse indeksid(3) i, jIc(Yi,Yjg) 3,4: 0.039 0.036 0.041 0.034 0.037 0.061 0.035 0.041 0.030 0.059 0.035 0.036 0.034 0.054 0.031 0.033 0.036 0.037 0.036 0.029 0.046 0.033 0.052 0.033 0.035 0.031 3,5: 0.036 0.034 0.034 0.036 0.030 0.044 0.044 0.050 0.026 0.041 0.052 0.051 0.036 0.032 0.033 0.034 0.052 0.032 0.027 0.031 0.072 0.036 0.035 0.033 0.043 0.027 4,5: 0.052 0.039 0.033 0.039 0.042 0.043 0.037 0.049 0.029 0.028 0.037 0.061 0.033 0.034 0.032 0.053 0.034 0.027 0.039 0.043 0.034 0.027 0.030 0.039 0.048 0.036
Samm 4Võtme K=(k1,k2,k3,k4,k5) leidmine Arvestades tumedalt trükitud väärtusi kuimittejuhuslikke ja õigele nihkele g vastavaid, saame järgmised võrrandid võtmete jaoks: k1 – k2 = 9 k1 – k5 = 16 k2 – k3 = 13 k2 – k5 = 7 k3 – k5 = 20 k4 – k5 = 11, millest saame omakorda, et: k2 = k1 + 17 k3 = k1 + 4 k4 = k1 + 21 k5 = k1 + 10 S.t võti on kujul (k1, k1 + 17, k1 + 4, k1 + 21, k1 + 10). * Avaldatakse kõik võtmemärgid üheainsa võtmemärgi kaudu
Võtme K=(k1,…,km) leidmine f0f’-g + … + f25f’25-g nn’ • Olgu Ic(X,Yg) = • Kui Ic(Yi,Yjg) 0.065, siis suure tõenäosusega g=ki-kj.
Võtme K=(k1,k2,k3,k4,k5) leidmine (2) • Võti on kujul (k1, k1 + 17, k1 + 4, k1 + 21, k1 + 10) AREVK BSFWL CTGXM .... IZMDS JANET A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 2425
Samm 5Avateksti leidmine THEALMONDTREEWASINTENTATIVEBLOSSOMTHEDAY.. JANETJANETJANETJANETJANETJANETJANETJANET.. CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQER.. THEALMONDTREEWASINTENTATIVEBLOSSOMTHEDAYSWERELONGEROFTENENDINGWITHMAGNIFICENTEVENINGSOFCORRUGATEDPINKSKIESTHEHUNTINGSEASONWASOVERWITHHOUNDSANDGUNSPUTAWAYFORSIXMONTHSTHEVINEYARDSWEREBUSYAGAINASTHEWELLORGANIZEDFARMERSTREATEDTHEIRVINESANDTHEMORELACKADAISICALNEIGHBORSHURRIEDTODOTHEPRUNINGTHEYSHOULDHAVEDONEINNOVEMBER A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 2425
Kodutöö Murra Vigenere shifriga moodustatud krüptogramm: ZHQQCAQDGFTUQGMERGWERRROHSQDROKTTHONYIAXSFKIZJTAGOUVTAWRKHVQUYBRSELBXHKQBBGWTTHRQDRQVOYHSGETXHTUHSKRUODNFUYFKEWHYELNMQYAUDQUIRBOGWHUQKFKEWHYUVNAWRMQDAPLKVEXHCFHDEWADWWUWHXLKQOYAQEEZHQQYAXFUQAXOYRLNPWHQUISKTWHYKRUODNEWOBBOGGOZWHMYEFRTDBAXOTTHRQVTAITTHKQBS
Näide • Leia Huffmani puu ja vastavad koodid järgmisele juhuslikulesuurusele X väärtuste hulgaga {a,b,c,d,e} ja tõenäosustega p(a)= 0.05, p(b)= 0.10, p(c)= 0.12, p(d)= 0.13, p(e)= 0.60 Leia keskmine koodi pikkus ℓ ja Shannoni entroopia H[X].
Definitsioon. Olgu X juhuslik suurus, millel on lõplik hulk hulk võimalikke väärtusi siis suuruseX(Shannoni)entroopiaks nim. suurust H(X) = -i pilog2pi = -i p[X=xi] log2 p[X=xi] • Keskmine koodi pikkus ℓ ℓ(f)= p(x)|f(x)|
Ülesanne 3 • Leia Huffmani puu ja vastavad koodid järgmisele juhuslikulesuurusele X väärtuste hulgaga {x1, . . . , x7} ja tõenäosustega p(x1)=0.12, p(x2)= 0.08, p(x3)= 0.11, p(x4)= 0.17, p(x5)= 0.22, p(x6)=0.1, p(x7)= 0.2. Leia keskmine koodi pikkus ℓ ja Shannoni entroopia H[X].
Ülesanne 4 • Juhuslik suurus Xvalitakse ühtlase jaotusega hulgast {1, 2, ...,16}.Juhuslik suurus Y arvutatakse juhuslikust suurusest X valemi Y=X2mod17 järgi. Leia juhusliku suuruse Y Shannoni entroopia H[Y ].
Ülesanne 5 (iseseisvaks uurimiseks) • Millistel tingimustel langeb Huffmanikoodi keskmine pikkus täpselt kokku Shannoni entroopiaga?