Title: Kriptografija sa javnim kljucevima
1Kriptografija sa javnim kljucevima
2Kriptografija sa javnim kljucevima
Whitfield Diffie i Martin Hellman, autori prvog
rada o kriptografiji sa javnim kljucevima
3Kriptografija sa javnim kljucevima
- Dva kljuca
- Pošiljalac koristi javni kljuc primaoca za
šifrovanje - Primaoc koristi svoj privatni (tajni) kljuc za
dešifrovanje - Zasniva se na trap door, ili jednosmernim (one
way) funkcijama - Lako se izracunavaju u jednom smeru
- Teško se izracunavaju u drugom smeru
- Trap door se koristi za generisanje tajnog
kljuca - Primer Za zadate p i q, proizvod Npq se lako
racuna, ali za dato N, teško je naci p i q
4Kriptografija sa javnim kljucevima
- Šifrovanje
- Pretpostavimo da se M šifruje Bobovim javnim
kljucem - Samo Bobov privatni kljuc može da dešifruje
poruku M - Digitalni potpis
- Potpisati šifrovanjem sa privatnim kljucem
- Svako može da verifikuje potpis dešifrovanjem
sa javnim kljucem - Samo je vlasnik privatnog kljucaje mogao da
potpiše - Slican je klasicnom potpisivanju
5RSA
6 Len Adleman
Adi Shamir
Ronald Rivest
7RSA
- Izumljen od strane Cocks-a (GCHQ Government
Communications Headquarters ), i
nezavisno od Rivest-a, Shamir-a i 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) - Naci d takvo da je ed 1 mod (p?1)(q?1)
- Javni kljuc (N,e)
- Privatni kljuc d
8RSA
- Da bi se šifrovala poruka M racuna se
- C Me mod N
- Da bi se dešifrovalo C racuna se
- M Cd mod N
- Podsetimo se da su e i N javni
- Ukoliko bi napadac 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 nacin
za razbijanje RSA
9Dali RSA zaista radi?
- Za zadato C Me mod N moramo pokazati
- M Cd mod N Med mod N
- Iskoristicemo Ojlerovu teoremu
- Ako je x uzajamno prost u odnosu na n tada je
x?(n) 1 mod n - Cinjenice
- 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
10Jednostavan 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)
- Naci d takvo da je ed 1 mod 20, što daje d 7
- Javni kljuc (N, e) (33, 3)
- Privatni kljuc d 7
11Jednostavan RSA primer
- Javni kljuc (N, e) (33, 3)
- Privatni kljuc d 7
- Neka je poruka M 8
- Šifrat C se racuna na sledeci nacin
- C Me mod N 83 512 17 mod 33
- Dešifrovanje C u cilju dobijanja M se vrši na
sledeci nacin - M Cd mod N 177 410,338,673
12,434,505 ? 33 8 8 mod 33
12Efikasniji RSA
- Modularno stepenovanje - primer
- 520 95367431640625 25 mod 35
- Bolji nacin 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 nacin se ne susrecemo sa velikim
brojevima!
13Efikasniji RSA
- Neka je e 3 za sve korisnike (ali ne i isto N
ili d) - Operacije vezane za javni kljuc zahtevaju samo
dva množenja - Operacije vezane za privatni kljuc osatju
ekstenzivne - Ako je M lt N1/3 tada je C Me M3 i tada se
može preduzeti napad treceg korena - Za svako M, ako je C1, C2, C3 poslato trima
korisnicima, realan je napad treceg korena (uz
upotrebu kineske teoreme o ostacima) - Napad treceg korena se može izbeci dopunjavanjem
poruka slucajnim bitima - Primedba e 216 1 se takodje koristi
14Diffie-Hellman
15Diffie-Hellman
- Predložen od Williamson-a (Government
Communications Headquarters - GCHQ) i, nezavisno
od Diffie i Hellmana (Stanford) - Predstavlja algoritam razmene kljuceva
- Koristi se za uspostavljanje zajednickog
simetricnog kljuca - Nije predvidjen za šifrovanje ili digitalno
potpisivanje - Sigurnost se zasniva na težini problema
diskretnog logaritma za zadate g, p, i gk mod p
naci k
16Diffie-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 racunaju zajednicku tajnu vrednost gab mod
p - Ta zajednicka tajna vrednost se može koristiti
kao simetrican kljuc
17Diffie-Hellman
- Pretpostavimo da Bob i Alisa koriste gab mod p
kao simetrican kljuc - Trudi može da vidi ga mod p i gb mod p
- Primetimo da je ga gb mod p gab mod p ? gab
mod p - Ako bi Trudi mogla naci a ili b, sistem je
razbijen - Ako bi Trudi mogla da reši problem diskretnog
logaritma, tada bi mogla da nadje a ili b
18Diffie-Hellman
- Javno g i p
- Tajno Alisin eksponent a i Bobov eksponent b
ga mod p
gb mod p
Alisa, a
Bob, b
- Alisa racuna (gb)a gba gab mod p
- Bob racuna (ga)b gab mod p
- Mogao bi se K gab mod p koristiti kao
simetrican kljuc
19Diffie-Hellman
- Podložan je man-in-the-middle (MiM) napadu
ga mod p
gt mod p
gb mod p
gt mod p
Bob, b
Trudi, t
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!
20Diffie-Hellman
- Kako osujetiti MiM napad?
- Šifrovati DH razmenu sa simetricnim kljucem
- Šifrovati DH razmenu sa javnim kljucem
- Digitalno potpisati DH vrednosti sa privatnim
kljucem - Ostale mogucnosti?
- Moramo biti svesni realnosti MiM napada na
Diffie-Hellman proceduru
21Kriptografija zasnovana na eliptickim krivama
22Kriptografija zasnovana naeliptickim krivama
(Elliptic Curve Crypto - ECC)
- Elipticke krive nisu kriptosistem
- Elipticke krive su samo razliciti nacin
obavljanja matematickih operacija u
kriptosistemima sa javnim kljucem - Stoga imamo verzije DH, RSA, i td.
- Elipticke krive mogu biti znatno efikasnije
- Potreban je manji broj bita za isti nivo tajnosti
- Ali, cena za ovo su znatno kompleksnije racunske
operacije
23Šta su elipticke krive?
- Elipticka kriva E je grafik jednacine oblika
- y2 x3 ax b
- Ukljucuje tacku u beskonacnosti
- Kako izgledaju elipticke krive?
- Videti naredni slajd!
24Slika eliptickih krivih
y
- Razmotrimo elipticku krivu
- E y2 x3 - x 1
- Ako su P1 i P2 na E, definišimo velicinu
- P3 P1 P2
- kao na slici
- Sve što nam je potrebno je samo operacija
sabiranja
P2
P1
x
P3
25Tacke na eliptickoj 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 tacke na eliptickoj krivoj
- (1,1) (1,4) (2,0) (3,1) (3,4) (4,0) i tacka u
beskonacnosti ?
26Matematika eliptickih 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 (3x12a)?(2y1)-1 mod p, if P1 P2
- Posebni slucajevi Ako je m beskonacno, P3 ?, i
- ? P P za svako P
27Sabiranje na eliptickim krivama
- Razmotrimo y2 x3 2x 3 (mod 5). Tacke 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)
28ECC Diffie-Hellman
- Javni Elipticka kriva i tacka (x,y) na krivoj
- Tajni Alisin A i Bobov B
A(x,y)
B(x,y)
Alisa, A
Bob, B
- Alisa racuna A(B(x,y))
- Bob racuna B(A(x,y))
- Ovi su jednaki, buduci da je AB BA
29ECC Diffie-Hellman
- Javni Kriva y2 x3 7x b (mod 37) i tacka
- (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 izracunava 4(18,35) (22,1)
- Bob izracunava 7(7,32) (22,1)