Sissejuhatus andmeturbesse

31
Sissejuhatus andmeturbesse Kristina Kallaste

description

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. - PowerPoint PPT Presentation

Transcript of Sissejuhatus andmeturbesse

Page 1: Sissejuhatus  andmeturbesse

Sissejuhatus andmeturbesse

Kristina Kallaste

Page 2: Sissejuhatus  andmeturbesse

Ülesanne 1

Arvuta:

süt (204,68) süt (161,56) 1/5 mod 17 1/4 mod 23

Page 3: Sissejuhatus  andmeturbesse

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

Page 4: Sissejuhatus  andmeturbesse

Ülesanne 2

Šifreerimine toimub valemiy= 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

Page 5: Sissejuhatus  andmeturbesse

Ü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.

Page 6: Sissejuhatus  andmeturbesse

Ü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)

Page 7: Sissejuhatus  andmeturbesse

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

Page 8: Sissejuhatus  andmeturbesse

Ülesanded monoalfabeedilistest šifritest

Page 9: Sissejuhatus  andmeturbesse

Ülesanne 4

Murda järgmine nihkešifri abil moodustatud krüptogramm.

AXAOSKSDALLDWTALLSDDWJAXAOSKSTSDDWJ

Page 10: Sissejuhatus  andmeturbesse

Tähtede sagedused ingliskeelses proosatekstis

Sissejuhatus andmeturbesse. Loeng 2

A 0.082B 0.015C 0.028D 0.043E 0.127F 0.022G 0.020H 0.061I 0.070J 0.002K 0.008L 0.040M 0.024

N 0.067O 0.075P 0.019Q 0.001R 0.060S 0.063T 0.091U 0.028V 0.010W 0.023X 0.001Y 0.020Z 0.001

Page 11: Sissejuhatus  andmeturbesse

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

Page 12: Sissejuhatus  andmeturbesse

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 S10 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

Page 13: Sissejuhatus  andmeturbesse

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.

Page 14: Sissejuhatus  andmeturbesse

Ülesanne 4

Murda järgmine nihkešifri abil moodustatud krüptogramm.

AXAOSKSDALLDWTALLSDDWJAXAOSKSTSDDWJ

Page 15: Sissejuhatus  andmeturbesse

Tähtede sagedused krüptogrammis on järgmised:A = 6 D = 6X = 2 L = 4O = 2 W = 3 S = 6 T = 2K = 2 J = 2s.t.

A,S,D -> E,T,A (A->A ei tule arvesse)

Variandid:A->E S->AA->T D->ES->E D->TS->T D->A

Page 16: Sissejuhatus  andmeturbesse

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

Page 17: Sissejuhatus  andmeturbesse

A(0)->T(19)

K=7 (0 – 19= -19=7) x=(y+(26-K))mod 26X(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…..

Page 18: Sissejuhatus  andmeturbesse

S(18)->E(4)

K=14 (18– 4 = 14) x=(y+(26-K))mod 26A(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….

Page 19: Sissejuhatus  andmeturbesse

S(18)->A(0)

K=18 (18-0 = 18) x=(y+(26-K))mod 26A(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

Page 20: Sissejuhatus  andmeturbesse

Vastus

AXAOSKSDALLDWTALLSDDWJAXAOSKSTSDDWJ

IFIWASALITTLEBITTALLERIFIWASABALLER

Page 21: Sissejuhatus  andmeturbesse

Ülesanne 5

Murda järgmine afiinse šifri abil moodustatud krüptogramm.

PGTOGBZGPPGTOPJMPQIPJOUWOIPQGZ

Page 22: Sissejuhatus  andmeturbesse
Page 23: Sissejuhatus  andmeturbesse

Vastus

PGTOGBZGPPGTOPJMPQIPJOUWOIPQGZ

TOBEORNOTTOBETHATISTHEQUESTION

a=7, b=12

Page 24: Sissejuhatus  andmeturbesse

Ülesanne 6

Murda järgmine Vigenere šifri abil moodustatud krüptogramm.

WONHODQOFWONHTTDTUVTTHQGHSFLOZ

Page 25: Sissejuhatus  andmeturbesse

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

Page 26: Sissejuhatus  andmeturbesse

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.

Page 27: Sissejuhatus  andmeturbesse

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)

Page 28: Sissejuhatus  andmeturbesse

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

Page 29: Sissejuhatus  andmeturbesse

Omavahelise kokkulangevuse indeks

Olgu X=x1x2…xn ja Y=y1y2…yn’ kus xi ja yi{A,…Z}. Def. Jadade X ja Y omavahelise kokkulangevuse

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’

Page 30: Sissejuhatus  andmeturbesse

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-ki

p1-kj jne.

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.

Page 31: Sissejuhatus  andmeturbesse

Võtme K=(k1,…,km) leidmine (II) Olgu Ic(X,Yg) =

Kui Ic(Yi,Yj

g) 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.

f0f’-g + … + f25f’25-g

nn’