Klassikaliste - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Klassikaliste

Description:

Klassikaliste ifrite murdmine Ahto Buldas – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 37
Provided by: Aht5
Category:

less

Transcript and Presenter's Notes

Title: Klassikaliste


1
Klassikaliste šifrite murdmine
  • Ahto Buldas

2
Kerckhoffi eeldused
  • Carol teab, kuidas krüpteerimisalgoritm ja
    dekrüpteerimisalgoritm töötavad.
  • Kogu salastus tagatakse võtme salastusega.
  • Põhjused
  • Algoritme on üsna raske varjata, kui need on
    tehtud paljude spetsialistide ühistööna.
  • Tavainimeste poolt välja mõeldud algoritmid on
    enamjaolt kergesti murtavad.

3
Rünnete tüübid passiivsed
  • Teadaolev krüptogramm -- ründajal on teada
    krüptogramm Y. Ründaja püüab leida avateksti X.
  • Teadaolev avatekst -- ründajal on teada mingi
    hulk avatekst-krüptogramm paare (X1,Y1),,(Xn,Yn)
    ja krüptogramm Y. Ründaja püüab leida vastavat
    avateksti X.

4
Rünnete tüübid aktiivsed
1. Faas
2. Faas
y
xi
x yEK(x)
EK
Carol
Carol
yi EK(xi)
(x1,y1), , (xn,yn)
  • Valitav avatekst --
  • Ründajal on teatava aja jooksul kasutada algoritm
    EK() musta kastina.
  • Seejärel antakse ründajale krüptogramm y ja ta
    peab ära arvama vastava avateksti x.

5
Rünnete tüübid aktiivsed
1. Faas
2. Faas
y
yi
x yEK(x)
DK
Carol
Carol
xi DK(yi)
(x1,y1), , (xn,yn)
  • Valitav krüptogramm --
  • Ründajal on teatava aja jooksul kasutada algoritm
    DK() musta kastina.
  • Seejärel antakse ründajale krüptogramm y ja ta
    peab ära arvama vastava avateksti x.

6
Rünnetes kasutatavad põhivõtted
  • Võtmekandidaatide läbiproovimine.
  • Loomuliku keele statistiliste omaduste (tähtede
    ja täheühendite sagedus jne.) ülekanduvus
    krüptogrammile.
  • Võtme vahetu leidmine avatekst-krüptogramm
    paaridest.

7
Tähtede sagedusvahemikud eestikeelses
proosatekstis
A 0.115 0.140 B 0.007 0.010 D 0.036 0.047 E 0.105
0.124 F 0.000 0.001 G 0.017 0.022 H 0.015 0.021 I
0.087 0.102 J 0.018 0.022 K 0.045 0.055 L 0.057 0
.064 M 0.035 0.042
N 0.042 0.052 O 0.034 0.044 P 0.015 0.022 R 0.021
0.032 S 0.080 0.096 T 0.068 0.080 U 0.056 0.067 V
0.019 0.026 Õ 0.010 0.015 Ä 0.010 0.015 Ö 0.003 0
.006 Ü 0.006 0.010
8
Tähtede sagedused ingliskeelses proosatekstis
A 0.082 B 0.015 C 0.028 D 0.043 E 0.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
9
Afiinse šifri murdmine
  • Olgu meil järgmine krüptogramm, mis on saadud
    ingliskeelsest tekstist
  • ZRHKREOFZFMMPZKEVNIMRHHRRPROHVUFEFTFZ
  • Tähtede sagedused 37-tähelises krüptogrammis on
    järgmised

Z 4 R 6 H 4 K 2 E 3 O 2 F 5
M 3 P 2 V 2 N 1 I 1 U 1 T 1
10
Hüpotees 1
  • R tähendab e-d ja F tähendab t-d. Saame
    võrrandisüsteemi
  • 4 a b 17
  • 19 a b 5
  • millest järeldub, et (arvuvallas Z26) 15a -12
    14. Aga 14 on nullitegur, sest 14 ? 13 7 ? 2 ?
    13 7 ? 26 ? 0 (mod 26), kuid samal ajal
    süt(15,26)1 ja seega peaks ka a olema
    nullitegur, mis on vastuolus krüpteerimisfunktsioo
    ni injektiivsusega.
  • Seetõttu puudub süsteemil lahend arvuvallas Z26
    ja hüpotees on ebakorrektne.

11
Hüpotees 2
  • R tähendab e-d ja F tähendab a-d. Saame
    võrrandisüsteemi
  • 4 a b 17
  • 0 a b 5
  • Siit saame, et b5 ja 4a12, millest a3.
  • Leiame a-1 9 ja seega on dekrüpteerimisfunktsioo
    n kujul x D(y) 9(y-5) mod 26.
  • Proovime dekrüpteerida ja saame
  • YESTERDAYALLMYTROUBLESSEEMEDSOFARAWAY
  • Kuna tulemus on ingliskeelne tekst, siis on
    ülesanne lahendatud.

12
Asendusšifri murdmine
  • Olgu meil järgmine eestikeelse sõnumi
    krüptogramm, kus sõnavahed on säilinud.
  • pün gõtu näglg puurnsgoog obüinä urni öüttni
    oühg grgtüi puurnbvjögog püöäüä sbrjsgi öüvvg
    pbtjrjä tjtijlg tgöüpj gjlg pdäpnä gõtur urrg
    muurgä og puõõgrnp og äjginä ög ännä vntpn fmj
    vnppgij oüüäöjlg vunän pbõagrj näöüsg ännä gtinä
    puurnbvjögog ögrrj õggsgöüäö snigln pnõoüögig og
    gõtur jn urtüi tffi jtgs gjlg süürj sböjrig ög
    aböönä ögmarn og mgppgä pnõoüögsg pün ög urn
    pnõoüögtüi üshjä vggõ õnig püssgõiüä vnppgij
    oüüäöjlg vunää öjsg pbõag oüüõij og pfänä äuäntgr
    snä puursjnäöjõ förjä pün öj öjsg öugä urnöj

13
1 etapp sagedustabeli koostamine
a 4 0.009 b 9 0.021 d 1 0.002 e 0 f 5 0.012 g 65
0.150 A h 2 0.005 i 19 0.044 j 31 0.072 E,I,S k 0
l 7 0.016 m 4 0.009
n 41 0.095 E,I,S o 17 0.039 p 28 0.065 r 25 0.058
s 17 0.039 t 17 0.039 u 23 0.053 v 10 0.023 õ 16 0
.037 ä 34 0.079 E,I,S ö 29 0.067 ü 29 0.067
Järeldus g tähistab suure tõenäosusega A tähte.
Tähed j, n ja ä tähistavad suure tõenäosusega
tähti E,I,S mingis järjestuses.
14
Tähtede esinemissagedus sõna esimese tähena
  • Eesti keele proosatekstides on tähtede
    esinemissagedused sõna esimese tähena
    väljendatavad järgmise tabelina
  • Krüptogrammis on tähtede esinemissagedused
    esitähena väljendatavad järgmise tabelina

K 0.130 T 0.110 S 0.095 M,V 0.085 P 0.070 A,E,O,J
0.060
p 18 0.225 K g 7 0.086 M,V,T,S n 2 0.025 o 10 0.1
25 S,T,M,V u 5 0.063 ö 11 0.136 S,T,M,V s 5 0.063
t 3 0.038
m 2 0.025 ä 4 0.050 f 2 0.025 v 6 0.075 M,V,T,S
õ 2 0.025 j 2 0.025 ü 1 0.013
15
Tähtede esinemissagedus sõna teise tähena
A 0.200 E 0.150 I 0.110 U 0.100 O,Õ,Ä 0.060 N 0.05
0 Ö,Ü 0.015
  • Eesti keele proosatekstides on tähtede
    esinemissagedused sõna esimese tähena
    väljendatavad järgmise tabelina
  • Krüptogrammis on tähtede esinemissagedused
    esitähena väljendatavad järgmise tabelina

ü 12 0.150 E,I,U õ 3 0.036 ä 2 0.025 u 10 0.125
E,I,U b 6 0.075 r 6 0.075 j 7 0.086 g 14 0.175
A
d 1 0.013 n 12 0.150 E,I,U m 1 0.013 t 2 0.025
f 2 0.025 s 1 0.013 ö 1 0.013
16
  • PPeale tõenäolisi asendusi g?A, p?K, ä?S, ö?T
    saame järgmise teksti
  • Kün Aõtu nSAlA KuurnsAooA obüinS urni Tüttni oühA
    ArAtüi KuurnbvjTAoA KüTSüS sbrjsAi TüvvA KbtjrjS
    tjtijlA tATüKj AjlA KdSKnS Aõtur urrA muurAS oA
    KuõõArnK oA SjAinS TA SnnS vntKn fmj vnKKAij
    oüüSTjlA vunSn KbõaArj nSTüsA SnnS AtinS
    KuurnbvjTAoA TArrj õAAsATüST sniAln KnõoüTAiA oA
    Aõtur jn urtüi tffi jtAs AjlA süürj sbTjriA TA
    abTTnS TAmarn oA mAKKAS KnõoüTAsA Kün TA urn
    KnõoüTAtüi üshjS vAAõ õniA KüssAõiüS vnKKAij
    oüüSTjlA vunSS TjsA KbõaA oüüõij oA KfSnS SuSntAr
    snS KuursjnSTjõ fTrjS Kün Tj TjsA TuAS urnTj
  • Sõnas KüTSüS peab ü tähendama mingit
    täishäälikut. Kõige tõenäolisemalt E, I või U.
    Ainult U annab üldtarvitatava sõna KUTSUS,
    mistõttu eeldame edaspidi asendust ü?U

17
Peale asendust ü?U ja saame teksti KUn Aõtu
nSAlA KuurnsAooA obUinS urni TUttni oUhA ArAtUi
KuurnbvjTAoA KUTSUS sbrjsAi TUvvA KbtjrjS tjtijlA
tATUKj AjlA KdSKnS Aõtur urrA muurAS oA KuõõArnK
oA SjAinS TA SnnS vntKn fmj vnKKAij oUUSTjlA
vunSn KbõaArj nSTUsA SnnS AtinS KuurnbvjTAoA
TArrj õAAsATUST sniAln KnõoUTAiA oA Aõtur jn
urtUi tffi jtAs AjlA sUUrj sbTjriA TA abTTnS
TAmarn oA mAKKAS KnõoUTAsA KUn TA urn KnõoUTAtUi
UshjS vAAõ õniA KUssAõiUS vnKKAij oUUSTjlA vunSS
TjsA KbõaA oUUõij oA KfSnS SuSntAr snS
KuursjnSTjõ fTrjS KUn Tj TjsA TuAS urnTj
Seega tõenäoliselt on n, u ja j tähendused kas E
või I. Vaadates esimest sõna KUn, saame et
ainult I sobib nendel eeldustel n tähenduseks.
Seega võtame edaspidises aluseks asenduse n?I.
Järelikult kas u või j peaksid teisenema täheks
E. Vaadates samas kontekstis sõna TuAS, ei
sobiks u koodiks kuidagi E, sest sõna TEAS ei
ole üldtarvitatav eestikeelne sõna. Seega võib
oletada, et j?E.
18
Tehes asendused n?I ja j?E, saame teksti KUI
Aõtu ISAlA KuurIsAooA obUiIS urIi TUttIi oUhA
ArAtUi KuurIbvETAoA KUTSUS sbrEsAi TUvvA KbtErES
tEtiElA tATUKE AElA KdSKIS Aõtur urrA muurAS oA
KuõõArIK oA SEAiIS TA SIIS vItKI fmE vIKKAiE
oUUSTElA vuISI KbõaArE ISTUsA SIIS AtiIS
KuurIbvETAoA TArrE õAAsATUST sIiAlI KIõoUTAiA oA
Aõtur EI urtUi tffi EtAs AElA sUUrE sbTEriA TA
abTTIS TAmarI oA mAKKAS KIõoUTAsA KUI TA urI
KIõoUTAtUi UshES vAAõ õIiA KUssAõiUS vIKKAiE
oUUSTElA vuISS TEsA KbõaA oUUõiE oA KfSIS SuSItAr
sIS KuursEISTEõ fTrES KUI TE TEsA TuAS urITE
19
Ja veidi veel nuputamist annab avateksti KUI
ARNO ISAGA KOOLIMAJJA JÕUDIS OLID TUNNID JUBA
ALANUD KOOLIÕPETAJA KUTSUS MÕLEMAD TUPPA KÕNELES
NENDEGA NATUKE AEGA KÄSKIS ARNOL OLLA HOOLAS JA
KORRALIK JA SEADIS TA SIIS PINKI ÜHE PIKKADE
JUUSTEGA POISI KÕRVALE ISTUMA SIIS ANDIS
KOOLIÕPETAJA TALLE RAAMATUST MIDAGI KIRJUTADA JA
ARNOL EI OLNUD NÜÜD ENAM AEGA MUULE MÕTELDA TA
VÕTTIS TAHVLI JA HAKKAS KIRJUTAMA KUI TA OLI
KIRJUTANUD UMBES PAAR RIDA KUMMARDUS PIKKADE
JUUSTEGA POISS TEMA KÕRVA JUURDE JA KÜSIS SOSINAL
MIS KOOLMEISTER ÜTLES KUI TE TEMA TOAS OLITE Ja
vastava asenduse A B D E F G H I J K L M N O P R
S T U V Õ Ä Ö Ü g h i j k l m n o p r s t u v õ
ä ö ü a b d e f
20
Kui sõnavahesid ei ole antud ...
  • Siis kasutatakse tähepaaride ja tähekolmikute
    esinemissagedusi.
  • Inglise keeles on kõige levinumad paarid TH, HE,
    IN, ER, AN, RE, ED, ON, ES, ST, EN, AT, TO, NT,
    HA, ND, OU, EA, NG, AS, OR, TI, IS, ET, IT, AR,
    TE, SE, HI, OF.
  • Kõige levinumad kolmikud THE, ING, AND, HER, ERE,
    ENT, THA, NTH, WAS, ETH, FOR, DTH.

21
Vigenerei š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.

22
Kasiski test
  • Kirjeldati esimesena Friedrich Kasiski poolt
    aastal 1863.
  • 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.

23
Kokkulangevuse indeks
  • Olgu Xx1x2xn, 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)
24
Tõestus
  • Kahte elementi saab jadast X valida täpselt
    n(n-1)/2 erineval viisil.
  • Otsitav tõenäosus avaldub järgmiselt
  • Prxx PrxxA PrxxZ.
  • PrxxA f0(f0-1)/n(n-1), sest kahte A-ga
    võrdset elementi on võimalik jadast X valida
    täpselt f0(f0-1)/2 erineval viisil.

25
Indeks Ic(X) loomuliku keele teksti ja juhusliku
sõne korral
  • Kui X on inglisekeelne tekst, siis
  • Ic(X) ? p02 p252 0.065,
  • kus pi on i-nda tähemärgi esinemise tõenäosus.
  • Seevastu täiesti juhusliku sõne korral on
  • Ic(X) ? 26?1/262 1/26 0.038.

26
Võtmepikkuse leidmine põhiidee
  • Valime mingi arvu m ja jagame krüptogrammi
    Yy1y2yn veergudeks järgmisel viisil
  • Y1 y1 y1m y12m y1km
  • Y2 y2 y2m y22m y2km
  • Ym ym y2m y3m y(k1)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

27
Omavahelise kokkulangevuse indeks
  • Olgu Xx1x2xn ja Yy1y2yn 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 x?X ja y?Y on
    võrdsed.
  • Kui f0,f1,f25 -- tähtede A,B,Z esinemiste arv
    jadas X ja f0,f1,f25 -- tähtede A,B,Z
    esinemiste arv jadas Y, siis
  • Ic(X,Y)

f0?f0 f25?f25 nn
28
Tõestus
  • Elemente x?X ja y?Y valida täpselt nn erineval
    viisil.
  • Otsitav tõenäosus avaldub järgmiselt
  • Prxy PrxyA PrxyZ.
  • PrxyA f0f0/nn, sest kahte A-ga võrdset
    elementi on võimaik valida täpselt f0f0erineval
    viisil.

29
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-ki?p-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-ki?ph-kj ?h ph?phki-kj
    sõltub ainult vahest ki-kj.
  • Kui ki-kj0, siis Ic(Yi,Yj)?0.065. Kui aga Kui
    ki-kj?0, siis Ic(Yi,Yj)?0.040.

30
Võtme K(k1,,km) leidmine (II)
f0?f-g f25?f25-g nn
  • Olgu Ic(X,Yg)
  • Kui Ic(Yi,Yjg) ? 0.065, siis suure tõenäosusega
    gki-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.

31
Hilli šifri murdmine (I)
  • Teadaoleva krüptogrammiga rünne on suhteliselt
    keeruline.
  • Teadaoleva avatekstiga rünne on aga lihtne.
  • Olgu Xj (x1j, x2j,, xmj) ja Yj(y1j, y2j,,
    ymj) ja meil on vähemalt m erinevat
    m-elemendilist jada.
  • Olgu Xxij ja Yyij vastavad m?m maatriksid.
    Siis krüpteerimisfunktsioon on maatrikskorrutis
    Y XK.

32
Hilli šifri murdmine (II)
  • Kui maatriks X on pööratav, siis saab võtme
    avadada järgmiselt
  • K X-1?Y.
  • Kui X ei ole pööratav, siis tuleb hankida
    lisainfot avatekst/krüptogramm paaridena.

33
Hilli šifri murdmine näide
  • Olgu m2 ja ründaja teab paare
  • EK(5,17) (15,16) ja EK(8,3) (2,5).
  • Vastav maatriksvõrrand on
  • ? K
  • ja selle võrrandi lahend
  • K ? ?

?15 16? ? 2 5 ?
? 5 17? ? 8 3 ?
? 5 17?-1 ? 8 3 ?
?15 16? ? 2 5 ?
? 9 1 ? ? 2 15?
?15 16? ? 2 5 ?
? 7 19? ? 8 3 ?
34
Nihkeregistri murdmine (I)
  • Oletame, et ründaja teab, et võti on m-bitine ja
    tema valduses on üks avatekst/krüptogramm paar
    X(x1,,xn) ja Y(y1,,yn), kus n ? 2m.
  • Esimene samm leiame vastavad võtmebitid zi yi
    - xi mod 2.

35
Nihkeregistri murdmine (II)
  • Teine samm. Kasutades seost
  • zmi c0 zi c1 zi1 cm-1 zi,
  • kirjutame välja järgmise maatriksvõrrandi
  • (zm1,zm2,,z2m)
  • (c0,c1,,cm-1)

?z1 z2 zm ? ?z2 z3 zm1?
?.? ?zm zm1 z2m-1 ?
36
Nihkeregistri murdmine (III)
  • Lahendame selle võrrandi ci-de suhtes ja saame
  • (c0,c1,,cm-1) (zm1,zm2,,z2m)
  • Registri struktuuri teadmine on piisav võtmejada
    ekstrapoleerimiseks (mõlemas suunas!)

?z1 z2 zm ?-1 ?z2 z3 zm1?
?.? ?zm zm1 z2m-1 ?
Write a Comment
User Comments (0)
About PowerShow.com