1 / 11

H eš funkcije

H eš funkcije. Potreba za heš funkcijama. Pretpostavimo da je Ali sa potpisala M Ali sa šalje M i S = [M] Alice Bob u Bob verif ikuje da je M = {S} Alice Da li je dovoljno poslati samo S? Ako je M veliko , [M] Alice je računski zahtevno

bayard
Download Presentation

H eš funkcije

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. Heš funkcije

  2. Potreba za heš funkcijama • Pretpostavimo da je Alisa potpisala M • Alisa šalje M i S = [M]Alice Bobu • Bob verifikuje da je M = {S}Alice • Da li je dovoljno poslati samo S? • Ako je M veliko, [M]Alice je računski zahtevno • Umesto toga, zamislimo da Alisa potpiše h(M), gde je h(M) daleko kraće od M • Alisa šalje M i S = [h(M)]Alice Bobu • Bob verifikuje da je h(M) = {S}Alice

  3. Kripto heš funkcije • Kripto heš funkcija h(x) mora da obezbedi • Kompresijuizlazna dužina mora biti kratka • Efikasnost h(x) se lako računa za bilo koje x • Jednosmernostza zadato y praktično je nemoguće naći x takvo da je h(x) = y • Slabe otpornost na kolizijeza zadato x i h(x), nemoguće je naći y  x takvo da je h(y) = h(x) • Jaka otpornost na kolizijenemoguće je naći x i y, x  y takve da je h(x) = h(y) • Postoji puno kolizija, ali ih je teško pronaći

  4. Rodjendanski problem - uvod • Neka je N ljudi u sobi • Koliko veliko mora biti N da bi verovatnoća da neko ima isti rodjendan kao i ja, bila  1/2 • Rešenje: 1/2 = 1  (364/365)N for N • Rezultat N = 253

  5. Rodjendanski problem • Koliko mora biti najmanje ljudi u sobi, da verovatnoća da dvoje ili više ljudi ima isti rodjendan, bude  1/2? • 1  365/365  364/365   (365N+1)/365 • Stavljanjem da je ovaj izraz jednak 1/2 dobija se rešenje: N = 23 • Iznenadjenje? Paradoks? • Možda i nije: “Trebalo bi” da bude oko sqrt(365) budući da se porede sviparovi x i y

  6. O heširanju i rodjendanima • Ako je h(x) dužine N bita, tada ima 2Nrazličitih heš vrednosti • sqrt(2N) = 2N/2 • Stoga, ako heširamo oko 2N/2slučajnih vrednosti, očekujemo pojavu jedne kolizije • Implikacija:bezbedan N bitni simetrični ključ zahteva 2N1rada da bi se razbio, dok za isti posao u slučaju bezbednog N bitnog heša je potrebno 2N/2operacija

  7. Nekriptološki heš • Podaci X = (X0,X1,X2,…,Xn-1), svako Xije jedan bajt • Neka je hash(X) = X0+X1+X2+…+Xn-1 • Da li je bezbedan? • Primer: X = (10101010,00001111) • Heš je 10111001 • Ali ovo je heš i za Y = (00001111,10101010) • Lako se nalaze kolizije, stoga ovonijesiguran heš

  8. Nekriptološki heš • Podaci X = (X0,X1,X2,…,Xn-1) • Pretpostavimo da je heš • h(X) = nX0+(n-1)X1+(n-2)X2+…+1Xn-1 • Da li je ovo siguran heš? • U najmanju ruku je • h(10101010,00001111)h(00001111,10101010) • Heš od (00000001,00001111) je isti kao i heš od (00000000,00010001) • Nije jednosmerna funkcija, ali se može koristiti u nekriptološkim primenama, npr.rsync

  9. Nekriptološki heš • Cyclic Redundancy Check (CRC) • Dobar je za detekciju usmerenih (burst)grešaka • Lako se mogu iznaći kolizije • CRC se ponekad pogrešno koristi u kriptološkim primenama (WEP)

  10. Popularani kripto hešovi • MD5izumljen od strane Rivest-a • 128 bitni izlaz • Primedba: MD5 kolizije su tek nedavno pronadjene • SHA-1Standard Američke vlade (sličan je MD5) • 160 bitni izlaz • Postoje i mnoge druge heš funkcije, ali su MD5 i SHA-1 u najširoj upotrebi • Hešovanje poruke se obavlja hešovanjem njenih blokova

  11. Dizajn kriptoloških hešova • Poželjne osobine: lavinski efekat • Promene u 1 bitu izazivaju promene u približno polovini izlaznih bita • Kriptološke heš funkcije se sastoje od nekoliko rundi • Poželjne su brzina i sigurnost • Lavinski efekat već posle nekoliko rundi • Runde moraju biti jednostavne za izvršenje • Dizajn je analogan blokovskim šiframa

More Related