310 likes | 675 Views
Sissejuhatus andmeturbesse. Kristina Kallaste. Ülesanne 1. Arvuta: süt (204,68) süt (161,56) 1/5 mod 17 1/4 mod 23. Eukleidese algoritm.
E N D
Sissejuhatus andmeturbesse Kristina Kallaste
Ülesanne 1 • Arvuta: • süt (204,68) • süt (161,56) • 1/5 mod 17 • 1/4 mod 23
Eukleidese algoritm • Positiivsete täisarvude x ja y suurimaks ühisteguriks süt(x,y) nimetatakse suurimat arvu,millega mõlemad arvud x ja y jaguvad jäägita s.t. • süt(x,y) = max{ d: d|x ja d|y } • Eukleidese algoritm põhineb seostel: Kui a=b, siis süt(a,b)=a Kui a>b, siis süt(a,b)= süt(ab,b) Kui a<b, siis süt(a,b)= süt(a,ba) Sissejuhatus andmeturbesse. Loeng 1
Ülesanne 2 • Šifreerimine toimub valemi • y= E(x) = 6x+15 mod 49 järgi. Leia vastav dešifreerimisteisendus x=D(y) ja tõesta, et leitud teisendus on korrektne, s.t. D(E(x))=x iga x {0, ..., 48} korral
Ülesanne 2A • Šifreerimine toimub valemi • y= E(x) = ax+b mod 55 järgi. On teada, et E(2)=18 ja E(6)=24. Leia a ja b.
Ülesanne 3 • Lahenda kongruentside süsteemid: a) 2a+b ≡ 5 (mod 31) 7a+b ≡ 9 (mod 31) b) 5a+b ≡ 12 (mod 36) 8a+b ≡ 13 (mod 36)
b) 5a+b ≡ 12 (mod 36) 8a+b ≡ 13 (mod 36) • Lahend puudub. Lahutades teisest võrrandist esimese, saame 3a ≡ 1 (mod 36), mis on võimatu, sest 36 jagub 3-ga ja seetõttu puudub jäägil 3 pöördelement arvuvallas Z36
Ülesanne 4 • Murda järgmine nihkešifri abil moodustatud krüptogramm. AXAOSKSDALLDWTALLSDDWJAXAOSKSTSDDWJ
Tähtede sagedused ingliskeelses proosatekstis A0.082 B 0.015 C 0.028 D 0.043 E0.127 F 0.022 G 0.020 H 0.061 I 0.070 J 0.002 K 0.008 L 0.040 M 0.024 N 0.067 O 0.075 P 0.019 Q 0.001 R 0.060 S 0.063 T 0.091 U 0.028 V 0.010 W 0.023 X 0.001 Y 0.020 Z 0.001 Sissejuhatus andmeturbesse. Loeng 2
Nihutusšiffer • EK(x)=(x+K)mod 26 • DK(y)=(y-K)mod 26=(y+(26-K))mod 26 • Teksti krüpteerimiseks asendatakse tähed arvudega 0... 25: 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
Krüpteerimisnäide • Olgu meil sõnum: “Kohtume kell kaks” • Kodeerime sõnumi: K O H T U M E K E L L K A K S 10 14 7 19 20 12 4 10 4 11 11 10 0 10 18 • Kasutame võtit K=7 17 21 14 0 1 19 11 17 11 18 18 17 7 17 25 R V O A B T L R L S S R H R Z
Dekrüpteerimisnäide • Leiame K pöördväärtuse 26-K=26-7=19 ja kasutame sama võtet: • Krüptogrammi RVOABTLRLSSRHRZ iga tähe y koodi teisendame eeskirjaga • x=(y-(26-K))mod 26)=(y+19)mod 26 • Näiteks esimene täht R (17) teisendub täheks (17+19)mod 26=36 mod 26= 10,st K.
Ülesanne 4 • Murda järgmine nihkešifri abil moodustatud krüptogramm. AXAOSKSDALLDWTALLSDDWJAXAOSKSTSDDWJ
Tähtede sagedused krüptogrammis on järgmised: A = 6 D = 6 X = 2 L = 4 O = 2 W = 3 S = 6 T = 2 K = 2 J = 2 s.t. A,S,D -> E,T,A (A->A ei tule arvesse) Variandid: A->E S->A A->T D->E S->E D->T S->T D->A
A(0)->E(4) • K=22 (0-4= -4=22) • x=(y+(26-K))mod 26 X(23) -> B(23+(26-22))mod 26 =1 mod 26 (B) O(14)-> S(14+(26-22))mod 26 =18 mod 26 (S) S(18) -> W (18+(26-22))mod 26 =22 mod 26 (W) K(10) -> O (10+(26-22))mod 26 =14 mod 26 (O) D(3) -> H (3+(26-22)) mod 26 =7 mod 26 (H) L(11) -> P (11+(26-22))mod 26 =15 mod 26 (P) W(22) -> A (22+(26-22))mod 26 =0 mod 26 (A) T(19) -> X (19+(26-22))mod 26 =23 mod 26 (X) J(9) -> N (9+(26-22)) mod 26 =13 mod 26 (N) EBESWOWHEPPAXEPPWHHANEBESWOWXWHHAN
A(0)->T(19) • K=7 (0 – 19= -19=7) • x=(y+(26-K))mod 26 X(23) -> Q(23+(26-7))mod 26 =16 mod 26 (Q) O(14)-> H(14+(26-7))mod 26 =7 mod 26 (H) S(18) -> L (18+(26-7))mod 26 =11 mod 26 (L) K(10) -> D (10+(26-7))mod 26 =3 mod 26 (D) D(3) -> W (3+(26-7)) mod 26 =22 mod 26 (W) L(11) -> E (11+(26-7))mod 26 =4 mod 26 (E) W(22) -> P (22+(26-7))mod 26 =15 mod 26 (P) T(19) -> M (19+(26-7))mod 26 =12 mod 26 (M) J(9) -> C (9+(26-7)) mod 26 =2 mod 26 (C) TQTHLDLWT…..
S(18)->E(4) • K=14 (18– 4 = 14) • x=(y+(26-K))mod 26 A(0) -> M (0+(26-14))mod 26 =12 mod 26 (M) X(23)-> J(23+(26-14))mod 26 =9 mod 26 (J) O(14)-> A (14+(26-14))mod 26 =0 mod 26 (A) K(10)-> W (10+(26-14))mod 26 =22 mod 26 (W) D(3) -> P (3+(26-14)) mod 26 =15 mod 26 (P) L(11)-> X (11+(26-14))mod 26 =23 mod 26 (X) W(22)-> I (22+(26-14))mod 26 =8 mod 26 (I) T(19)-> F (19+(26-14))mod 26 =5 mod 26 (F) J(9) -> V (9+(26-14)) mod 26 =21 mod 26 (V) MJMAEWEPMXXPIFM….
S(18)->A(0) • K=18 (18-0 = 18) • x=(y+(26-K))mod 26 A(0) -> (0+(26-18))mod 26 =8 mod 26 (I) X(23)->(23 +(26-18))mod 26 =5 mod 26 (F) O(14)-> (14 +(26-18))mod 26 =22 mod 26 (W) K(10)-> (10 +(26-18))mod 26 =18 mod 26 (S) D(3) -> (3 +(26-18)) mod 26 =11 mod 26 (L) L(11)-> (11 +(26-18))mod 26 =19 mod 26 (T) W(22)-> (22 +(26-18))mod 26 =4 mod 26 (E) T(19)-> (19 +(26-18))mod 26 =1 mod 26 (B) J(9) -> (9 +(26-18)) mod 26 =17 mod 26 (R) IFIWASALITTLEBITTALLERIFIWASABALLER
Vastus AXAOSKSDALLDWTALLSDDWJAXAOSKSTSDDWJ IFIWASALITTLEBITTALLERIFIWASABALLER
Ülesanne 5 • Murda järgmine afiinse šifri abil moodustatud krüptogramm. PGTOGBZGPPGTOPJMPQIPJOUWOIPQGZ
Vastus PGTOGBZGPPGTOPJMPQIPJOUWOIPQGZ TOBEORNOTTOBETHATISTHEQUESTION a=7, b=12
Ülesanne 6 • Murda järgmine Vigenere šifri abil moodustatud krüptogramm. WONHODQOFWONHTTDTUVTTHQGHSFLOZ
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.
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)
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
Omavahelise kokkulangevuse indeks • Olgu X=x1x2…xn ja Y=y1y2…yn’kus xi ja yi{A,…Z}. • Def. Jadade X ja Yomavahelisekokkulangevuse indeksiks Ic(X,Y) nimetatakse tõenäosust, et kaks juhuslikult valitud elementi xX ja yY on võrdsed. • Kui f0,f1,…f25 -- tähtede A,B,…Z esinemiste arv jadas X ja f’0,f’1,…f’25 -- tähtede A,B,…Z esinemiste arv jadas Y, siis: Ic(X,Y) = f0f’0 + … + f25f’25 nn’
Võtme K=(k1,…,km) leidmine (I) • Hindame suurust Ic(Yi,Yj). Valime vastavatest jadadest kaks elementi. Tõenäosus, et mõlemad elemendid on võrdsed A-ga on p-kip-kj kus indeksid on võetud mod 26. Tõenäosus, et mõlemad valitud elemendid on B-d, on p1-kip1-kjjne. • Seega Ic(Yi,Yj) = h ph-kiph-kj = h phph+ki-kj sõltub ainult vahest ki-kj. • Kui ki-kj=0, siis Ic(Yi,Yj)0.065. Kui aga Kui ki-kj0, siis Ic(Yi,Yj)0.040.
Võtme K=(k1,…,km) leidmine (II) f0f’-g + … + f25f’25-g nn’ • Olgu Ic(X,Yg) = • Kui Ic(Yi,Yjg) 0.065, siis suure tõenäosusega g=ki-kj. • Kui piisaval arvul vahesid ki-kj on teada saadud, siis lahendatakse lineaarvõrrandisüsteem, millest kõik võtmetähed avaldatakse ühe võtme (näiteks k1) kaudu.