12.07.2015 Views

Predavanja 1. dio: Tehničke sigurnosne mjere - Zemris - FER

Predavanja 1. dio: Tehničke sigurnosne mjere - Zemris - FER

Predavanja 1. dio: Tehničke sigurnosne mjere - Zemris - FER

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Jesu li i koliko su kriptoalgoritmisigurni?♦ Postoje specijalizirana računala za napadgrubom silom na DES kriptosustav:COPACOBANA(A Cost-Optimized PArallel COde Breaker)♦ RSA je također nesiguran:12.12.2009. faktoriziran RSA-768!♦ Osim toga, na kvantnom računalu je riješenproblem faktoriziranja velikih brojeva.♦ 1998. Dobbertin pronalazi kolizije za MD4unutar 1 sekunde na PC računalu♦ 17.8.2004. - kineski i francuski znanstvenicisu otkrili kolizije za nekoliko hash funkcijai objavili članak pod naslovom: "Kolizija zahash funkcije: MD4, MD5, Haval-128 iRIPEMD"♦ 13.2.2005. - kineski znanstvenici:"Collision Search Attacks on SHA-1"1314Napredni kriptosustav (AES)♦ natječaj za napredni kriptosustav (AES –Advanced Encryption Standard) je raspisao NIST(National Institute of Standards and Technology)12.9.1997. godine♦ 3DES je proglašen kao privremeni standard♦ pobjednik: Rijndael (izgovara se “Rain Doll”)– Rijndael - 86 glasova– Serpent - 59– Twofish - 31– RC6 - 23– MARS - 13♦ autori su Joan Daemen i Vincent Rijmen15Kriptoanaliza: napadi na kriptosustave♦ cilj: doznati tajni ključ KVrste napada prema onome što je napadaču dostupno:♦ napad s odabranim čistim tekstom (chosen-plaintextattack) - napadač posjeduje neograničene količine parova(M,C), primjer s pametnim karticama♦ napad s odabranim kriptiranim tekstom (chosen-ciphertextattack) - napadač posjeduje po svojoj volji odabrani C ipripadni M (također neograničene količine parova)♦ napad s poznatim čistim tekstom (known-plaintextattack) - napadač posjeduje neke parove (M,C) -odgovaraju mu svi parovi, ali treba mu za napad određenakoličina parova♦ napad s poznatim kriptiranim tekstom (only-ciphertextattack) - napadač posjeduje samo C a pokušava saznati K iM – napadaču je ovaj napad najteže uspješno provesti16Napadi na DES♦ bilo kakvim linearnim promjenama u postupkugeneriranja ključeva i u funkciji F, DES ne postajeotproniji na napade♦ promjena u nelinearnom (S tablice) dijelualgoritma utječe na ranjivost algoritma♦ DES bitno oslabljuje:- promjena redosljeda S tablica- slučajno odabrane S tablice- umjesto XOR neka složenija funkcija♦ pristup: analiza pojednostavljenog kriptosustava (smanje iteracija i/ili rundi, za primjerice DES sasamo tri runde).17Diferencijalna kriptoanaliza♦ Eli Biham, Adi Shamir, knjiga Differential analysis of DESlikecryptosystems, 1990.♦ tehnika kojom se analizira učinak razlike između dva čistateksta na razliku između dva rezultirajuća kriptirana teksta♦ razlike služe za određivanje vjerojatnosti mogućih ključeva18


♦ S-tablice nisu linearne: poznavanje razlike ulaznog para negarantira poznavanje razlike izlaza iz S-tablica.♦ Za bilo koju ulaznu razliku kod S-tablica postoji ograničenbroj mogućih izlazhih razlika (ima i onih koje se sigurnoneće pojaviti).♦ Ulaz u S tablicu je veličine 6 bita, a izlaz 4 bita:o postoji 2 6 = 64 mogućih ulaznih razlika io 2 4 = 16 izlaznih razlika♦ Supstitucijska tablica S1:DES: funkcija F♦ Sve te mogućnosti mogu se pobrojati i zapisati u tablicu.1920Izlazna razlikaMogući ulazi za ulaznu razliku S1I' = 34 x1 x 03 x , 0F x , 1E x , 1F x , 2A x , 2B x , 37 x , 3B x2 x 04 x , 05 x , 0E x , 11 x , 12 x , 14 x , 1A x , 1B x , 20 x , 25 x , 26 x , 2E x , 2F x , 30 x , 31 x , 3A x3 x 01 x , 02 x , 15 x , 21 x , 35 x , 36 x4 x 13 x , 27 x7 x 00 x , 08 x , 0D x , 17 x , 18 x , 1D x , 23 x , 29 x , 2C x , 34 x , 39 x , 3C x8 x 09 x , 0C x , 19 x , 2D x , 38 x , 3D xD xF x06 x , 10 x , 16 x , 1C x , 22 x , 24 x , 28 x , 32 x07 x , 0A x , 0B x , 33 x , 3E x , 3F x_________________________________________________________________________________________________________________Ulaz u S-tablicu(parovi za koje ⊕ daje 34x)Mogući ključevi za izlaznu razliku D x i ulazeS1E = 1 x i S1E’=35 x (ulazna razlika 34 x )06 x , 32 x10 x , 24 x16 x , 22 x1C x , 28 x07 x , 33 x11 x , 25 x17 x , 23 x1D x , 29 xBroj mogućih izlaznih razlika za pojedinu ulaznu razliku tablice S1(<strong>dio</strong> tablice)21primjer: 1 x ⊕23 x =22 x u S1 izlaz je 1 x ulazna razlika je 22 x ⊕16 x = 34 x35 x ⊕23 x =16 x u S1, izlaz je C x izlazna razlika je 1 x ⊕C x =D x22Učinkovitost napada diferencijalnom kriptoanalizom1990. godine za probijanje DES-a od:♦ šest rundi je bilo potrebno 0.3 sekunde i 240 tekstova♦ osam rundi je bilo potrebno manje od 2 minute i 50,000 tekstova.Broj rundiSloženost42 462 882 1692 26♦ Eli Biham, Adi Shamir, Differential cryptoanalysis of the full 16-round DES, 1991, - opisuje napad diferencijalnom analizomizvediv na potpuni DES koji je brži od pretraživanja pola prostora.♦ John Daemen, Cipher and hash function design strategies basedon linear and differential cryptoanalysis, 1994, (jedan od autoraRijndaela) opisana je Wide Trail Strategy metoda koja pružazaštitu i od diferencijalne i od linearne analize.102 35112 36122 43132 44142 51152 52162 5823Linearna kriptoanaliza♦ Cilj: pronaći linearnu aproksimaciju danog algoritmaP [i 1, i 2, ... , i a] ⊕ C [j 1, j 2, ... , j b] = K [k 1, k 2, ... , k c]PrimjerP [1, 4, 13] ⊕ C [1, 2, 3, 4, 6, 9, 11] = K [5, 6, 8] i p = 100%♦♦paritet 5., 6. i 8. bita ključa jednoznačno je određen paritetompojednih bitova čistog i kriptiranog tekstaduljina ključa efektivno smanjila za 1 bit♦ aproksimacija nikada nema vjerojatnost ni blizu 100%♦ taj nedostatak nadoknađuje se uzimanjem veće količine parovačisti/kriptirani tekst♦ obično postoji više lineanih aproksimacija za neki algoritam24


DES Challenge I: 1997.COPACOBANA(A Cost-Optimized Parallel Code Breaker)♦ razvila ga sveučilišta Ruhr iz Bochuma iChristian-Albrechts iz Kiela 2006. g.♦ FPGA arhitektura, programibilan sustav(može se iskoristiti i u druge svrhe)♦ 400 000 000 enkripcija u sekundi♦ pretraga traje prosječno manje od 9 dana♦ ≈ 9 kEUR (2006.g.)DES Challenge II: 1998. – DES Cracker, 56 satiDES Challenge III: ‘99. : distributed.net- 22h i 15min nakon pretrage 22,2% prostora rješenja2526Zaključna razmatranjasimetrični algoritmi♦ sigurnost se značajno povećava primjenom nekogdrugog načina kriptiranja, osim uobičajenog ECB:CBC, CFB, OFB ili CTR♦ za probijanje DESa potrebno je poznavati većekoličine parova (M,C) kako bi smanjili efektivnudužinu ključa♦ poznavanje nekog uzorka (template) bitnoolakšava napad – preporuka (PGP): sažetidatoteku (zip, rar, …)♦ 3-DES je siguran, samo što trostruko duže traje♦ AES se smatra potpuno sigurnim27ECC - Kriptosustavi zasnovanina eliptičkim krivuljama♦ sigurnost asimetričnih algoritama oslanja sena teško rješive probleme– rastav broja na proste faktore– problem diskretnog logaritma♦ drugo rješenje su 1985. predstavili VictorMiller i Neal Koblitz: kriptografijuzasnovanu na eliptičkim krivuljama28♦ Asimetrični kriptosustavi– EC ElGamalov kriptosustav– Menzes-Vanstoneov kriptosustav– ECES (Elliptic Curve Encription System)– Demytkov kriptosustav (1993., analogan RSA)– KMOV kriptosustav (199<strong>1.</strong>)– Kuwokado-Koyama kriptosustav♦ Protokoli za razmjenu ključeva– ECDH (Elliptic Curve Diffie-Hellman)– EC Nyberg-Rueppelov protokol za razmjenu ključeva♦ Digitalni potpis– ECDSA (Elliptic Curve Digital Signature Algorithm)– ECSS (Elliptic Curve Signature Sheme)– EC Nyberg-Rueppelova shema digitalnog potpisa– OFF shema digitalnog potpisa29♦ Eliptička krivulja se može definirati nad proizvoljnimpoljem K :- polje racionalnih brojeva Q- polje realnih brojeva R- polje kompleksnih brojeva C- konačno polje F q .♦ Opći oblik jednadžbe (Weierstrassova forma)eliptičke krivulje glasi :y 2 +a 1 xy+a 3 y = x 3 +a 2 x 2 +a 4 x+a 6 ,a 1 ,a 2 ,a 3 ,a 4 ,a 6 ∈ K (K je algebarski zatvoreno polje)Eliptička krivulja ili nesingularna kubna krivulja ( engl.nonsingular cubic curve) je skup svih rješenja glatkeWeirstrasseove jednadžbe.Rješenje se naziva točka na eliptičkoj krivulji.30


Definicija eliptičke krivuljeZbrajanje i množenjeEliptička krivulja E nad poljem K je skup svih točaka(x, y) ∈ K × K koje zadovoljavaju jednadžbu:y 2 = x 3 + ax + b,zajedno s još jednim elementom kojeg označavamo sO i zove se "točka u beskonačnosti".PSQK je konačno polje F q karakteristike p,P+Q– gdje je q = p prost broj ili q = p m za neki prirodan broj m.– q – broj elemenata polja31Ako je P = Q, tada umjestosekante povlačimo tangentuna krivulju u točki P.2S32Problem diskretnog logaritma zaeliptičke krivuljeECDH (EC Diffie-Hellman)Neka je dana eliptička krivulja E i točka P ∈ E redan. Zadana je točka Q∈E :AnaJavno je poznatatočka G - generatorBrankoOdabere k aOdabere k bQ = m*P, m ∈ {2, 3,....., n-2}, m = ?Izračuna P=k a *GŠalje PIzračuna M=k b *GKada su E i P ispravno odabrani, rješavanjeECDLP-a smatra se nemogućim:- za m = 0,1 i n-1 točka Q iznosi O, P i –P- Jedan od uvjeta je da je n (red točke P), toliko velik daje teško provjeriti sve mogućnosti od m.Šalje MIzračuna P 1 =k a *M Izračuna P 2 =k b *PTočka P 1 = P 2 = k a k b G koristi se kao zajednički tajni ključ3334EC ElGamalov kriptosustavVrijednosti E(Fq ) , G, n su javne: G (generator) je točka reda n na E(Fq)AnaS A = d AP A = d A * GBrankoTočka P = dG je javni ključ, a je d privatni ključ.( P∈ E(Fq), a d je slučajni broj )Kriptiranje poruke M∈ E(Fq):S B = d BP B = d B * G<strong>1.</strong> Ana generira slučajni broj k∈{2,3,...,n-2} i izračuna R = kG.2. Ana potraži Brankov javni ključ P B i izračuna S = M + kP B3. Šalje (R, S) BrankuDekriptiranje (R,S): Originalna poruka je M = S - d BR.Dokaz: S - d B R = S – d B kG = S – kP B = M + kP B – kP B = M35Zaključna razmatranjaasimetrični algoritmi♦ 12.12.2009. faktoriziran RSA-768– Za što je prema autorima bilo potrebno 2000 godina 2.2GHz-Opteron-CPU s 2GB RAM-a.– Priprema je trajala oko pola godine na 80 takvih računala, a– Rastav je trajao još dvije godine na nekoliko stotina takvihračunala.♦ Procjenjuje se da je faktoriziranje RSA-1024 oko 1000puta teže i da će se to dogoditi do 2020. godine. [T.Kleinjung, at all, Factorization of a 768-bit RSA modulus,dostupno na http://eprint.iacr.org/2010/006.pdf ]♦ Najbolji algoritam za rastav na proste fakrore: GeneralNumber Field Sieve (GNFS)36


Usporedba veličine ključeva u RSA i ECCkriptosustavima:Napadi na ECCRSA102420484096ECC163222409Funkcije za izračunavanjesažetka porukeFunkcije sažimanja ili hash funkcije♦ U srpnju 2009. je na grozdu od 200 igračkih konzolaPlayStatio 3 razbijen 112-bitni ECC. Postupak je trajao trii pol mjeseca (što je usporedivo sa 640-bitnim RSA).3738Važna svojstva funkcija za izračunavanjesažetka porukeOtportnost na izračunavanje originala(preimage resistance)♦ H=h(M)⇒ M=h -1 (M) ne postojiOtpornost na izračunavanje poruke koja daje isti sažetak(2-nd preimage resistance)♦ za poznati M i H=h(M) je nemoguće pronaći M’ kojidaje isti HOtpornost na kolizije (collision resistance)♦ nemoguće je pronaći bilo koje dvije poruke M 1 i M 2 zaSHA (Secure Hash Algorithm)♦ 1993. – objavljen SHA-0♦ 1995. – NSA je predložila SHA-1 kao zamjenu za SHA-0♦ 1998. – objavljen uspješan napad na SHA-0, ali ne i naSHA-1♦ 200<strong>1.</strong> – NSA predlaže SHA-2♦ 2004. – uspješan napad na MD4, MD5, Haval-128,RIPEMD, SHA-0, ali ne i na SHA-1♦ 2005. – uspješan napad na SHA-1♦ 2.1<strong>1.</strong>2007. – NIST raspisuje natječaj za SHA-3♦ dok se ne odabere algoritam SHA-3, preporuča se SHA-2♦ 2.10.2012. odabran Keccak za SHA-3koje se dobiva isti sažeak h(M 1 )=h(M 2 )3940SHA-2SHA-2♦ osmislila je NSA, a NIST publicirao 2001♦ to je skup funkcija:o SHA-224o SHA-256o SHA-384o SHA-512♦ gdje broj uz SHA označava veličinu sažetkaAlgoritamSHA-1SHA-256/224SHA-512/384Sažetak160256/224512/384Stanje160256512Blok5125121024Poruka2 64 − 12 64 − 12 128 − 1Arhitektura323264Broj rundi806480Funkcije+, and, or,xor, rot+, and, or,xor, shift, rot+, and, or,xor, shift, rot41♦ http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf♦ zadnji blok teksta se nadopunjuje do 512 bitova na isti načinkao i SHA-1♦ poruka se podijeli na blokove od po 512 bita:M (1) , M (2) , ..., M (N)♦ svaki blok se dijeli na 16 podblokova po 32 bita :M 0 , M 1 , M 2 , …, M 15♦ H (0) =a 0 b 0 c 0 d 0 e 0 f 0 g 0 h 0a 0 =6a09e667 e 0 =510e527fb 0 =bb67ae85 f 0 =9b05688cc 0 =3c6ef372 g 0 =1f83d9abd 0 =a54ff53a h 0 =5be0cd1942


SHA-2SHA-2♦ koristi se zbrajanje po modulu 2 32♦ koriste se sljedeće funkcije:Ch(X,Y,Z) = ( X ∧ Y ) ⊕ ( ¬X ∧ Z )Maj(X,Y,Z) = (X ∧ Y) ⊕ (X ∧ Z) ⊕ (Y ∧ Z)S 0 (x) = ROTR 2 (x) ⊕ ROTR 13 (x) ⊕ ROTR 22 (x)S 1 (x) = ROTR 6 (x) ⊕ ROTR 11 (x) ⊕ ROTR 22 (x)F 0 (x) = ROTR 7 (x) ⊕ ROTR 18 (x) ⊕ SHR 3 (x)F 1 (x) = ROTR 17 (x) ⊕ ROTR 19 (x) ⊕ SHR 10 (x)♦ koriste se sljedeće konstante:K t =5a827999, za 0 ≤ t ≤ 19K t =6ed9eba1, za 20 ≤ t ≤ 39K t =8f1bbcdc, za 40 ≤ t ≤ 59K t =ca62c1d6, za 60 ≤ t ≤ 7943Za i=1 do N radi{♦ Priprema (izračunavanje Wt)♦ W t = M(i)t , 0 ≤ t ≤ 15W t = F 1 (W t-2 )+ W t-7 + F 0 (W t-15 )+ W t-16 ), 16 ≤ t ≤ 63♦ a=H 0(i-1)b=H 1(i-1)c=H 2(i-1)... h=H 7(i-1)♦ Za t=0 do 63 radi{ // u 64 koraka računaj abcdefghRačunaj a,b,c,d,e,f,g,h}♦ H 0(i)=a+H 0(i-1)H 1(i)=b+H 1(i-1)...H 7(i)=h+H 7(i-1)}44SHA-2Računaj a,b,c,d,e,f,g,h:SHA-3♦ 2.1<strong>1.</strong>2007. – NIST raspisuje natječaj za SHA-3♦ informacije o natječaju su dostupne nahttp://csrc.nist.gov/groups/ST/hash/sha-3/index.html♦ konačni izbor 2.10.2012. godine♦ do 3<strong>1.</strong>10.2008. zabilježeno je 64 prijava:AbacusARIRANGAURORABLAKEBlenderBMWBOOLECheetahCHICRUNCHCubeHashDCHDynamic SHADynamic SHA2ECHOECOHENDO-REnRUPTESSENCEFSBFugueGroestlHamsiHASH 2xJHKeccakKhichidi-1LANELesamntaLuffaLUXMaracaMCSSHA-3MD6MeshHashNaSHANKS 2DPonicSANDstormSarmalSgailShabalSHAMATASHAvite-3SIMDSkeinSpectral HashStreamHashSwiFFTXTangleTIB3TwisterVortexWammWaterfallZK-Crypt????????4546SHA-3♦ do 3<strong>1.</strong>10.2008. zabilježeno je 64 prijava od čega je 51algoritam odabran za prvi krug:SHA-3♦ do tada 10.5.2009. pronađene su slabosti kod 15 algoritama,ostaje ih 26:AbacusARIRANGAURORABLAKEBlenderBMWBOOLECheetahARIRANGAURORABLAKEBlenderBMWCheetahCHICRUNCHCubeHashDCHDynamic SHADynamic SHA2ECHOECOHCHICRUNCHCubeHashDynamic SHADynamic SHA2ECHOECOHENDO-REnRUPTESSENCEFSBFugueGroestlHamsiHASH 2xENDO-REnRUPTESSENCEFSBFugueGroestlHamsiJHKeccakKhichidi-1LANELesamntaLuffaLUXMaracaJHKeccakLANELesamntaLuffaLUXMCSSHA-3MD6MeshHashNaSHANKS 2DPonicSANDstormSarmalMCSSHA-3MD6NaSHASANDstormSarmalSgailShabalSHAMATASHAvite-3SIMDSkeinSpectral HashStreamHashSgailShabalSHAvite-3SIMDSkeinSpectral HashSwiFFTXTangleTIB3TwisterVortexWammWaterfallZK-CryptSwiFFTXTIB3TwisterVortex????????4748


SHA-3♦ 24.6.2009. objavljena je lista od 14 kandidata za drugi krug:♦ BLAKE♦ BMW - BlueMidnight Wish♦ CubeHash(Bernstein)♦ ECHO (FranceTelecom)♦ Fugue (IBM)♦ Groestl (Knudsen)♦ Hamsi♦ JH♦ Keccak (Daemen)♦ Luffa♦ Shabal♦ SHAvite-3♦ SIMD♦ Skein (Schneier)SHA-3♦ 9.12.2010. objavljen je popis 5finalista:♦ 2.10.2012. proglašen pobjednik:♦ BLAKE♦ Groestl (Knudsen)♦ JH♦ Keccak (Daemen)♦ Skein (Schneier)♦ KeccakARIRANGBLAKEBMWCheetahBLAKEBMWCHICRUNCHCubeHashDynamic SHA2ECHOCubeHashECHOESSENCEFSBFugueGroestlHamsiFugueGroestlHamsiJHKeccakLANELesamntaLuffaJHKeccakLuffaMD6SANDstormShabalSHAvite-3SIMDSkeinShabalSHAvite-3SIMDSkeinSwiFFTX49http://csrc.nist.gov/groups/ST/hash/sha-3/index.html50SHA-3SHA-3: nadopunjavanje♦ autori su Guido Bertoni, Joan Daemen (autor AES-a),Michaël Peeters, and Gilles Van Assche♦ značajno brži od ostalih finalista♦ nadopunjavanje zadnjeg bloka teksta (padding) jeizmijenjeno i pojednostavljeno u odnosu nao SHA-2:♦ sažeci su jednake duljine kao i kod SHA-2:o SHA3-224o SHA3-256o SHA3-384o SHA3-512gdje broj uz SHA3 označava veličinu sažetkaM II 10* II 64-bita za duljinu porukeo izvorni prijedlog autora algoritma Keccak:M II 10*1000000i obavlja se prema shemi♦ nadopunjavanje zadnjeg bloka teksta (padding) jeizmijenjeno i obavlja se prema shemi 10*1M II 10*15152SHA-3: spužvasta konstrukcijaSHA-3: Keccakrc0⊕0p 0faza upijanja faza cijeđenjafp 1⊕fp i⊕fz 0 z 1Hf f♦ stanje♦ bit♦ X = Y = 5♦ duljina trake Z = ww ∈ {1, 2, 4, 8, 16, 32, 64}♦ w je duljina CPU riječi♦ Keccak-f [b] gdje je b brojbitova stanja b = 25wb ∈ {25, 50, 100, 200, 400,800, 1600}♦♦25w = c + r = 1600 (za 64 bitne riječi)SHA-3: c = 2 x veličina sažetkao SHA3-224: c = 448, r = 1152o SHA3-256: c = 512, r = 1088o SHA3-384: c = 768, r = 832o SHA3-512: c = 1024, r = 576♦ traka redak stupac53(slike su preuzete sa http://keccak.noekeon.org/ )54


SHA-3: funkcija f♦ funkcija f obavlja se u n r koraka: n r = 12+2l, gdje je 2 l = w♦ za w = 64 =26, n r = 24 korakaKeccak-f[b](A){za i 0 do nr-1A = Round[b](A, RC[i]);return A;}♦ funkcija f se sastoji od poziva pet osnovnih funkcija:o θ (theta)o ρ (rho)o π (pi)o χ (chi)o ι (iota)55SHA-3: funkcija fKeccak-f[b](A){za i 0 do nr-1// (x,y)∈(0…4,0…4)// funkcija θC[x] = A[x,0] xor A[x,1] xor A[x,2] xorA[x,3] xor A[x,4];D[x] = C[x-1] xor rot(C[x+1],1);A[x,y] = A[x,y] xor D[x];}}// funkcije ρ i πB[y,2*x+3*y] = rot(A[x,y], r[x,y]);// funkcija χA[x,y] = B[x,y] xor ((not B[x+1,y]) andB[x+2,y]);// funkcija ιA[0,0] = A[0,0] xor RCreturn A;56SHA-3: funkcija thetaSHA-3: funkcija rho♦ θ (theta) funkciija računa paritet (XOR) zadanih bitovastanja:theta(A){C[x] = A[x,0]⊕A[x,1]⊕A[x,2]⊕A[x,3]⊕A[x,4];D[x] = C[x-1] ⊕ rot(C[x+1],1);// x ∈ 0…4A[x,y] = A[x,y] ⊕ D[x];// (x,y) ∈ (0…4,0…4)}♦ animacija dostupna na:o http://celan.informatik.uni-oldenburg.de/kryptos/info/keccak/theta/57♦ ρ (rho) - rotacija trake za Tn - trokutni broj (0, 1, 3, 6,10, 15, 21, 28, 36, 45, 55, ....) mod 64 bitovaTn = 0 + 1 + 2 + 3 + ... + n = n(n+1)/2♦ a[0][0] se ne rotira, a ostali se rotiraju prema tablici:x=3 x=4 x=0 x=1 x=2y=2 25 39 3 10 43y=1 55 20 36 44 6y=0 28 27 0 1 62y=4 56 14 18 2 61y=3 21 8 41 45 15♦ animacija dostupna na:http://celan.informatik.uni-oldenburg.de/kryptos/info/keccak/rho/58SHA-3: funkcija pi♦ π (pi) - permutacija 25-bitne riječi prema zadanom uzorku:SHA-3: funkcija chi♦ χ (hi) - djeluje na trakama neke plohe i to logičkimfunkcijama NOT, AND i XOR:a[i][j][k] ⊕= ¬a[i][j+1][k] & a[i][j+2][k]♦ animacija dostupna na:http://celan.informatik.uni-oldenburg.de/kryptos/info/keccak/pi/59♦ jedina nelinearna operacija u SHA-3♦ animacija je dostupna na:http://celan.informatik.uni-oldenburg.de/kryptos/info/keccak/chi/60


SHA-3: funkcija iota♦ ι (iota) - prvu traku zbraja (XOR) s drugom konstantom usvakom koraku:A[0,0] ⊕= RC[i]RC[ 0]=0x0000000000000001 RC[12]=0x000000008000808BRC[ 1]=0x0000000000008082 RC[13]=0x800000000000008BRC[ 2]=0x800000000000808A RC[14]=0x8000000000008089RC[ 3]=0x8000000080008000 RC[15]=0x8000000000008003RC[ 4]=0x000000000000808B RC[16]=0x8000000000008002RC[ 5]=0x0000000080000001 RC[17]=0x8000000000000080RC[ 6]=0x8000000080008081 RC[18]=0x000000000000800ARC[ 7]=0x8000000000008009 RC[19]=0x800000008000000ARC[ 8]=0x000000000000008A RC[20]=0x8000000080008081RC[ 9]=0x0000000000000088 RC[21]=0x8000000000008080RC[10]=0x0000000080008009 RC[22]=0x0000000080000001RC[11]=0x000000008000000A RC[23]=0x8000000080008008♦ animacija je dostupna na:http://celan.informatik.uni-oldenburg.de/kryptos/info/keccak/iota/61DSS/DSA♦ NIST je preporučio 199<strong>1.</strong> g. algoritam za digitalnopotpisivanje elektroničkih dokumenata (DigitalSignature Algorithm – DSA) da postane sastavni<strong>dio</strong> norme (Digital Signature Standard - DSS)postupak potpisivanjaSMSHAh(M)DSADigitalnipotpisprovjeraMSHAh(M)DSADA/NEP62DSA♦ je zapravo ElGamalov digitalni potpis♦ L – broj bitova ključa♦ q – prim broj jednake duljine kao i H♦ p – L-bitni prim broj takav da je (p-1) višekratnikod q♦ g = h (p-1)/q mod p (g>1), gdje je h ∈ (1, p-1)♦ izabrati x ∈ (0, q) i izračunati♦ y = g x mod pprivatni ključ je S = x, a javni P = (p, q, g, y)DSAPostupak potpisivanja♦ za svaku poruku m generiraj slučajni broj k ∈ (0, q)♦ r = (g k mod p) mod q , r ≠ 0♦ k -1 ∈ (0,q) takav da vrijedi (k -1 k) mod q = 1♦ s = (k -1 (H(m) + xr)) mod qdigitalni potpis = (r, s)Provjera potpisa♦ w = s -1 mod q♦ v = ((g (H(m)*w) mod q * y (r*w) mod q ) mod p ) mod q♦ potpis je ispravan ako je v = r6364Pregled napada na funkcije zaizračunavanje sažetkaPregled napada na funkcije zaizračunavanje sažetka♦ 1998. Dobbertin pronalazi kolizije za MD4 unutar 1sekunde na PC računalu♦ iste godine F. Chabaud i A. Joux izveli prvi uspješan napadna SHA-0 (prostor pretraživanja je smanjen s 2 160 na 2 61 )♦ 17.8.2004. objavljen rad kineskih i francuskih znanstvenikau kojem su opisane kolizije za MD4, MD5, Haval-128 iRIPEMD♦ za SHA-0 je pretraživanja je smanjen s 2 61 na 2 51– superračunalo s 256 Itanium procesora pronalazi za 13 danakoliziju– par dana nakon ove vijesti kineski znanstvenici objavljuju uspješannapad sa složenošću 2 40– veljača 2005. godine: prostor pretraživanja je smanjen na 2 39♦ 13.2.2005. kineski znanstvenici: "Collision SearchAttacks on SHA-1“ (prostor pretraživanja 2 69 )♦ u kolovozu 2005. prostor pretraživanja za SHA-1je smanjen na 2 63♦ kolizije su bezopasne sve dok izgledaju kaoslučajan niz♦ ipak, gubi se povjerenje u certifikate i protokolekoji koriste sažetak slučajnog simetričnog ključa♦ problem nevidljivih podataka u Word dokumentuili slučajnih nizova u slikama!6566


Napadi na funkcije za izračunavanje sažetkaBirthday attack♦ vjerojatnost da dvije poruke iz skupa od k=<strong>1.</strong>2(2 n ) 1/2 ==<strong>1.</strong>2⋅2 n/2 poruka daju isti sažetak je veća od 50%, gdje jen duljina sažetka♦ analogno: vjerojatnost da dvije osobe u dvorani u kojojje ukupno k=<strong>1.</strong>2⋅365 1/2 =23 ljudi imaju isti danrođendan je veća od 50%M 1 :M 2 :“UGOVOR: Za 657200 kn je Ana Twofish kupilastan od Branka Horvata.”“UGOVOR: Za 176450 kn je Ana Twofish kupilastan od Branka Horvata.”67M<strong>1.</strong>txt00000000 d1 31 dd 02 c5 e6 ee c4 69 3d 9a 06 98 af f9 5c00000010 2f ca b5 87 12 46 7e ab 40 04 58 3e b8 fb 7f 8900000020 55 ad 34 06 09 f4 b3 02 83 e4 88 83 25 71 41 5a00000030 08 51 25 e8 f7 cd c9 9f d9 1d bd f2 80 37 3c 5b00000040 96 0b 1d d1 dc 41 7b 9c e4 d8 97 f4 5a 65 55 d500000050 35 73 9a c7 f0 eb fd 0c 30 29 f1 66 d1 09 b1 8f00000060 75 27 7f 79 30 d5 5c eb 22 e8 ad ba 79 cc 15 5c00000070 ed 74 cb dd 5f c5 d3 6d b1 9b 0a d8 35 cc a7 e3M2.txt00000000 d1 31 dd 02 c5 e6 ee c4 69 3d 9a 06 98 af f9 5c00000010 2f ca b5 07 12 46 7e ab 40 04 58 3e b8 fb 7f 8900000020 55 ad 34 06 09 f4 b3 02 83 e4 88 83 25 f1 41 5a00000030 08 51 25 e8 f7 cd c9 9f d9 1d bd 72 80 37 3c 5b00000040 96 0b 1d d1 dc 41 7b 9c e4 d8 97 f4 5a 65 55 d500000050 35 73 9a 47 f0 eb fd 0c 30 29 f1 66 d1 09 b1 8f00000060 75 27 7f 79 30 d5 5c eb 22 e8 ad ba 79 4c 15 5c00000070 ed 74 cb dd 5f c5 d3 6d b1 9b 0a 58 35 cc a7 e3$ md5sum M<strong>1.</strong>txtMD5 Sum = a4c0d35c95a63a805915367dcfe6b751$ md5sum M2.txtMD5 Sum = a4c0d35c95a63a805915367dcfe6b75168M<strong>1.</strong>txt00000000 d1 31 dd 02 c5 e6 ee c4 69 3d 9a 06 98 af f9 5c00000010 2f ca b5 87 12 46 7e ab 40 04 58 3e b8 fb 7f 8900000020 55 ad 34 06 09 f4 b3 02 83 e4 88 83 25 71 41 5a00000030 08 51 25 e8 f7 cd c9 9f d9 1d bd f2 80 37 3c 5b00000040 96 0b 1d d1 dc 41 7b 9c e4 d8 97 f4 5a 65 55 d500000050 35 73 9a c7 f0 eb fd 0c 30 29 f1 66 d1 09 b1 8f00000060 75 27 7f 79 30 d5 5c eb 22 e8 ad ba 79 cc 15 5c00000070 ed 74 cb dd 5f c5 d3 6d b1 9b 0a d8 35 cc a7 e3M2.txt00000000 d1 31 dd 02 c5 e6 ee c4 69 3d 9a 06 98 af f9 5c00000010 2f ca b5 07 12 46 7e ab 40 04 58 3e b8 fb 7f 8900000020 55 ad 34 06 09 f4 b3 02 83 e4 88 83 25 f1 41 5a00000030 08 51 25 e8 f7 cd c9 9f d9 1d bd 72 80 37 3c 5b00000040 96 0b 1d d1 dc 41 7b 9c e4 d8 97 f4 5a 65 55 d500000050 35 73 9a 47 f0 eb fd 0c 30 29 f1 66 d1 09 b1 8f00000060 75 27 7f 79 30 d5 5c eb 22 e8 ad ba 79 4c 15 5c00000070 ed 74 cb dd 5f c5 d3 6d b1 9b 0a 58 35 cc a7 e3$ md5sum M<strong>1.</strong>txtMD5 Sum = a4c0d35c95a63a805915367dcfe6b751$ md5sum M2.txtMD5 Sum = a4c0d35c95a63a805915367dcfe6b75169DigitalnicertifikatCertificate:Data:Version: 3 (0x2)Serial Number: 75 (0x4b)Signature Algorithm: md5WithRSAEncryptionIssuer: C=US, ST=WA, L=Seattle, O=Thawte Consulting cc,OU=Certification Services Division,CN=Thawte Server CA/emailAddress=certs@thawte.comValidityNot Before: May 13 23:33:08 2008 GMTNot After : Dec 31 23:59:59 2020 GMTSubject: C=HR, ST=Grad Zagreb, L=Zagreb, O=<strong>FER</strong>, OU=CIP,CN=webmail.fer.hr/emailAddress=korisnik@webmail.fer.hrSubject Public Key Info:Public Key Algorithm: rsaEncryptionRSA Public Key: (1024 bit)Modulus (2048 bit):00:cd:66:28:fb:b8:b3:b7:e0:72:77:48:2d:08:04:e1:6d:1c:c5:4f:57:73:0c:e6:db:3b:8e:cd:c6:25:61:7f:60:c9:da:a3:9f:1d:fa:d8:ef:00:7b:f9:54:65:ab:7e:9e:9b:6d:ff:d4:12:ad:f8:ac:87:6e:83:ec:65:5f:b4:2d:eb:b8:dc:1c:d7:32:b7:46:a5:e3:a1:6c:0b:4c:1b:0c:89:0a:fb:0e:3a:c0:0f:af:b2:62:1d:2f:60:e4:b1:27:b4:7c:59:00:2c:19:e9:f3:a3:88:fe:01:d6:56:be:26:c7:f8:42:b1:79:39:98:a1:b4:4a:84:dd:20:ca:e7:a9:db:6d:a6:73:88:e7:81:8b:3e:81:3d:00:e5:5d:7f:3d:9b:cd:ba:9b:28:88:88:7f:d7:69:2c:66:eb:8f:79:b8:ec:bc:bb:76:67:b1:00:2a:70:bd:f1:21:66:6f:ba:74:81:82:30:02:c0:a8:57:f8:9f:76:02:df:7f:49:44:4a:32:93:48:a4:25:73:47:10:21:20:fe:b6:d2:09:1a:60:4f:a5:d9:df:ea:55:49:43:c6:ce:96:0b:7d:a7:22:c1:3e:5b:28:2e:2c:04:7a:b2:93:89:db:d8:2b:59:86:a3:0a:c1:6f:f9:56:b2:a5:71:4c:4b:74:f3:b8:a1:b4:65Exponent: 65537 (0x10001)X509v3 extensions:X509v3 Basic Constraints: criticalCA:TRUESignature Algorithm: md5WithRSAEncryption07:fa:4c:69:5c:fb:95:cc:46:ee:85:83:4d:21:30:8e:ca:d9:a8:6f:49:1a:e6:da:51:e3:60:70:6c:84:61:11:a1:1a:c8:48:3e:59:43:7d:4f:95:3d:a1:8b:b7:0b:62:98:7a:75:8a:dd:88:4e:4e:9e:40:db:a8:cc:32:74:b9:6f:0d:c6:e3:b3:44:0b:d9:8a:6f:9a:29:9b:99:18:28:3b:d1:e3:40:28:9a:5a:3c:d5:b5:e7:20:1b:8b:ca:a4:ab:8d:e9:51:d9:e2:4c:2c:59:a9:da:b9:b2:75:1b:f6:42:f2:ef:c7:f2:18:f9:89:bc:a3:ff:8a:23:2e:70:4770Zaključna razmatranjafunkcije za izračunavanje sažetka porukePreporuke♦ kolizije su bezopasne sve dok izgledaju kaoslučajan niz♦ međutim, gubi se povjerenje u certifikate,protokoli koji koriste sažetak slučajnogsimetričnog ključa nisu više sigurni♦ problem nevidljivih (pobrisanih) podataka uWord dokumentu!♦ rješenje: koristiti obične tekstualne datotekeili potpisati sažetu datoteku (kao što PGPkoristi zip) 72Simetrični (ne DES!)AsimetričniECCHASHMinimalno1281024192SHA-224Preporuka256AES4096256SHA-256*128AES2048RSA256SHA-371


Preporuke prema europskom programupotpore klasifikacije kvalitete elektroničkogpotpisaAlgoritam \ Razina341,2 i 5Elektronički potpis♦ 17. siječnja 2002. donešen je Zakon o elektroničkom potpisuElektronički potpis je skup podataka u elektroničkom oblikukoji su pridruženi ili su logički povezani s drugim podacima uelektroničkom obliku i koji služe za identifikaciju potpisnika ivjerodostojnosti potpisanoga elektroničkog dokumenta.RSA, n= 1024 2432ECDSA 160 224HASH SHA-224 SHA-256Ostali parametri RSA: p ≈ q, d>>, e>65536---Napredan elektronički potpis je elektronički potpis kojipouzdano jamči identitet potpisnika i koji udovoljavasljedećim zahtjevima:<strong>1.</strong> elektronički potpis je povezan isključivo s potpisnikom,2. nedvojbeno identificira potpisnika,3. nastaje korištenjem sredstava kojima potpisnik možesamostalno upravljati i koja su isključivo pod nadzorompotpisnika,4. sadržava izravnu povezanost s podacima na koje se odnosi ito na način koji nedvojbeno omogućava uvid u bilo kojuizmjenu izvornih podataka.7374Kvantna kriptografija♦ danas se računalna sigurnost zasniva nanedokazanoj činjenici da ne postoji efikasanalgoritam za faktorizaciju velikih brojeva teza izračun diskretnog logaritma♦ Shor, 1994.: kvantni algoritam (može seostvariti na kvantnom računalu) za brzufaktorizaciju brojeva♦ rješenje: QKD protocolProtokol BB84♦ prvi QKD protokol♦ predložili ga Charles H.Bennett (IBM) iGilles Brassard (Montreal)♦ dva kanala: javni i kvantni (optički kabel)7576Protokol BB84♦ puls polariziranog svjetla s jednim fotonom♦ 4 moguće polarizacije fotona- baza ⊕: foton je ili vertikalno (90°) ilihorizontalno (0°) polariziran- baza ⊗: foton je dijagonalnopolariziran (45° ili 135°)♦ sigurnost protokola temelji se na- nemogućnosti kloniranja fotona- Heisenbergovom principuneodređenosti7778


Problemi s BB84 protokolom♦ puls polariziranog svjetla s jednim fotonom♦ mora se ugraditi kod za ispravku pogrešakakoje se javljaju tijekom prijenosa♦ duži kabel ili veća udaljenost – većavjerojatnost pogreške♦ 2004 g.: - max. dužina kabla 60 km- max. udaljenost oko 2 km♦ brzina prijenosa ~ 1 kb/s, a treba 1 Mb/s79 80Prvi komercijalni produkt (2002.)Primjena kriptografije u sigurnosnimprotokolima: SSH, SSL i TLS♦ mrežni protokoli koji omogućavaju uspostavu sigurnogkomunikacijskog kanala♦ nalaze se u aplikacijskom sloju (iznad transportnog sloja)SSH (Secure Shell)♦ uključuje autentifikaciju na pristupu (portu) 22 putem imena i zaporke♦ služi za siguran prijenos komandi (naredbi) na Internetu♦2004. g., prva sigurna transakcija između banaka- grupa prof. Antona Zeilingera na BečkomSSL (Secure Sockets Layer) – vlasnik je tvrtka Netscape Communications♦ pristup (port) 443♦ koristi se prilikom plaćanja kreditnim karticama na Internetu♦ koristi certifikate♦ https = http + SSL (ili TLS)TLS (Transport Layer Security)♦ vrlo sličan protokolu SSL samo što nema vlasnika ☺sveučilištu je primijenila QKD protokol 8182Zaključak♦ Simetrični algoritmi: AES♦ Asimetrični algoritmi: RSA-2048, ECC♦ Funkcije za izračunavanje sažetka poruke: SHA-3♦ Pažljivo čitati članke bombastičnih naslova poput “Chipand PIN is Broken” jer sigurnosni propusti su najčešće uprotokolu, a vrlo rijetko u kriptografskim algoritmima:ČELIKPLASTIKAKONACTEHNOLOGIJASIG. POLITIKE IPROTOKOLILJUDSKI FAKTORS. J. Murdoch, S. Drimer, R. Anderson, M. Bond, Chip andPIN is Broken, IEEE Symposium on Security and Privacy,2010.– U članku je opisan propust u protokolu koji se može iskoristiti zanapad čovjek u sredini u kojem se izbjegava sigurna autentifikacijaPIN-om.PRIJETNJE83

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!