1 / 29

Kriptografija sa javnim ključevima

Kriptografija sa javnim ključevima. Kriptografija sa javnim ključevima. Whitfield Diffie i Martin Hellman , aut ori prvog rada o kriptografiji sa javnim ključevima. Kriptografija sa javnim ključevima. Dva ključa Pošiljalac koristi javni ključ primaoca za šifrovanje

ince
Download Presentation

Kriptografija sa javnim ključevima

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. Kriptografija sa javnim ključevima

  2. Kriptografija sa javnim ključevima Whitfield DiffieiMartin Hellman, autori prvog rada o kriptografiji sa javnim ključevima

  3. Kriptografija sa javnim ključevima • Dva ključa • Pošiljalac koristi javni ključprimaoca za šifrovanje • Primaoc koristi svoj privatni (tajni) ključza dešifrovanje • Zasniva se na trap door, ili jednosmernim (one way) funkcijama • Lako se izračunavaju u jednom smeru • Teško se izračunavaju u drugom smeru • “Trap door” se koristi za generisanje tajnog ključa • Primer: Za zadate p i q, proizvod N=pq se lako računa, ali za dato N, teško je naći p i q

  4. Kriptografija sa javnim ključevima • Šifrovanje • Pretpostavimo da se M šifruje Bobovim javnim ključem • Samo Bobov privatni ključ može da dešifruje poruku M • Digitalni potpis • Potpisati “šifrovanjem” sa privatnim ključem • Svako može da verifikujepotpis “dešifrovanjem” sa javnim ključem • Samo jevlasnik privatnog ključaje mogao da potpiše • Sličan je klasičnom potpisivanju

  5. RSA

  6. Ronald Rivest Adi Shamir Len Adleman

  7. RSA • Izumljen od strane Cocks-a (GCHQ –Government Communications Headquarters ), i nezavisno od Rivest-a, Shamir-ai Adleman-a (MIT) • Neka su p i q dva velika prosta broja • Neka je N = pq modulus • Izabrati broj e uzajamno prost u odnosu na (p1)(q1) • Naći d takvo da je ed = 1 mod (p1)(q1) • Javni ključ: (N,e) • Privatni ključ: d

  8. RSA • Da bi se šifrovala porukaMračuna se • C = Me mod N • Da bi se dešifrovaloCračuna se • M = Cd mod N • Podsetimo se da sueiNjavni • Ukoliko bi napadač faktorisao N, može zatim da upotrbi e u cilju lakog nalaženja d pošto je ed = 1 mod (p1)(q1) • Faktorizacija modulusa razbija RSA • Nije poznato da li je faktorizacija jedini način za razbijanje RSA

  9. Dali RSA zaista radi? • Za zadatoC = Me mod Nmoramo pokazati • M = Cd mod N = Med mod N • IskoristićemoOjlerovuteoremu • Ako je x uzajamno prost u odnosu na n tada je x(n) = 1 mod n • Činjenice: • ed = 1 mod (p  1)(q  1) • Po definiciji “mod-a”, ed = k(p  1)(q  1) + 1 • (N) = (p  1)(q  1) • Tada je ed  1 = k(p  1)(q  1) = k(N) • Med = M(ed  1) + 1 = MMed  1 = MMk(N) = M(M(N))k mod N = M1k mod N = M mod N

  10. Jednostavan RSA primer • Primer RSA • Izabrati “velike” proste brojeve p = 11, q = 3 • Tada je N = pq = 33 i (p1)(q1) = 20 • Izabrati e = 3 (uzajamno prost u odnosu na 20) • Naći d takvo da je ed = 1 mod 20, što daje d = 7 • Javni ključ: (N, e) = (33, 3) • Privatni ključ: d = 7

  11. Jednostavan RSA primer • Javni ključ : (N, e) = (33, 3) • Privatni ključ : d = 7 • Neka je poruka M = 8 • Šifrat C se računa na sledeći način C = Me mod N = 83 = 512 = 17 mod 33 • Dešifrovanje C u cilju dobijanja M se vrši na sledeći način M = Cd mod N = 177 = 410,338,673 = 12,434,505  33 + 8 = 8 mod 33

  12. Efikasniji RSA • Modularno stepenovanje - primer • 520 = 95367431640625 = 25 mod 35 • Bolji način: sukcesivno kvadriranje • 20 = 10100 base 2 • (1, 10, 101, 1010, 10100) = (1, 2, 5, 10, 20) • Primetimo da 2 = 1 2, 5 = 2  2 + 1, 10 = 2  5, 20 = 2  10 • 51= 5 mod 35 • 52= (51)2 = 52 = 25 mod 35 • 55= (52)2 51 = 252 5 = 3125 = 10 mod 35 • 510 = (55)2 = 102 = 100 = 30 mod 35 • 520 = (510)2 = 302 = 900 = 25 mod 35 • Na ovaj način se ne susrećemo sa velikim brojevima!

  13. Efikasniji RSA • Neka jee = 3za sve korisnike (ali ne i istoNilid) • Operacije vezane za javni ključ zahtevaju samo dva množenja • Operacije vezane za privatni ključ osatju ekstenzivne • Ako je M < N1/3 tada je C = Me = M3i tada se može preduzetinapad trećeg korena • Za svako M, ako je C1, C2, C3poslatotrima korisnicima, realan je napad trećeg korena (uz upotrebu kineske teoreme o ostacima) • Napad trećeg korena se može izbeći dopunjavanjem poruka slučajnim bitima • Primedba: e = 216 + 1se takodje koristi

  14. Diffie-Hellman

  15. Diffie-Hellman • Predložen od Williamson-a (Government Communications Headquarters - GCHQ) i, nezavisno od Diffie i Hellmana (Stanford) • Predstavlja algoritam “razmene ključeva” • Koristi se za uspostavljanje zajedničkog simetričnog ključa • Nije predvidjen za šifrovanje ili digitalno potpisivanje • Sigurnost se zasniva na težini problema diskretnog logaritma:za zadate g, p, i gk mod p naći k

  16. Diffie-Hellman • Neka je p prost broj, i neka je g generator • Za svako x  {1,2,…,p-1} postoji n takvo da je x = gn mod p • Alisa bira tajnu vrednost a • Bob selektuje tajnu vrednost b • Alisa šalje ga mod p Bobu • Bob šalje gb mod p Alisi • Oboje računaju zajedničku tajnu vrednost gab mod p • Ta zajednička tajna vrednost se može koristiti kao simetričan ključ

  17. Diffie-Hellman • Pretpostavimo da Bob i Alisakoriste gab mod p kao simetričan ključ • Trudi može da vidi ga mod p i gb mod p • Primetimo da je ga gb mod p = ga+b mod p  gab mod p • Ako bi Trudi mogla naći a ili b, sistem je razbijen • Ako bi Trudi mogla da reši problemdiskretnog logaritma, tada bi mogla da nadje a ili b

  18. Diffie-Hellman • Javno: g i p • Tajno: Alisin eksponent a i Bobov eksponent b ga mod p gb mod p Alisa, a Bob, b • Alisa računa (gb)a = gba = gab mod p • Bob računa (ga)b = gab mod p • Mogao bi se K = gab mod p koristiti kao simetričan ključ

  19. Diffie-Hellman • Podložan je man-in-the-middle (MiM) napadu ga mod p gt mod p gt mod p gb mod p Trudi, t Bob, b Alisa, a • Trudi deli tajnu gat mod p sa Alisom • Trudi deli tajnu gbt mod p sa Bobom • Alisa i Bob ne mogu znati da Trudi postoji!

  20. Diffie-Hellman • Kako osujetiti MiM napad? • Šifrovati DH razmenu sa simetričnim ključem • Šifrovati DH razmenu sa javnim ključem • Digitalno potpisati DH vrednosti sa privatnim ključem • Ostale mogućnosti? • Moramo biti svesni realnosti MiM napada na Diffie-Hellman proceduru

  21. Kriptografija zasnovana na eliptičkim krivama

  22. Kriptografija zasnovana naeliptičkim krivama(Elliptic Curve Crypto - ECC) • “Eliptičke krive” nisukriptosistem • Eliptičke krive su samo različiti način obavljanja matematičkih operacija u kriptosistemima sa javnim ključem • Stoga imamo verzije DH, RSA, i td. • Eliptičke krive mogu biti znatno efikasnije • Potreban je manji broj bita za isti nivo tajnosti • Ali, cena za ovo su znatno kompleksnije računske operacije

  23. Šta su eliptičke krive? • Eliptička kriva E je grafik jednačine oblika y2 = x3 + ax + b • Uključuje “tačku u beskonačnosti” • Kako izgledaju eliptičke krive? • Videti naredni slajd!

  24. Slika eliptičkih krivih • Razmotrimo eliptičku krivu E: y2 = x3 - x + 1 • Ako su P1i P2na E, definišimo veličinu P3 = P1 + P2 kao na slici • Sve što nam je potrebno je samo operacija sabiranja y P2 P1 x P3

  25. Tačke na eliptičkoj krivoj • Razmotrimo y2 = x3 + 2x + 3 (mod 5) x = 0  y2 = 3  nema rešenja (mod 5) x = 1  y2 = 6 = 1  y = 1,4 (mod 5) x = 2  y2 = 15 = 0  y = 0 (mod 5) x = 3  y2 = 36 = 1  y = 1,4 (mod 5) x = 4  y2 = 75 = 0  y = 0 (mod 5) • Stoga su tačke na eliptičkoj krivoj (1,1) (1,4) (2,0) (3,1) (3,4) (4,0) i tačka u beskonačnosti: 

  26. Matematika eliptičkih krivih • Sabiranje na: y2 = x3 + ax + b (mod p) P1=(x1,y1), P2=(x2,y2) P1 + P2 = P3 = (x3,y3) gde je x3 = m2 - x1 - x2 (mod p) y3 = m(x1 - x3) - y1 (mod p) i m = (y2-y1)(x2-x1)-1 mod p, if P1P2 m = (3x12+a)(2y1)-1 mod p, if P1 = P2 Posebni slučajevi: Ako je m beskonačno, P3 = , i  + P = P za svako P

  27. Sabiranje na eliptičkim krivama • Razmotrimo y2 = x3 + 2x + 3 (mod 5). Tačke na krivoj su(1,1) (1,4) (2,0) (3,1) (3,4) (4,0) i  • Šta je(1,4) + (3,1) = P3 = (x3,y3)? m = (1-4)(3-1)-1 = -32-1 = 2(3) = 6 = 1 (mod 5) x3 = 1 - 1 - 3 = 2 (mod 5) y3 = 1(1-2) - 4 = 0 (mod 5) • Na ovoj krivoj je(1,4) + (3,1) = (2,0)

  28. ECC Diffie-Hellman • Javni: Eliptička kriva i tačka (x,y) na krivoj • Tajni: Alisin A i Bobov B A(x,y) B(x,y) Alisa, A Bob, B • Alisa računa A(B(x,y)) • Bob računa B(A(x,y)) • Ovi su jednaki, budući da je AB = BA

  29. ECC Diffie-Hellman • Javni:Krivay2 = x3 + 7x + b (mod 37) i tačka (2,5)  b = 3 • Alisina tajna: A = 4 • Bobova tajna: B = 7 • Alisa šalje Bobu: 4(2,5) = (7,32) • Bob šalje Alisi: 7(2,5) = (18,35) • Alisa izračunava: 4(18,35) = (22,1) • Bob izračunava: 7(7,32) = (22,1)

More Related