Upload
shaun
View
80
Download
4
Embed Size (px)
DESCRIPTION
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 =7J =2 - PowerPoint PPT Presentation
Citation preview
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:PGTOGBZGPPGTOPJMPQIPJOUWOIPQGZP = 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->E6. P->T, O->E7. 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=1519a+b=6millest järeldub, et (arvuvallas Z26) a=15, b=7
P->EG->TT(19)-> G 15x+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 Z0 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=1519a+b=14millest järeldub, et (arvuvallas Z26) a=19, b=17
P->EO->TT(19)-> W 19x+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 Z0 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=154a+b=14millest järeldub, et (arvuvallas Z26) a=7, b=12
P->TO->ET(19)-> B 7x+12=19 (mod26) x=1 (B)G(6)-> O 7x+12=6 (mod26) x=14 (O)B(1)-> R 7x+12=1 (mod26) x=17 (R)Z(25)-> N 7x+12=25 (mod26) x=13 (N)J(9)-> H 7x+12=9 (mod26) x=7 (H) M(12)-> A 7x+12=12 (mod26) x=0 (A)Q(16)-> I 7x+12=16 (mod26) x=8 (I)I(8)-> S 7x+12=8 (mod26) x=18 (S)U(20)-> Q 7x+12=20 (mod26) x= 16 (Q)W(22)-> U 7x+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 Z0 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 2425
Ülesanded polüalfabeedilistest šifritest
Ü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 286Lõikude alguspunktide vahe (esimesest) on 165,235,275 ja 285sü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:CVABWEBQBUAWWQRWWXANTBDPXXRDWBFAXCWMNJJFAIACNRNCATBWKDMCDCQQXWKY2:HOEITESEWOOEGMFTIFUDSTNSNVTNDPASNHESBGSEGEMRDRSHEAIEORTHNHOANOEY3:RARANOBQRASAJNVRAPTCXUGRJRUQTHLVGRLJHNGYNQRRGINRYQPVEEBRVRHIRIEY4:EHAXXPQEVKXHMKGZKSEMMIMEEVLWYXJBLZEIWMLPRJVELMRQEEEKWMHTRCPIMIY5: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: y1 y1+m y1+2m … y1+km
Y2: y2 y2+m y2+2m … y2+km ……………………
Ym: ym y2m y3m …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 X kokkulangevuse 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:CVABWEBQBUAWWQRWWXANTBDPXXRDWBFAXCWMNJJFAIACNRNCATBWKDMCDCQQXWK
Pikkus (n): 63 sümbolitTähtede esinemissagedused (f)C = 6 V = 1 A = 7 B = 6 W = 9 E = 1 Q = 4 U = 1 R = 3 X = 5 N = 4 D = 4 T = 2 P = 1 F = 2 M = 2J = 2 I = 1 K = 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:HOEITESEWOOEGMFTIFUDSTNSNVTNDPASNHESBGSEGEMRDRSHEAIEORTHNHOANOE
Pikkus (n): 63 sümbolit
Tähtede esinemissagedused (f)H = 5 O = 6 E = 10 I = 3
T = 5 S = 7 W = 1 G = 3
M = 2 F = 2 U = 1 D = 3
N = 6 P = 1 V = 1 A = 3
B = 1 R = 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*62268
3906
Y4: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*61230
3782
Y5: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,0722+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 saamei, j Ic(Yi,Yj
g)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.0290.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.0300.056 0.051 0.046 0.040 0.041 0.036 0.038 0.033 0.0270.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.0300.034 0.039 0.045 0.044 0.034 0.039 0.046 0.045 0.0380.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.0270.031 0.036 0.041 0.042 0.024 0.020 0.048 0.070 0.0440.029 0.039 0.044 0.043 0.047 0.034 0.026 0.046
Ic(X,Yg) =
Y1:CVABWEBQBUAWWQRWWXANTBDPXXRDWBFAXCWMNJJFAIACNRNCATBWKDMCDCQQXWK
Y2:HOEITESEWOOEGMFTIFUDSTNSNVTNDPASNHESBGSEGEMRDRSHEAIEORTHNHOANOE
f0f’-g + … + f25f’25-g
nn’
Tähtede esinemissagedused (f)C = 6 V = 1 A = 7 B = 6 W = 9 E = 1 Q = 4 U = 1 R = 3 X = 5 N = 4 D = 4 T = 2 P = 1 F = 2 M = 2J = 2 I = 1 K = 2
Tähtede esinemissagedused (f)H = 5 O = 6 E = 10 I = 3 T = 5 S = 7 W = 1 G = 3 M = 2 F = 2 U = 1 D = 3 N = 6 P = 1 V = 1 A = 3B = 1 R = 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*63115
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 Z0 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 2425
Ic(X,Yg) =
Y1:CVABWEBQBUAWWQRWWXANTBDPXXRDWBFAXCWMNJJFAIACNRNCATBWKDMCDCQQXWK
Y2:HOEITESEWOOEGMFTIFUDSTNSNVTNDPASNHESBGSEGEMRDRSHEAIEORTHNHOANOE
f0f’-g + … + f25f’25-g
nn’
Tähtede esinemissagedused (f)C = 6 V = 1 A = 7 B = 6 W = 9 E = 1 Q = 4 U = 1 R = 3 X = 5 N = 4 D = 4 T = 2 P = 1 F = 2 M = 2J = 2 I = 1 K = 2
Tähtede esinemissagedused (f)H = 5 O = 6 E = 10 I = 3 T = 5 S = 7 W = 1 G = 3 M = 2 F = 2 U = 1 D = 3 N = 6 P = 1 V = 1 A = 3B = 1 R = 3g=1
Ic(X,Yg) = =
= = =0,027
f(A) f’(Z)+f(B) f’(A)+…+f(Z) f’(Y)
63*63 109
3969
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
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 Z0 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, j Ic(Yi,Yj
g)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.0282,5: 0.033 0.033 0.037 0.047 0.027 0.018 0.044 0.081
0.0510.030 0.031 0.045 0.039 0.037 0.028 0.027 0.031
0.0400.040 0.038 0.041 0.046 0.045 0.043 0.035 0.031
Omavahelise kokkulangevuse indeksid(3)i, j Ic(Yi,Yj
g)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.0370.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.0260.041 0.052 0.051 0.036 0.032 0.033 0.034 0.052 0.0320.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.0290.028 0.037 0.061 0.033 0.034 0.032 0.053 0.034 0.0270.039 0.043 0.034 0.027 0.030 0.039 0.048 0.036
Samm 4Võtme K=(k1,k2,k3,k4,k5) leidmineArvestades tumedalt trükitud väärtusi kui mittejuhuslikke ja õigele
nihkele g vastavaid, saame järgmised võrrandid võtmete jaoks: k1 – k2 = 9k1 – k5 = 16k2 – k3 = 13 k2 – k5 = 7k3 – k5 = 20k4 – k5 = 11,
millest saame omakorda, et:k2 = k1 + 17k3 = k1 + 4 k4 = k1 + 21k5 = 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
Olgu Ic(X,Yg) =
Kui Ic(Yi,Yj
g) 0.065, siis suure tõenäosusega g=ki-kj.
f0f’-g + … + f25f’25-g
nn’
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 Z0 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 leidmineTHEALMONDTREEWASINTENTATIVEBLOSSOMTHEDAY..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 Z0 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
Ülesanded tõenäosusest
Näide
Leia Huffmani puu ja vastavad koodid järgmisele juhuslikule suurusele 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 suuruse X (Shannoni) entroopiaks nim. suurust
H(X) = -i pi log2 pi = -i p[X=xi] log2 p[X=xi]
Keskmine koodi pikkus ℓ
ℓ(f)= p(x)|f(x)|
X1 X2 ... Xn
p1 p2 ... pn
Ülesanne 3
Leia Huffmani puu ja vastavad koodid järgmisele juhuslikule suurusele 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 X valitakse ühtlase jaotusega hulgast {1, 2, ...,16}. Juhuslik suurus Y arvutatakse juhuslikust suurusest X valemi
Y = X2 mod 17
järgi. Leia juhusliku suuruse Y Shannoni entroopia H[Y ].
Ülesanne 5 (iseseisvaks uurimiseks) Millistel tingimustel langeb Huffmani koodi
keskmine pikkus täpselt kokku Shannoni entroopiaga?