8
1.1 RSA algoritam RSA je algoritam koji primenjuje metodu ˇ sifriranja javnim kljuˇ c-em, te podrˇ zava ˇ sifriranje poruka i identifikaciju korisnika potre-bnu za osigura- vanje autentiˇ cnosti. Dizajniran je 1977. godine, a autori su Ron Rivest, Adi Shamir i Leonard Adleman. Ovaj algoritam je svakako najpoznatiji i najviˇ se primenjivan algoritam javnog kljuˇ ca danaˇ snjice. U nastavku bi´ ce izloˇ zeni neophodni matematiˇ cki pojmovi, zatim opˇ sta ˇ sema naˇ cina RSA i zatim njegova analiza u pogledu vremenske sloˇ zenosti i bezbednosti. Pogledajmo prvo matematiˇ cke ˇ cinjenice. Teorema: Neka su p i q prosti brojevi, p = q , i neka je n = p · q i ϕ(n)=(p 1) · (q 1). Neka je d bilo koji broj, 1 <d<ϕ(n), takav da je d uzajamno prost sa ϕ(n). Tada postoji jedinstven broj ε (1 <ε<ϕ(n)) takav da je d · ε 1(mod ϕ(n)). Dalje, neka je M ma koji broj, 1 <M<n, i neka je C = M ε mod n, tako da je oˇ cigledno 1 <C<n. Tada vaˇ zi M = C d mod n. Znamo da d · ε 1(mod ϕ(n)) znaˇ ci da je, prilikom deljenja broja d · ε sa brojem ϕ(n), ostatak jednak 1. Znamo da M ε mod n jeste ostatak prilikom

1 Asimetriˇcni algoritmi - · PDF file1.1 RSA algoritam RSA je algoritam ... kako glasi njegovo rastavljanje u proizvod prostih brojeva. ... za razne duˇzine broja n tj. za razne

Embed Size (px)

Citation preview

Page 1: 1 Asimetriˇcni algoritmi - · PDF file1.1 RSA algoritam RSA je algoritam ... kako glasi njegovo rastavljanje u proizvod prostih brojeva. ... za razne duˇzine broja n tj. za razne

1 Asimetricni algoritmi

Pod pojomom algoritma podrazumevamo precizno opisan postupak zaresavanje nekog problema. Obicno je to spisak uputstava ili skup pravilakojima je, korak po korak, opisan postupak za resavanje zadatog problema.Svaki korak algoritma odnosno svako uputstvo iz spiska mora da bude defin-isana operacija. Algoritmi moraju da budu nedvosmisleni i da se zavrsavajuu konacnom broju koraka.

1.1 RSA algoritam

RSA je algoritam koji primenjuje metodu sifriranja javnim kljuc-em, tepodrzava sifriranje poruka i identifikaciju korisnika potre-bnu za osigura-vanje autenticnosti. Dizajniran je 1977. godine, a autori su Ron Rivest,Adi Shamir i Leonard Adleman. Ovaj algoritam je svakako najpoznatiji inajvise primenjivan algoritam javnog kljuca danasnjice.

U nastavku bice izlozeni neophodni matematicki pojmovi, zatim opstasema nacina RSA i zatim njegova analiza u pogledu vremenske slozenosti ibezbednosti.Pogledajmo prvo matematicke cinjenice.

Teorema: Neka su p i q prosti brojevi, p 6= q, i neka je n = p · q iϕ(n) = (p− 1) · (q− 1). Neka je d bilo koji broj, 1 < d < ϕ(n), takav da je duzajamno prost sa ϕ(n). Tada postoji jedinstven broj ε (1 < ε < ϕ(n)) takavda je d · ε ≡ 1(mod ϕ(n)). Dalje, neka je M ma koji broj, 1 < M < n, i nekaje C = M εmod n, tako da je ocigledno 1 < C < n. Tada vazi M = Cdmodn.

Znamo da d · ε ≡ 1(mod ϕ(n)) znaci da je, prilikom deljenja broja d · ε sabrojem ϕ(n), ostatak jednak 1. Znamo da M εmod n jeste ostatak prilikom

1

Page 2: 1 Asimetriˇcni algoritmi - · PDF file1.1 RSA algoritam RSA je algoritam ... kako glasi njegovo rastavljanje u proizvod prostih brojeva. ... za razne duˇzine broja n tj. za razne

deljenja broja M ε sa brojem n. Ovu teoremu navodimo bez dokaza.

Sada je na redu ukupna sema nacina RSA.Podimo od osobe B - Bob. On zeli da mu se salju poruke, od strane raznihlica. Bob izabere p i q i odmah izracuna n = p · q. On jos izabere broj dda ispunjava napred navedeni uslov. Na kraju, on izracuna broj ε, kako jenapred definisano. Bob na neki nacin objavi svakome n i ε koji predstavljajunjegov javni kljuc. Isto tako objavi da on koristi RSA algoritam za prenosenjeporuka tj. za kodiranje i dekodiranje. S druge strane, samo on zna vrednostd. To je njegova tajna. To je njegov tajni kljuc. Sada ce razna lica da saljupuno poruka Bobu, drzeci se predlozene seme.

Uzmimo da osoba A Ana zeli da posalje poruku M Bobu. Njena porukapredstavlja broj n napred naznacenim granicama za M . Svakako da onakroz racunarsku mrezu nece uputiti M , vec ce uputiti kodirani oblik poruke.Upravo, ona ce uputiti C = M εmod n.Prema tome, Bob ce dobiti C. On ce izracunati Cdmod n = M . Tako ce onmoci da procita sta mu ona kaze.

Brojeve p i q treba izabrati tako da imaju po 100 dekadnih cifara ili vise.Tako da broj n ima 200 dekadnih cifara ili vise. Veci broj dekadnih cifaraznaci vecu sigurnost.

U nastavku cemo videti da je citava sema izvodljiva. Isto tako, videcemoda je sema i bezbedna. Drugim recima, realno je pretpostaviti da nepozeljanucesnik u komunikaciji moze da sazna C (on jos naravno zna i Bobov javnikljuc). Ipak, on nece moci da otkrije M . Dakle, tajnost poruke je obezbedena.Takode, poruka u kodiranom obliku C tokom svog puta kroz racunarskumrezu ne moze da bude prepravljena, jer ona ima svoju nevidljivu unutrasnjustrukturu; u rezultatu dekodiranja prepravljenog oblika Bob ce dobiti nekitekst koji nema smisla. Medutim, treci ucesnik moze da posalje Bobu porukuu kojoj pise ”ovo ti salje Ana”. Sredstva kojima se ovaj problem prevazilazinazivaju se digitalni potpis, o kome je vec bilo reci ranije. Jos ostaje samojedan problem. Neka npr. Marko zeli da posaje poruku Bobu. Kako ceMarko biti siguran da je upravo (n,ε) Bobov javni kljuc? Ovo je tzv. pitanjeautenticnosti. I ovaj problem moze da bude prevaziden: neka Bob objavi svojjavni kljuc u malim oglasima u novinama, ili pomocu nekog ko vec ima sistem.

2

jelena
Text Box
jelena
Text Box
jelena
Text Box
jelena
Text Box
Page 3: 1 Asimetriˇcni algoritmi - · PDF file1.1 RSA algoritam RSA je algoritam ... kako glasi njegovo rastavljanje u proizvod prostih brojeva. ... za razne duˇzine broja n tj. za razne

Dalje, izvrsicemo rekapitulaciju svih racunskih radnji koje treba da buduizvrsene, koje se pojavljuju.Naime, prilikom konstrukcije svog sistema, Bob treba da uradi tri radnje:

1. Da pronade dva velika prosta broja p i q.Videcemo u nastavku da racunska slozenost ovog posla nije uopste zazanemarivanje. A ipak posao moze da bude uraden. Zadatak ”prim”glasi: dat je prirodan broj, odgovoriti sa ”da” ili ”ne” na sledece pitanje:da li je taj broj prost. Samo se napominje da za prvo pitanje postojiniz prihvatljivih resenja.

2. Zatim treba da pronade jedan broj d koji je uzajamno prost sa ϕ(n) =(p − 1) · (q − 1).Postoje jednostavna resenja za ovo pitanje. Znamo da se NZD dvabroja moze izracunati po Euklidovom algoritmu. Npr. kao resenje dmoze da posluzi bilo koji prost broj koji je veci od max(p, q). Savetujese da d bude veliki broj.

3. Jos treba da resi po nepoznatoj ε jednacinu d · ε ≡ 1(mod ϕ(n)).Za ovo postoji efikasan algoritam. Mozemo primeniti uops-teni Eukli-dov algoritam: ∃k, d · ε + k · ϕ(n) = 1.

Prilikom slanja poruke, Ana treba da izracuna M εmod n. Za ovo postojiefikasan algoritam. Opisimo ga u glavnim crtama: Izracunati M2, M4, M8,M16,. . . i onda pomoziti neke od izracunatih brojeva da izade M ε. Ustvari:izracunati M2mod n, M4mod n, M8mod n, M16mod n,. . . i onda pomnozitimod n neke od izracunatih brojeva da izade M εmod n.

Za dekodiranje, Bob treba da izracuna Cdmod n. Vidimo da je rec oistom zadatku koji treba da izvrsi Ana.

Neko ko zeli da probije sifru treba da rastavi na proste cinioce broj n.Bolje receno, ako on rastavi n onda je on probio sifru. Broj n je svimapoznat. Videcemo da dosad nije pronaden algoritam koji bi bio makar iblizu efikasan za resavanje sledeceg zadatka ”faktor”: dat je prirodan broj,kako glasi njegovo rastavljanje u proizvod prostih brojeva. A moguce je daefikasan algoritam postoji (i da ce biti efektivno konstruisan). Ipak, zasadtakav algoritam nije pronaden. Dakle, sigurnost celog algoritma bazira se natoma sto zasad nema upotrebljivog algoritma za zadatak ”faktor”. Jedino

3

jelena
Text Box
jelena
Text Box
jelena
Text Box
jelena
Highlight
jelena
Text Box
jelena
Highlight
jelena
Text Box
jelena
Text Box
Page 4: 1 Asimetriˇcni algoritmi - · PDF file1.1 RSA algoritam RSA je algoritam ... kako glasi njegovo rastavljanje u proizvod prostih brojeva. ... za razne duˇzine broja n tj. za razne

na tome sa bazira!

Zaista, pretpostavimo da je Marija uspela da rastavi broj n na prostecinioce odnosno da ona raspolaze sa p i q. Njoj tada ostaje jos samo da resipo nepoznatoj d jednacinu d · ε ≡ 1(mod ϕ(n)).

Navedimo primer. Kroz primer se ilustruje kako se poruci pridruzuje brojM i kako se dugacka poruka rastavlja na blokove, pa se onda blok po blokkodira.

Razmotrimo slucaj p = 47, q= 59, n = p · q = 47 · 59 = 2773, ϕ(n) =(p − 1) · (q − 1) = 46 · 58 = 2668 i d = 157. Izracuna se da je tada ε = 17.

Svakom slovu pridruzuje se dvocifren broj: blanko = 00, A = 01, B = 02,. . . Z = 26, a jedan blok neka obuhvata dva slova; imamo u vidu da je kodnas n = 2773.

Neka poruka glasi ITS ALL GREEK TO ME. Znaci da se poruka prikazujekao 0920 1900 0112 1200 0718 0505 1100 2015 0013 0500. Prvi blok M = 920

kodira se kao C = Mεmod n = 92017mod 2773 = 948. Drugi blok M = 1900kodira se kao C = M εmod n = 190017mod 2773 = 2342, itd. Citava porukakodira se sa 0948 2342 1084 1444 2663 2390 0788 0774 0219 1655 (ovo sesalje preko racunarske mreze). lako se mozemo uveriti da dekodiranje radi:

948157mod 2773 = 920, itd.

Koliko vremena treba da se resi zadatak ”faktor”?Najbrzi algoritam koji danas postoji za rastavljanje broja n na proste cinioce

potrosi T (n) = exp√

ln n · ln ln n = (ln n)√

ln n/ ln ln n koraka. U narednojtabeli je dat broj koraka (operacija) potrebnih da se broj n rastavi po tomalgoritmu, kao i vreme koje se trazi ako jedna operacija trosi jednu mikro-sekundu, za razne duzine broja n tj. za razne slucajeve broja dekadnih cifarabroja n.

4

jelena
Text Box
jelena
Text Box
jelena
Highlight
jelena
Text Box
jelena
Text Box
Page 5: 1 Asimetriˇcni algoritmi - · PDF file1.1 RSA algoritam RSA je algoritam ... kako glasi njegovo rastavljanje u proizvod prostih brojeva. ... za razne duˇzine broja n tj. za razne

cifara broj operacija vreme50 1.4 ·1010 3.9 casova75 9.0 ·1012 104 dana100 2.3 ·1015 74 godine200 1.2 ·1023 3.8 ·109 godina300 1.5 ·1029 4.9 ·1015 godina500 1.3 ·1039 4.2 ·1025 godina

Koliko vremena treba da se resi zdatak ”prim”?Poznat je algoritam (da se ispita da li je dati broj prost) cija je vremenskaslozenost T (n) = (ln n)c ln ln ln n, za neko c > 0. Postoji algoritam koji potrosiT (n) = (ln n)1+ln ln ln n koraka, gde postoje neka ogranicenja, na kojima seovde necemo zadrzavati.

cifara broj operacija vreme50 1.9 ·105 0.2 sekunde75 8.0 ·105 0.8 sekundi100 2.3 ·106 2 sekunde200 3.1 ·107 30 sekundi300 1.5 ·108 2 minuta500 1.1 ·109 18 minuta

Nedavno je pronaden algoritam cija je slozenost reda (lnn)12 (2002. go-dine).

Laicki posmatrano, rekli bismo da je zadatak ”prim” nesto laksi od za-datka ”faktor”, kada uporedimo vremensku slozenost algoritma za jedan idrugi zadatak. Slozenost APR algoritma (algoritam za zadatak ”prim” -Adleman, Pomerance i Rumely 1980. godine) manja je od slozenosti Pollar-dovog algoritma (algoritam za zadatak ”faktor”). Formulom iskazano, vazi

relacija (ln n)c ln ln ln n ≪ (ln n)√

ln n/ ln ln n kad n → ∞.

Sledece, u kriptoanalizi se ispituje da li predlozeni sistem za sifrovanjeima slabih tacaka ili je pak (suprotno) neprobojan za napade. Pronadeni suuslovi koje treba postovati da bi RSA sistem bio neprobojan: p i q treba dase razlikuju po duzini za nekoliko cifara; p − 1 i q − 1 treba da imaju velikeproste cinioce; NZD(p − 1, q − 1) treba da bude mali.

5

jelena
Text Box
jelena
Text Box
jelena
Text Box
jelena
Highlight
Page 6: 1 Asimetriˇcni algoritmi - · PDF file1.1 RSA algoritam RSA je algoritam ... kako glasi njegovo rastavljanje u proizvod prostih brojeva. ... za razne duˇzine broja n tj. za razne

1.1.1 Primena digitalnog potpisa

Ovaj naslov predstavlja nastavak prethodnog, tako da se oznake i ostaloprenose. Ipak cemo ponoviti ukratko, vrseci pritom malu dogradnju oznaka.

Bob je izabrao proste brojeve p i q, p6 = q, kao i broj d takav da jeNZD(d, ϕ(n)) = 1, gde je n = p · q i ϕ(n) = (p − 1) · (q − 1), d < ϕ(n).On je jos nasao broj ε < ϕ(n) takav da ϕ(n)|d · ε − 1. Vrednost ε je jedin-stvena. Time je Bob definisao svoj sistem za kriptografiju. Naravno da seprimenjuje nacin RSA. Njegov javni kljuc je (n, ε), a njegov tajni kljuc jebroj d. Znamo da n i ε sluze kada se vrsi enkripcija, kada se originalnaporuka M prevodi u kodirani oblik C koji ce biti poslat kroz komunikacionuliniju. Znamo da d zajedno sa n sluzi za obrnuti proces, sluzi kada se vrsidekripcija: na osnovu C se izracuna M . Tako da Ana koja salje porukuzna, pored n i ε, svoju poruku u nekodiranom obliku M i u kodiranom ob-liku C, a nepozeljni ucesnik u komunikaciji zna samo n i ε i jos eventualnomoze da sazna C, sto mu je sve skupa nedovoljno, dok Bob ocigledno znasve podatke. Uvedimo oznake: n = nB, ε = εB, d = dB. Razmotrimo skupS = SB = {1, 2, . . . , n − 1}. Uocili smo da poruci odgovaraju dva algoritma:algoritam za enkripciju (primenjuje ga Ana) i zatim algoritam za dekripciju(primenjuje ga Bob). Uocili smo da su dva algoritma jedan drugom inverzni.Umesto o dva algoritma mozemo govoriti o dve funkcije f i f−1. Dakle, nekabude f(M) = M ε mod n za svaki broj M takav da je 1 ≤ M ≤ n − 1 tj.za svaki broj M ∈ S = SB. Pisacemo svejedno f ili fB ili EB. Funkcija f jeobostrano jednoznacna, (1-1) i ”na”. Njen domen (njena oblast definisanosti)je skup S = {1, 2, . . . n− 1}, kao sto je vec receno. Kao sto je u prethodnomnaslovu konstatovano, za inverznu funkciju f−1 vazi formula f−1(C) = Cd

mod n, za svaki broj C ∈ S. Funkcija f−1 je takode 1-1 i ”na”; f−1 : S → S.Pisacemo svejedno f−1 ili f−1

B ili E−1

B ili DB. Ponovimo: EB je uobicajenaradnja koju vrsi onaj koji salje poruku Bobu, enkripcija po Bobovom sis-temu ili kljucu; DB je uobicajena radnja koju vrsi Bob kada dobije poruku(kada od nekog primi kodirani oblik poruke), dekripcija po Bobovom sistemu.Na osnovu izlozenog znamo da je DB ◦ EB = I (kompozicija preslikavanja),kao uostalom i EB ◦ DB = I, gde je I identicko preslikavanje na skupu S.Drugacije zapisano, DB(EB(k)) = k kao i EB(DB(k)) = k za svako k ∈ S

6

jelena
Highlight
jelena
Highlight
jelena
Highlight
jelena
Text Box
jelena
Text Box
Page 7: 1 Asimetriˇcni algoritmi - · PDF file1.1 RSA algoritam RSA je algoritam ... kako glasi njegovo rastavljanje u proizvod prostih brojeva. ... za razne duˇzine broja n tj. za razne

(za svako 1 ≤ k ≤ n − 1).

Neka i Ana ima svoj kljuc: javni deo nA i εA i tajni deo dA, a definise senaravno kao u opstem slucaju (slicno kao za Boba). Slicno se definisu i dveodgovarajuce funkcije: njena funkcija enkripcije EA i njena funkcija dekrip-cije DA. I jedna i druga funkcija definisane su na skupu SA = {k|1 ≤ k ≤nA−1}. Te funkcije ocito imaju slicna svojstva kao dve funkcije ciji je indeksB. Posebno, vazi jednakost D−1

A = EA kao uostalom i jednakost E−1

A = DA.

Pogledajmo sada kako se vrsi digitalni potpis. Najkrace kaza-no, vazijednakost

EA(DB(EB(DA(M)))) = M.

Sematski prikazano:Ana M−DA → S−EB → C, Bob C−DB → S−EA → M .Uvedena je oznaka S za potpisanu poruku (signed message).

Objasnimo korake kao i njihov redosled recima. Razlikujemo sledeca cetirikoraka: S = DA(M), C = EB(S), S = DB(C), M = EA(S).

• Na svoju poruku M Ana prvo primeni svoju funkciju za dekripciju DA,cime ona dobija S, potpisani oblik poruke. Dakle, izvrsila je radnjukoju uobicajeno uradi kada ona od nekoga dobije poruku u kodiranomobliku (misli se: u slucaju RSA bez potpisa).

• Zatim ona kodira S saglasno Bobovom kljucu. Tako ona dobija C, kojipotom salje preko mreze.

• Kada C pristigne kod Boba, onda on prvo izvrsi dekripciju saglasnosvom kljucu. Tako je on odredio S.

• Najzad, Bob na S primeni enkripciju na Anin nacin. Drugim recima,izvrsi radnju koja je uobicajena prilikom slanja poruke Ani (misli se:u slucaju sistema RSA bez digitalnog potpisa). Sada Bob ima M i sveje zavrseno - moze da procita sta mu ona porucuje.

Ispravnost predlozenog postupka proizilazi iz ranije navedenih cinjenica.Izvrsicemo kracu analizu kako bi se uverili da su ranije na pocetku postavl-

jeni zahtevi ispunjeni.

7

jelena
Highlight
Page 8: 1 Asimetriˇcni algoritmi - · PDF file1.1 RSA algoritam RSA je algoritam ... kako glasi njegovo rastavljanje u proizvod prostih brojeva. ... za razne duˇzine broja n tj. za razne

U okviru analize, Ana nije u mogucnosti da otkrije DB, kao sto ni Bobnije stekao podatke po kojima bi mogao da otkrije njen tajni kljuc dA. Timeje izlozena ukupna sema digitalnog potpisa prilikom kriptografije u slucajuRSA.

Do kraja nam jos ostaju dve dopune.Izvrsimo malu dogradnju izlozene seme. Dakle, uocimo jednu malu sla-

bost izlozene seme i zatim cemo da otklonimo taj mali problem. Kako Bobzna ko mu je poslao poruku? Vidimo da on u cetvrtom koraku upotrebljavafunkciju EA. Dobro bi bilo da on preko mreze zajedno sa S dobije i nekitekst ”ovu poruku salje Ana”. Resenje je da ulogu S preuzme tekst + S, saociglednim izmenama u celom algoritmu. Upravo, u drugom koraku Ana vrsienkripciju od tekst + S. Na kraju treceg koraka Bob ce raspolagati sa ”ovuporuku salje Ana” + S. Sada on zna da u poslednjem (cetvrtom) korakutreba da primeni upravo funkciju EA na S.

Kako je nA 6= nB u opstem slucaju, pretpostavimo odredenosti radi daje nA > nB. Primetimo da dve funkcije imaju kao domen skup SA a dvefunkcije imaju kao domen manji skup SB. Time se stvara jedan manji prob-lem. Upravo, moguce je da se desi da bude DA ≥ nB odnosno da izrazEB(DA(M)) = EB(S) nema smisla, nije definisan. Resenje je da tada trebada se S podeli na dva bloka, na blokove cija je velicina dozvoljena, cija jevelicina < nB. Tek nakon toga treba izvrsiti enkripciju, naravno blok poblok. Drugim recima, tek nakon toga treba primeniti EB na pojedinacneblokove, a zatim poruku poslati.(Ili Ana salje M i S = DA(M), a onda Bob racuna EA(S) i dobija M . Kazese da je Ana potpisala poruku M , a da Bob ili neko drugi vrsi proveru, mozeda izvrsi proveru.)

1.2 Neki drugi asimetricni algoritmi

Rabinova kriptografija (Michael Rabin, 1979.) zasnovana je na teskocinalazenja kvadratnog korena po modulu fiksnog slozenog broja. Pokazuje seda je ovaj problem ekvivalentan problemu faktorizacije.

Definicija Rabinove kriptografije: Neka je n = p · q, gde su p i q prosti

8