270 likes | 476 Views
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.
E N D
Kriptoanaliza Darko Poljak
Kriptiranje Dekriptiranje Alice Bob Eve Osnovna komunikacija Ključ kriptiranja Ključ dekriptiranja kriptirani tekst otvoreni tekst Suparnička strana Mallory Oscar
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.
Glavne prijetnje sigurnosti 4. izmišljanje 1. prekidanje 2. presretanje 3. modifikacija
Vrste napada • napad s poznatim kriptiranim tekstom • napad s poznatim otvorenim tekstom • napad s odabranim otvorenim tekstom • napad s odabranim kriptiranim tekstom
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')
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
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
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)
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
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
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
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
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
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
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
Problem diskretnog logaritmaMetode rješavanja • Shank-ova “baby-steps, giant-steps” medota (osnovni napad) • Pollardova metoda • index-calculus metoda
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
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)
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
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);
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;}
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
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
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
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
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