Sissejuhatus andmeturbesse
description
Transcript of Sissejuhatus andmeturbesse
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 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
Ü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
Ülesanded monoalfabeedilistest šifritest
Ülesanne 4
Murda järgmine nihkešifri abil moodustatud krüptogramm.
AXAOSKSDALLDWTALLSDDWJAXAOSKSTSDDWJ
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
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 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
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 = 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
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 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…..
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….
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
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 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)
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
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’
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.
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’