1 / 27

Kriptoanaliza

Kriptoanaliza. Darko Poljak. Kriptiranje. Dekriptiranje. Alice. Bob. Eve. Osnovn a komunikacij a. Ključ kriptiranja. Ključ dekriptiranja. kriptirani tekst. otvoreni tekst. Suparnička strana. Mallory Oscar. Eve-ini ciljevi.

chaim-olson
Télécharger la présentation

Kriptoanaliza

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kriptoanaliza Darko Poljak

  2. Kriptiranje Dekriptiranje Alice Bob Eve Osnovna komunikacija Ključ kriptiranja Ključ dekriptiranja kriptirani tekst otvoreni tekst Suparnička strana Mallory Oscar

  3. Eve-ini ciljevi Mallory je aktivni napadač koji pokušava postići 3. i 4. 1. pročitati poruku 2. otkriti ključ kojeg koristi Alice i pročitati sve kriptirane poruke 3. modificirati poruku 4. lažno se predstaviti kao Alice Oscar je pasivni napadač koji pokušava postići 1. i 2.

  4. Glavne prijetnje sigurnosti 4. izmišljanje 1. prekidanje 2. presretanje 3. modifikacija

  5. Vrste napada • napad s poznatim kriptiranim tekstom • napad s poznatim otvorenim tekstom • napad s odabranim otvorenim tekstom • napad s odabranim kriptiranim tekstom

  6. Pretraživanje prostora • pretraživanje cijelog prostora: dekriptiranje teksta sa svim mogućim ključevima • pretraživanje pola prostora:kriptosustavi sa svojstvom simetričnostiC = E(P, K), C' = E(P', K')

  7. Linearna kriptoanaliza • Matsui, EUROCRYPT ’93 kao napad na DES • razbijanje DES-a sa 243 poznatih tekstova • traženje linearne aproksimacije + napad s poznatim otvorenim tekstom • linearna aproksimacija S-kutija: odnos između podskupa ulaza u S-kutiju i podskupa izlaza iz S-kutije • proširenje na funkciju F => linearni izraz za svaku aproksimaciju. • spajanje linearnih izraza => linearna aproksimacija kriptosustava (vrijedi uz neku vjerojatnost) • izračunavanje broja otvorenih tekstova

  8. Linearna kriptoanaliza • linearni izraz je oblika: Xi1 xor Xi2 xor...xor Xiu xor Yj1 xor...xor Yjv = 0 Xii-ti bit ulaza X=[X1, X2,...], Yjj-ti bit izlaza Y=[Y1, Y2,...] plus neka vjerojatnost da izraz vrijedi • što je vjerojatnost dalje od ½ potreban je manji broj poznatih otvorenih tekstova

  9. Linearna kriptoanalizaOtkrivanje bitova ključa • jedan bit ključa: T:= broj otvorenih tekstova (od njih N) takvih da je lijeva strana jednadžbe (xori P) xor (xorj C) = xork K (i bitova otvorenog teksta se xor-a sa j bitova kriptiranog teksta i izjednači sa xor-om k bitova podključa, gdje su bitovi koji se xor-aju neki bitovi otvorenog, kriptiranog teksta i podključa) jednaka 0. ako je T > N/2 tada pretpostavi xork K = 0 (kada je p > 1/2) ili 1 (inače) inače pretpostavi xork K = 1 (kada je p > 1/2) ili 0 (inače)

  10. Linearna kriptoanalizaOtkrivanje više bitova ključa • više bitova ključa: za svaki kandidat podključa Ki od K činiti Ti := broj otvorenih tekstova (od njih N) takvih da je lijeva strana linearne aproksimacije jednaka 0 kraj Tmax := max {Ti} Tmin := min {Ti} ako je |Tmax – N/2| > |Tmin – N/2| tada primijeni kandidat podključa koji odgovara Tmax-u i pretpostavi xork K = 0 (kada je p > 1/2) ili 1 (inače) kraj ako je |Tmax – N/2| < |Tmin – N/2| tada primijeni kandidat podključa koji odgovara Tmin-u i pretpostavi xork K = 1 (kada je p > 1/2) ili 0 (inače) kraj

  11. Diferencijalna kriptoanaliza • prvi put Murphy u napadu na FEAL-4 • Biham i Shamir na CRYPTO '90 kao napad na DES • napad odabranim otvorenim tekstom • oslanja se na analizu razlika (operacija xor)između dva otvorena teksta kriptiranim istim ključem

  12. Ostali napadi • Diferencijalno-linearna kriptoanaliza • XSL napad • rješavanje preodređenog sustava jednadžbi (broj jednadžbi veći od broja nepoznanica) • Modulo n kriptoanaliza • vrijednost ulaza u posljednju rundu modulo n u nekom odnosu na vrijednost otvorenog teksta modulo n • aproksimacija rotacija i zbrajanja modulo 232 • Meet-in-the-middle • uključuje dvije funkcije f1 i f2,za koje postoje dva ulaza, a i b, tako da je f1(a)=f2(b);cilj je naći a i b

  13. Kolizije u hash funkcijama Sigurnost hash funkcije H() - svojstva: • jednosmjernost: za bilo koji ulaz h, računski nije moguće naći ulaz x takav da je H(x)=h • slaba otpornost na koliziju: Za bilo koji ulaz x, računski nije moguće naći drugi ulaz y¹x takav da je H(x)=H(y) • jaka otpornost na koliziju: Računski je nemoguće naći par (x, y) takve da je H(x)=H(y) • domenska otpornost (eng. pre-image resistance): za dani izlaz y=h(x) (ali nije dan odgovarajući ulaz x) praktično je nemoguće pronaći x • druga domenska otpornost(eng. 2nd pre-image resistance): za dani izlaz y=h(x) i odgovarajući ulaz x praktično je nemoguće pronaći drugi ulaz z takav da je h(z)=h(x) • svojstvo slučajnog predviđanja: funkcija h() se ponaša kao slučajno odabrana funkcija

  14. Kolizije u hash funkcijama • Birthday napad • paradoks rođendana: ako se u sobi nalaze 23 osobe tada je vjerojatnost da su barem dvije rođene isti dan 50%; za 60 i više ljudi, vjerojatnost je veća od 99% osobe = ulaz u hash funkciju rođendani = hash vrijednosti dvije osobe imaju rođendan na isti dan =dva ulaza u hash funkcijuimaju istu hash vrijednost • Pollardova ro metoda • periodičnu sekvenca; ponavljanje sekvencehi = fi(fi-1(...(f1(x)))) dovoljno dugo, učinit će je periodičnom postoje brojevi i > j gdje je hi=hj

  15. Kolizije u hash funkcijama • Metoda razlikovnih točaka • Multikolizijski napadi • multikolizija:skup elemenata čije su izlazne vrijednosti jednake • Multidomenski napad • za dani slučajni y iz {0,1}n, pronađe se podskup C={x1,..,xr} veličine r (>=1) takav da je H(x1)=...=H(xr)=y

  16. Kriptoanaliza asimetričnih kriptosustava • Sigurnost: • problem diskretnog logaritmap prim brojza dane a i b, potrebno je naći x takav da je ax= b (mod p) • problem faktoriziranja velikih cijelih brojeva

  17. Problem diskretnog logaritmaMetode rješavanja • Shank-ova “baby-steps, giant-steps” medota (osnovni napad) • Pollardova metoda • index-calculus metoda

  18. Problem faktorizacijeAlgoritmi faktorizacije • Eulerova metoda • Fermatova faktorizacija • Metoda isključivanja (excludent) • Dixonova metoda • Pollardova ro metoda • Brentova metoda • Pollardova p-1 metoda • Faktorizacija kvantionskom algebrom

  19. Linearna kriptoanaliza 3-round DES-a • DES reduciran na 3 runde • linearna aproskimacija (Matsui): Pl [15] xor Ph [7,18,24,29] xor Cl [15] xor Ch [7,18,24,29] = K1 [22] xor K3 [22] • vjerojatnost da gornji izraz vrijedi iznosi p = 0.70 • za uspjeh od 99.8% potrebno 50 poznatih otvorenih tekstova (2|p-1/2|-2)

  20. Linearna kriptoanaliza 3-round DES-avarijable i funkcije • extern bit LHS; - vrijednost lijeve strane linearne aproksimacije (Pl [15] xor Ph [7,18,24,29] xor Cl [15] xor Ch [7,18,24,29] ) • extern bit k1_22; extern bit k3_22; - prave vrijednosti bitova podključeva (K1 [22], K3 [22]) za koje se određujelinearna aproksimacija(za provjeru rezultata) • bit lin_analysis_DES_1bit (void (*next_plain_cipher) (string*, string*,const string&), int ptxtcnt, const string& key, float p); - maximum likelihood algoritam - next_plain_cipher - sljedeći par otvorenog i kriptiranog teksta; - ptxtcnt - broj poznatih otvorenih tekstova; - key - ključ kriptiranja (u pravom napadu nije poznat); - p - vjerojatnost da linearna aproksimacija vrijedi

  21. Linearna kriptoanaliza 3-round DES-avarijable i funkcije keySchedule(); k1_22=_subkey[0][47-22]; k3_22=_subkey[2][47-22]; computeIP(_plain,IP); LHS=IP[63-15]^IP[31-7]^IP[31-18]^IP[31-24]^IP[31-29]; splitBlock(IP,64,L,R); for(int round=0;round<3;++round) { for(int j=0;j<32;++j) { temp[j]=L[j];L[j]=R[j]; } computeF(R,_subkey[round],F); for(int j=0;j<32;++j) { R[j]=temp[j] ^ F[j]; } } concatBlock(R,L,32,RL); LHS = LHS^RL[63-15]^RL[31-7]^RL[31-18]^RL[31-24]^RL[31-29]; computeIPInv(RL,_cipher);

  22. Linearna kriptoanaliza 3-round DES-amaximum likelihood algoritam inicijaliziraj brojač T=0; za svaki Pi i odgovarajući Ci (0 <= i < N) činiti { neka je t evaluacija lijeve strane linearne aproksimacije, tj. implementirane jednadžbe t <- Pl [15] xor Ph [7,18,24,29] xor Cl [15] xor Ch[7,18,24,29]; ako je t = 0 povećaj brojač T; } ako je vjerojatnost linearne aproksimacije veća od 1/2 (npr. P = 0.70) { ako je T > N/2 tada pretpostavi da je vrijednost desne strane aproksimacije 0, tj. K1 [22] xor K3 [22] = 0; ako je T <= N/2 tada pretpostavi da je vrijednost desne strane aproksimacije 1, tj. K1 [22] xor K3 [22] = 1; } ako je vjerojatnost linearne aproksimacije manja od ½ { ako je T > N/2 tada pretpostavi da je vrijednost desne strane aproksimacije 1; ako je T <= N/2 tada pretpostavi da je vrijednost desne strane aproksimacije 0;}

  23. Linearna kriptoanaliza 3-round DES-aRezultat • Primjer 1. Real Key: 01234567890123456789012345678901234567890123456789 11010111100000111010000110010001011100010000001010 01234567890123 11101010010011 Real bits K1[22] = 1; K3[22] = 1 3-round DES linear analysis (1 key bit) result: Pl[15] xor Ph[7,18,24,29] xor Cl[15] xor Ch[7,18,24,29] = K1[22] xor K3[22] = 0

  24. Linearna kriptoanaliza 3-round DES-aRezultat • Primjer 2. Real Key: 01234567890123456789012345678901234567890123456789 11110100101001011111001010100111110000110000011000 01234567890123 1110100100000 Real bits K1[22] = 0; K3[22] = 1 3-round DES linear analysis (1 key bit) result: Pl[15] xor Ph[7,18,24,29] xor Cl[15] xor Ch[7,18,24,29] = K1[22] xor K3[22] = 1

  25. Linearna kriptoanaliza 3-round DES-aRezultat • paritet dva bita ključa koji odgovaraju K1[22], K3[22] određen s vjerojatnošću 0.7 • linearni izraz koristi se u reduciranoj iscrpnoj pretrazi ključa • umjesto svih 56 traži se 55 bitova • smanjenje iscrpne pretrage za faktor 2 • dodatno smanjenje iscrpne pretrage: jos neka aproksimacija

  26. Linearna kriptoanaliza 3-round DES-aRezultat • svojstvo komplementa DES-a: C = DES(P, K) C’ = DES(P’, K’) • linearna aproksimacija može se ugraditi u algoritam pretraživanja pola prostora • linearnim izrazom ispravi se određeni bit ključa • simetrija linearnog izraza može se iskoristiti za dobivanje dodatne linearne aproksimacije

  27. Siguran kriptosustav? • kriptosustav za koji se smatra da je nemoguće probiti: one-time pad • ključ mora biti istinski slučajan;ne generira se algoritmima koji kao ulaz koriste kraći ključ;mora biti bez biasa: vjerojatnost svih simbola mora biti jednaka • ključ mora biti jednake duljine kao i poruka;znakovi u poruci i ključu moraju biti iz iste abecede jednake veličine • ključ se na poruku mora primijeniti tako da su za dane simbole otvorenog teksta, svi simboli kriptiranog teksta jednako mogući, te obrnuto • osim za kriptiranje poruke, ključ se ne koristi u druge svrhe

More Related