Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost...

28
Napadi na RSA kriptosustav Andrej Dujella PMF - Matematiˇ cki odjel Sveuˇ ciliˇ ste u Zagrebu, Hrvatska e-mail: [email protected] URL: http://web.math.hr/~duje/

Transcript of Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost...

Page 1: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Napadi na RSA kriptosustav

Andrej Dujella

PMF - Matematicki odjelSveuciliste u Zagrebu, Hrvatska

e-mail: [email protected]: http://web.math.hr/~duje/

Page 2: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Kako uspostaviti sigurnu komunikaciju preko

nesigurnog komunikacijskog kanala?

Metode za rjesavanje ovog problema proucava

znanstvena disciplina koja se zove kriptografija.

Osnovni zadatak kriptografije je omogucavanje

komunikacije dvaju osoba (zovemo ih posiljalac

i primalac - u kriptografskoj literaturi za njih su

rezervirana imena Alice i Bob) na takav nacin

da treca osoba (njihov protivnik - u literaturi se

najcesce zove Eva ili Oskar), koja moze nadzi-

rati komunikacijski kanal, ne moze razumjeti

njihove poruke.

1

Page 3: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Poruku koju posiljalac zeli poslati primaocu zo-

vemo otvoreni tekst. Posiljalac transformira

otvoreni tekst koristeci unaprijed dogovoreni

kljuc K. Taj se postupak zove sifriranje, a

dobiveni rezultat sifrat. Nakon toga posiljalac

posalje sifrat preko nekog komunikacijskog ka-

nala. Protivnik prisluskujuci moze saznati sa-

drzaj sifrata, ali kako ne zna kljuc, ne moze

odrediti otvoreni tekst. Za razliku od njega,

primalac zna kljuc kojim je sifrirana poruka, pa

moze desifrirati sifrat i odrediti otvoreni tekst.

shema simetricne kriptografije

2

Page 4: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Definicija: Kriptosustav je uredena petorka(P, C,K, E,D), gdje je P konacan skup svih otvo-renih tekstova, C konacan skup svih sifrata, Kkonacan skup svih mogucih kljuceva, E skupsvih funkcija sifriranja i D skup svih funkcijadesifriranja. Za svaki K ∈ K postoji ek ∈ Ei odgovarajuci dK ∈ D. Pritom su eK : P →C i dK : C → P funkcije sa svojstvom da jedK(eK(x)) = x za svaki x ∈ P.

Shema koju smo u uvodu opisali predstavljatzv. simetricni kriptosustav. Funkcije koje sekoriste za sifriranje eK i desifriranje dK ovise okljucu K kojeg Alice i Bob moraju tajno razm-jeniti prije same komunikacije. Kako njima nijedostupan siguran komunikacijski kanal, ovo mo-ze biti veliki problem.

Diffie i Hellman (1976): protokol za razmjenukljuceva, zasnovan na cinjenici da je u nekimgrupama potenciranje puno jednostavnije odlogaritmiranja (problem diskretnog logaritma).

3

Page 5: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Diffie i Hellman se smatraju zacetnicima krip-tografije javnog kljuca. Ideja javnog kljuca sesastoji u tome da se konstruiraju kriptosustavikod kojih bi iz poznavanja funkcije sifriranjaeK bilo prakticki nemoguce (u nekom razum-nom vremenu) izracunati funkciju desifriranjadK. Tada bi funkcija eK mogla biti javna.

Dakle, u kriptosustavu s javnim kljucem svakikorisnik K ima dva kljuca: javni eK i tajnidK. Ako Alice zelji poslati Bobu poruku x,onda je ona sifrira pomocu Bobovog javnogkljuca eB, tj. posalje Bobu sifrat y = eB(x).Bob desifrira sifrat koristeci svoj tajni kljuc dB,dB(y) = dB(eB(x)) = x.

Uocimo da Bob mora posjedovati neku do-datnu informaciju (tzv. trapdoor - skriveniulaz) o funkciji eB, da bi samo on mogao izra-cunati njezin inverz dB, dok je svima drugima(a posebno Evi) to nemoguce. Takve funkcijeciji je inverz tesko izracunati bez poznavanjanekog dodatnog podatka zovu se osobne jed-nosmjerne funkcije.

4

Page 6: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Najpoznatiji kriptosustav s javnim kljucem je

RSA kriptosustav iz 1977. godine, nazvan po

svojim tvorcima Ronaldu Rivestu, Adi Shamiru

i Leonardu Adlemanu.

Njegova sigurnost je zasnovana na prvenstveno

na teskoci faktorizacije velikih prirodnih bro-

jeva. Parametri RSA kriptosustava su modul

n koji je produkt dva velika prosta broja p i q,

te eksponenti e i d koji se koriste za sifriranje i

desifriranje.

Ronald Rivest Adi Shamir Leonard Adleman

5

Page 7: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

RSA kriptosustav:

Neka je n = pq, gdje su p i q prosti brojevi.Neka je P = C = Zn, te

K = {(n, p, q, d, e) : n = pq, de ≡ 1 (mod ϕ(n))}.Za K ∈ K definiramo

eK(x) = xe mod n, dK(y) = yd mod n.

Vrijednosti n i e su javne, a vrijednosti p, q id su tajne, tj. (n, e) je javni, a (p, q, d) je tajni(privatni) kljuc.

Ovdje je ϕ(n) = (p− 1)(q − 1) = n− p− q + 1Eulerova funkcija. Iz njezinog svojstva da jeaϕ(n) ≡ 1 (mod n) za nzd(a, n) = 1, slijedi dasu funkcije eK i dK jedna drugoj inverzne.

Standardna verzija RSA:

- p i q imaju priblizno jednaki broj bitova,

- e < n.

6

Page 8: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Sigurnost RSA kriptosustava lezi u pretpostavci

da je funkcija

eK(x) = xe mod n

jednosmjerna. Dodatni podatak (“trapdoor”)

koji omogucava desifriranje je poznavanje fak-

torizacije n = pq.

Zaista, onaj tko zna faktorizaciju broja n, taj

moze izracunati ϕ(n) = (p−1)(q−1), te potom

dobiti eksponent d rjesavajuci linearnu kongru-

enciju

de ≡ 1 (mod ϕ(n))

(pomocu prosirenog Euklidova algoritma).

No, otvoreno je pitanje je li razbijanje RSA

kriptosustava, tj. odredivanje x iz poznavanja

xe mod n, ekvivalentno faktorizaciji od n.

7

Page 9: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Izbor parametara:

1. Tajno izaberemo dva velika prosta broja p i

q slicne velicine (recimo 512 bitova). Naj-

prije generiramo slucajan prirodan broj m

sa zeljenim brojem bitova, pa zatim pomocu

nekog testa prostosti (npr. Miller-Rabinovog)

trazimo prvi prost broj veci ili jednak m.

Treba paziti da n = pq bude otporan na

metode faktorizacije koje su vrlo efikasne

za brojeve specijalnog oblika. Tako bi bro-

jevi p±1 i q±1 trebali imati barem jedan ve-

liki prosti faktor, jer postoje efikasne metode

za faktorizaciju brojeva koji imaju prosti

faktor p takav da je jedan od brojeva p−1,

p + 1 “gladak”, tj. ima samo male proste

faktore. Takoder, p i q ne smiju biti jako

blizu jedan drugome, jer ih se onda moze

naci koristeci cinjenicu da su priblizno jed-

naki√

n.

2. Izracunamo n = pq i ϕ(n) = (p−1)(q−1) =

n− p− q + 1.8

Page 10: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

3. Izaberemo broj e takav da je nzd(e, ϕ(n)) =

1, te pomocu prosirenog Euklidova algo-

ritma izracunamo d takav da je de ≡ 1

(mod ϕ(n)). Obicno se uzima da je e <

ϕ(n). Broj e se moze izabrati slucajno, a

ima smisla izabrati ga i sto manjim, tako

da bi sifriranje xe mod n (tzv. modularno

potenciranje) bilo sto brze. Broj operacija

u sifriranju ovisi o velicini broja e, te o broju

jedinica u binarnom zapisu od e. Stoga je

dugo vremena e = 3 bio popularan izbor.

No, vidjet cemo da izbor vrlo malog ekspo-

nenta e predstavlja opasnost za sigurnost,

te se danas preporuca izbor e = 216 + 1 =

65537.

4. Stavimo kljuc za sifriranje (n, e) u javni di-

rektorij.

9

Page 11: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Ideja: izabrati parametre RSA kriptosustava

tako da jedan od eksponenata e ili d bude mali.

Buduci da je broj operacija za modularno po-

tenciranje linearan u broju bitova eksponen-

ta, to bi moglo smanjiti vrijeme potrebno za

sifriranje, odnosno desifriranje.

To bi posebno moglo biti od interesa u situaci-

jama kad postoji veliki nesrazmjer u snazi dvaju

uredaja koji sudjeluju u komunikaciji, kao sto je

npr. slucaj kad “pametna kartica” komunicira

s centralnim racunalom. U toj situaciji bilo bi

pozeljno da:

- kartica ima mali tajni eksponent d,

- racunalo ima mali javni eksponent e,

da bismo minimizirali onaj dio racunanja koje

treba provesti kartica.

10

Page 12: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Wiener (1990) -

napad na RSA s malim eksponentom d:

ed− kϕ(n) = 1

ϕ(n) ≈ n ⇒ kd ≈ e

n

Pretpostavimo da je p < q < 2p. Ako je d <13n0.25, tada je

∣∣∣∣k

d− e

n

∣∣∣∣ <1

2d2.

Po klasicnom Legendreovom teoremu iz dio-

fantskih aproksimacija, d mora biti nazivnik neke

konvergente pm/qm u razvoju u verizni razlo-

mak broja e/n, pa se stoga d moze efikasno

izracunati iz javnog kljuca (n, e).

Ukupan broj konvergenti je reda O(logn), a

svaka konvergenta se moze testirati u poli-

nomijalnom vremenu.

11

Page 13: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Primjer: Pretpostavimo da su u RSA kripto-sustavu zadani modul

n = 7978886869909,

javni eksponent

e = 3594320245477,

te da je poznato da tajni eksponent d zadovol-java d < 1

3n0.25 < 561.

Da bismo primijenili Wienerov napad, racunamorazvoj broja e

n u verizni razlomak (pomocu Eu-klidovog algoritma). Dobivamo:

[0; 2,4,1,1,4,1,2,31, . . .] =1

2 + 14+

...

.

Potom racunamo pripadne konvergente:

0,1

2,4

9,

5

11,

9

20,41

91,

50

111,141

313,4421

9814, . . . .

Konacno, provjeravamo koji od nazivnika 2, 9,11, 20, 91, 111, 313 zadovoljava kongruen-ciju (xe)d ≡ x (mod n) za npr. x = 2. Takodobivamo da je tajni eksponent d = 313.

12

Page 14: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Verheul - van Tilborg (1997): Prosirenje

Wienerovog napada koje je primjenjivo kada d

ima nekoliko bitova vise od n0.25. Za d > n0.25,

njihov napad koristi pretrazivanje “grubom silom”

za 2t + 8 bitova (uz izvjesne pretpostavke na

parcijalne kvocijente u veriznom razlomku), gdje

je t = log2(d/n0.25).

Boneh - Durfee (1999),

Blomer - May (2001):

Napadi nasnovani na Coppersmithovoj tehnici

koja koristi LLL-algoritam za nalazenje malih

korijena modularnih polinomijalnih jednadzbi.

Ovi napadi su “heuristicki”, te u praksi rade

zadovoljavajuce ako je d < n0.292.

Smatra se da bi trebalo koristi tajni ekspo-

nent d >√

n, jer je poznato da su svi ovi

gore spomenuti napadi sasvim neprimjenjivi u

toj situaciji.

13

Page 15: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

D. (2004): Mala modifikacija Verheul - van

Tilborgovog napada, zasnovana na Worleyevom

resultatu (1981) iz diofantskih aproksimacija,

koji povlaci da svi racionalni brojevi p/q koji

zadovoljavaju nejednakost∣∣∣∣∣α−

p

q

∣∣∣∣∣ <c

q2,

za neki pozitivan realan broj c, imaju oblik

p

q=

rpm+1 ± spm

rqm+1 ± sqm

za neki m ≥ −1 i nenegativne cijele brojeve r i

s takve da je rs < 2c.

D. - Ibrahimpasic (2008): Worleyev rezultat

je najbolji moguci, u smislu da se uvjet rs < 2c

ne moze zamijeniri sa rs < (2− ε)c za ε > 0.

14

Page 16: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

U oba spomenuta prosirenja Wienerovog na-pada, kandidati za tajni eksponent su oblikad = rqm+1 + sqm. Testiraju se sve mogucnostiza d, a broj svih mogucnosti je ugrubo (brojmogucnosti za r) × (broj mogucnosti za s),sto je O(D2), gdje je D = d/n0.25.

Preciznije, broj mogucih parova (r, s) u Verheul- van Tilborgovom napadu je O(D2A2), gdje jeA = max{ai : i = m+1, m+2, m+3}, dok jeu mojoj varijanti iz 2004. godine O(D2 logA)(ai su parcijalni kvocijenti u razvoju u veriznirazlomak).

Novu modifikaciju Verheul - van Tilborgovognapada su predlozili Sun, Wu i Chen (2007).Ona zahtijeva (heuristicki) pretrazivanje “grubomsilom” za 2t−10 bitova, pa je i njena slozenosttakoder O(D2). Drasticno poboljsanje se nemoze ocekivati, buduci da su Steinfeld, Con-tini, Wang i Pieprzyk (2005) pokazali da umedu algoritmima ovog tipa ne postoji algo-ritam sa subeksponencijalnom ovisnoscu o D.

15

Page 17: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Testiranje

Dvije su glavne metode za testiranje:

1) izracunamo p i q uz pretpostavku da je te-

stirana konvergenta jednaka d/k:

ϕ(n) = (de− 1)/k, p + q = n + 1− ϕ(n),

(q − p)2 = (p + q)2 − 4n,

p = ((p+q)−(q−p))/2, q = ((p+q)+(q−p))/2;

2) za testirani d, testiramo je li zadovoljena

kongruencija

(xe)d ≡ x (mod n),

recimo za x = 2.

16

Page 18: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Prikazat cemo novu ideju, a to je primjena

metode “susret u sredini” (meet-in-the-middle)

na ovaj drugi test.

Zelimo testirati je li

2e(rqm+1+sqm) ≡ 2 (mod n).

Primijetimo da je indeks m skoro fiksiran. Naime,

ako je m′ najveci neparan prirodan broj takav

da je

pm′qm′

>e

n+

2.122e

n√

n,

onda je m ∈ {m′, m′ + 1, m′ + 2}.

17

Page 19: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Uvedimo oznake:

2eqm+1 mod n = a, (2eqm)−1 mod n = b.

Tada zapravo mozemo testirati kongruenciju

ar ≡ 2bs (mod n).

To mozemo napraviti tako da izracunamo ar mod

n za sve r, sortiramo rezultate, a potom racuna-

mo 2bs mod n redom za svaki s i provjeravamo

pojavljuje li se rezultat u prethodno dobivenoj

sortiranoj listi. Na ovaj nacin broj koraka u te-

stiranju postaje ugrubo (broj mogucnosti za r)

+ (broj mogucnosti za s).

Preciznije, vremenska slozenost faze testiranja

smanjuje sa O(D2) na O(D logD) (uz pros-

tornu slozenost O(D)).

18

Page 20: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Gore opisani napad smo implementirali u pro-

gramskom paketu PARI i C++ (uz pomoc V.

Petricevica), te pokazali da napad radi efikasno

za vrijednosti od D do 230, tj. za d < 230n0.25.

Za vece vrijednosti od D zahtjevi na memoriju

(na standardnim racunalima) postaju preveliki.

log2 n log2(230n0.25) log2(n

0.292)

512 158 150768 222 224

1024 286 2992048 542 598

Moguce je smanjiti zahtjev na memoriju uz

povecanje vremena izvrsavanja (space-time trade-

off), koristeci asimetricne varijante Worleyevog

rezultata (s razlicitim ogradama za r i s).

19

Page 21: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

ograda za r ograda za s vjerojatnost uspjeha

4D 4D 98%2D 2D 89%D D 65%D 4D 86%4D D 74%D/2 2D 70%2D D/2 47%D/4 4D 54%4D D/4 28%

Daljnje mogucnosti za poboljsanja:

- koristenje jos boljih aproksimacija za kd nego

sto je en, npr. e

n+1−2√

n,

- koristenje hash funkcija umjesto sortiranja.

S tim poboljsanjima, za 1024-bitni RSA modul

n, raspon u kojem se ovaj novi napad moze

primijeniti je prakticki isti kao najbolji poznati

napadi zasnovani na LLL-algoritmu.

20

Page 22: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Neka je zadan polinom f(x) ∈ Z[x] stupnja δ

i neka je poznato da postoji “malo” rjesenjekongruencije f(x) ≡ 0 (mod N), tj. rjesenje x0za koje vrijedi |x0| < N1/δ. Pitanje je mozemoli efikasno naci x0. Coppersmith je pokazao daje odgovor na ovo pitanje potvrdan.

Ideja: konstruirati novi polinom h(x) = h0 +h1x+ · · ·+hnxn ∈ Z[x] za kojeg ce takoder vri-jediti h(x0) ≡ 0 (mod N), ali koji ce imati malekoeficijente, tj. za koga je “norma” ‖h(x)‖ :=(∑n

i=0 h2i

)1/2mala. Tada se moze iskoristiti

sljedeca jednostavna cinjenica: ako za priro-dan broj X vrijedi ‖h(xX)‖ < N√

ni |x0| < X

zadovoljava kongruenciju h(x0) ≡ 0 (mod N),onda je x0 nultocka polinoma h, tj. vrijedi nesamo kongruencija, vec i jednakost h(x0) = 0.

Polinom h(x) s trazenim svojstvom moze senaci pomocu LLL-algoritma, koji nalazi malevektore u resetki (A. K. Lenstra, H. W. Lenstra,L. Lovasz (1982)).

21

Page 23: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Boneh i Durfee su opisali jedan napad na RSAovakvog tipa koji je primjenjiv u slucaju da jed < n0.292. Slicno kao kod Weinerova napada,krece se od jednakosti ed− kϕ(n) = 1, koja semoze zapisati i kao

ed− k(n + 1− p− q) = 1.

Stavimo s = p+q, a = n+1. Sada je nalazenjemalog tajnog eksponenta d, recimo d < nδ, ek-vivalentno nalazenju malih rjesenja k i s kon-gruencije

f(k, s) = k(s− a) ≡ 1 (mod e).

Zaista, za s i k imamo sljedece ocjene:

|s| < 3√

n ≈ e0.5, |k| < de

ϕ(n)≈ eδ.

Dakle, situacija je slicna kao kod gore nave-denog Coppersmithova rezultata, samo sto seovdje radi o polinomu od dvije varijable, pa seCoppersmithov teorem ne moze direktno pri-mijeniti da bi se strogo dokazala korektnostovog napada. Ipak, pokazalo se da on u praksiradi sasvim zadovoljavajuce.

22

Page 24: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Napad za RSA s malim javnim eksponen-tom e:

Neka je e = 3.

Pretpostavimo da imamo tri korisnika s raz-licitim vrijednostima javnog modula n1, n2, n3,te pretpostavimo da svi oni koriste isti javnieksponent e = 3. Nadalje, pretpostavimo daim netko zeli poslati identicnu poruku m. Tadanjihov protivnik moze doznati sljedece sifrate:

c1 ≡ m3 (mod n1), c2 ≡ m3 (mod n2), c3 ≡ m3 (mod n3).

Nakon toga, on moze, koristeci Kineski teo-rem o ostatcima, naci rjesenje sustava linearnihkongruencija

x ≡ c1 (mod n1), x ≡ c2 (mod n2), x ≡ c3 (mod n3).

Na taj nacin, dobit ce broj x sa svojstvom x ≡m3 (mod n1n2n3). No, kako je m3 < n1n2n3,zapravo vrijedi jednakost x = m3, pa protivnikmoze izracunati originalnu poruku m tako nanade treci korijen iz x.

23

Page 25: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Upravo opisani napad moze se izbjeci tako da

se porukama prije sifriranja doda neki “slucajni

dodatak” (engl. random pad). Na taj nacin,

nikad necemo razlicitim primateljima slati pot-

puno identicne poruke. No, postoje napadi

(zasnovani na gore spomenutom Coppersmitho-

vom rezultatu i LLL-algoritmu) koji pokazuju

da ni u tom slucaju RSA kriptosustav s vrlo

malim eksponentom e nije siguran.

Preciznije, koristi se sljedeci Coppersmithov re-

zultat (1997):

Neka je f ∈ Z[x] normirani polinom s stupnja δ,

te n ∈ N. Ako postoji x0 takav da je f(x0) ≡ 0

(mod n) i |x0| ≤ X = n1/δ−ε, onda se x0 moze

naci u vremenu koje je polinomijalno u logn i

1/ε.

24

Page 26: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Hastadov napad (1985):

Pretpostavimo da je, prije sifriranja, na pocetkusvake poruke dodan neki podatak ovisan o ko-risniku. Npr.

ci = (i · 2h + m)e mod ni, i = 1, . . . , k.

Dakle, imamo k polinoma gi(x) = (i ·2h+x)e−ci, te trazimo m sa svojstvom da je

gi(m) ≡ 0 (mod ni).

Neka je n = n1n2 · · ·nk. Pomocu Kineskog teo-rema o ostacima mozemo naci ti tako da je

g(x) =k∑

i=1

tigi(x) i g(m) ≡ 0 (mod n)

(ti ≡ 1 (mod ni), ti ≡ 0 (mod nj) za j 6= i).Polinom g je normiran i stupnja e. Ako jek > e, tj. imamo vise korisnika (presretnu-tih sifrata) nego sto je javni eksponent, ondaje m < mini ni < n1/k < n1/e, pa se m mozeefikasno naci primjenom gore navedenog Cop-persmithovog rezultata.

25

Page 27: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Moze se preporuciti uporaba eksponenta

e = 65537,

koji je dovoljno velik da bi onemogucio sve

poznate napade na RSA s malim eksponen-

tom, a prednost mu je vrlo brzo sifriranje jer

ima malo jedinica u binarnom zapisu. Naime,

65537 = 216 + 1.

26

Page 28: Napadi na RSA kriptosustav - unizg.hrduje/pdf/varazdin09folije.pdf · 2009. 2. 19. · Sigurnost RSA kriptosustava le•zi u pretpostavci da je funkcija eK(x) = xe mod n jednosmjerna.

Mozemo zakljuciti da i nakon tri desetljeca in-

tenzivnog proucavanja, jos uvijek nije pronade-

na metoda koja bi razbila RSA kriptosustav.

Svi poznati napadi na RSA zapravo samo po-

kazuju na sto treba paziti i sto treba izbjegavati

kod izbora parametara i implementacije RSA.

Zasad se, uz korektnu implementaciju, RSA

moze smatrati sigurnim kriptosustavom.

27