25
Sveuˇ ciliˇ ste J.J. Strossmayera u Osijeku Odjel za matematiku Sveuˇ ciliˇ sni preddiplomski studij matematike ˇ Zelimir Pilji´ c Kriptografija javnog kljuˇ ca Zavrˇ sni rad Osijek, 2015.

Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Sveuciliste J.J. Strossmayera u OsijekuOdjel za matematiku

Sveucilisni preddiplomski studijmatematike

Zelimir PiljicKriptografija javnog kljuca

Zavrsni rad

Osijek, 2015.

Page 2: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Sveuciliste J.J. Strossmayera u OsijekuOdjel za matematiku

Sveucilisni preddiplomski studijmatematike

Zelimir PiljicKriptografija javnog kljuca

Zavrsni rad

Mentor: doc.dr.sc. Ivan Matic

Osijek, 2015.

Page 3: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Sazetak U ovom radu proucavat cemo kriptosustave s javnim kljucem. Takvi kriptosustaviigraju veliku ulogu u svakodnevnom zivotu obzirom da se vecina transakcija odvija upravopod njihovom zastitom. Pokazat cemo na konkretnim sustavima te konkretnim primjerimakako oni funkcioniraju. Iako su danas najzastupljeniji kriptosustavi koji se temelje na teorijibrojeva dotaknut cemo se i u novije vrijeme sve cesce koristenih kriptosustava temeljenihna resetkama kao sto je to slucaj kod GGH kriptosustava. Njihova vaznost je u tome sto sepuno lakse analiziraju u odnosu na one temeljene na teoriji brojeva.

Kljucne rijeci kriptografija javnog kljuca, teorija brojeva, RSA kriptosustav, ElGamalovkriptosustav, Rabinov kriptosustav, resetke, GGH kriptosustav

Abstract This paper studies public key cryptosystems. That kind of cryptosystems playmajor role in everyday life since most of the transactions are done under their protection.We’re going to show on specific systems and examples how do they work. Altough, mostcommon cryptosystems are ones which are based on number theory, we’re going to explainmost often used lattice based cryptosystems like GGH cryptosystem. Their importance isin easier analysis which is not case in number theory based cryptosystems.

Keywords public-key cryptography, number theory, RSA cryptosystem, ElGamal cryp-tosystem, Rabin cryptosystem, lattices, GGH cryptosystem

Page 4: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Sadrzaj

1 Uvod 1

2 Osnovni pojmovi i rezultati teorije brojeva 2

3 Kriptosustav 53.1 Osnovni pojmovi i koncept . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2 Sifrat s pomakom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4 Kriptosustavi s javnim kljucem 8

5 Kriptosustavi temeljeni na teoriji brojeva 95.1 RSA kriptosustav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95.2 Rabinov kriptosustav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125.3 ElGamalov kriptosustav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 Definicija i svojstva resetki 16

7 Kriptosustavi bazirani na teskim problemima resetki 187.1 GGH kriptosustav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Page 5: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

1 Uvod

Oduvijek je medu ljudima postojala potreba da razmjene informacije medusobno tako daone ostanu tajne. Medutim, uvijek je postojao netko tko je tu informaciju zelio posjedovati.Tako se rodila kriptografija, znanost koja pokusava osigurati tajnost podataka. Poznat jepodatak da je Gaj Julije Cezar u prvom stoljecu prije nove ere koristio danas vrlo pozna-ti kriptosustav, koji nosi njegovo ime, kako bi naredbe vojskovodama ostale skrivene odneprijatelja. Sigurno je najpoznatija prica na ovu temu desifriranje ENIGME, naprave zasifriranje koju je koristila njemacka vojska tijekom Drugog svjetskog rata. Pouceni iskustvomda tajnost informacija moze igrati kljucnu ulogu u spasavanju zivota i imovine pa cak i naishod rata, napredak kriptografije bio je neizbjezan. U svakodnevnom zivotu pojedincakriptografija znaci sigurnost pri kupnji na Internetu, Internet bankarstvu to jest bilo kakvojnovcanoj transakciji koristeci prijenos podataka elektronickim putem.

1

Page 6: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

2 Osnovni pojmovi i rezultati teorije brojeva

Definicija 2.1. Neka su a i b cijeli brojevi, b 6= 0. Kazemo da b dijeli a ili da je a djeljiv s bako postoji cijeli broj c takav da je a = bc. Pisemo b | a. Ako b ne dijeli a onda pisemo b - a.Najveci zajednicki djelitelj brojeva a i b oznacavamo s (a, b).

Definicija 2.2. Neka su a i b cijeli brojevi i m prirodan broj. Tada pisemo a ≡ b (mod m)ako m dijeli b− a. Izraz a ≡ b (mod m) citamo

”a je kongruentno b modulo m”.

Pretpostavimo da dijelimo a i b sa m te dobivamo odgovarajuce kvocijente i ostatke,pri cemu su ostatci izmedu 0 i m − 1. Dakle, a = q1m + r1 i b = q2m + r2, pri cemu je0 ≤ r1 ≤ m − 1 i 0 ≤ r2 ≤ m − 1. Jasno se vidi da je a ≡ b (mod m) ako i samo ako jer1 = r2. Koristit cemo notaciju a mod m (bez zagrada) kao oznaku ostatka pri dijeljenju asa m. Dakle, a ≡ b (mod m) ako i samo ako je a mod m = b mod m. Ako zamjenimo a sa mod m, onda kazemo da je a reduciran modulo m.

Primjer 2.1. Kako bismo izracunali 101 mod 7, pisat cemo 101 = 7 · 14 + 3. Obzirom daje 0 ≤ 3 ≤ 6, slijedi da je 101 mod 7 = 3. Ako zelimo izracunati (−101) mod 7, pisat cemo−101 = 7 · (−15) + 4. Obzirom da je 0 ≤ 4 ≤ 6 slijedi da je (−101) mod 7 = 4.

Definicija 2.3. Zm je skup {0, . . . ,m− 1} na kojemu su definirane operacije zbrajanja + imnozenja ·. Zbrajanje i mnozenje u Zm je isto kao i u Z osim sto se rezultat reducira modulom.Svojstva navedenih operacija:

1. zatvorenost obzirom na zbrajanje: ∀a, b ∈ Zm, a+ b ∈ Zm

2. komutativnost obzirom na zbrajanje: ∀a, b ∈ Zm, a+ b = b+ a

3. asocijativnost obzirom na zbrajanje: ∀a, b, c ∈ Zm, (a+ b) + c = a+ (b+ c)

4. postojanje neutralnog elementa obzirom na zbrajanje: ∀a ∈ Zm, a+ 0 = 0 + a = a

5. postojanje suprotnog elementa obzirom na zbrajanje: ∀a ∈ Zm je m−a: a+(m−a) =(m− a) + a = 0 ∀a ∈ Zm

6. zatvorenost obzirom na mnozenje: ∀a, b ∈ Zm, ab ∈ Zm

7. komutativnost obzirom na mnozenje: ∀a, b ∈ Zm, ab = ba

8. asocijativnost obzirom na mnozenje: ∀a, b, c ∈ Zm, (ab)c = a(bc)

9. postojanje neutralnog elementa obzirom na mnozenje: ∀a ∈ Zm, a · 1 = 1 · a = a

10. distributivnost: ∀a, b, c ∈ Zm, (a+ b)c = (ac) + (bc) i a(b+ c) = (ab) + (ac).

Svojstva 1, 3 − 5 kazu da je Zm grupa obzirom na operaciju zbrajanja. Svojstvo 2 cinigrupu Abelovom.

Svojstva 1− 10 kazu da je Zm prsten. Primjeri prstena su cijeli brojevi Z, realni brojeviR i kompleksni brojevi C samo sto su oni za razliku od Zm beskonacni.

Neutralni element za zbrajanje postoji u Zm, a to znaci da mozemo oduzimati u Zm.Definiramo a − b u Zm tako da je (a − b) mod m. To jest, racunamo a − b i onda rezultatreduciramo modulo m.Skup ostataka modulo m koji su relativno prosti s m oznacavamo s Z∗m. Z∗m je Abelova grupaobzirom na mnozenje.

2

Page 7: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Primjer 2.2. Ako zelimo izracunati 11−18 u Z31, prvo oduzmeno 11 od 18 i dobivamo −7,a zatim (−7) mod 31 = 24.

Definicija 2.4. Neka su a ≥ 1 i m ≥ 2 prirodni brojevi. Ako je (a,m) = 1, onda kazemoda su a i m relativno prosti. Broj brojeva u Zm koji su relativno prosti s m oznacavamo sϕ(m) i nazivamo Eulerova funkcija.

Znamo da svaki b ∈ Z∗m ima multiplikativni inverz b−1. Algoritam koji racuna b−1 nazivase Prosireni Euklidov algoritam. Algoritam na ulazu uzima dva cijela broja a i b te racunabrojeve r, s i t takve da je r = (a, b) i sa+ tb = r. U ovoj inacici algoritma ne vodimo racunao svim qj, rj, sj i tj. Potrebna su nam samo dva posljednja stanja svake od varijabli u bilokojem trenutku izvrsenja algoritma.

Algoritam 1 Prosireni Euklidov algoritam

1: a0 ← a2: b0 ← b3: t0 ← 04: t← 15: s0 ← 16: s← 07: q ← a0

b08: r ← a0 − qb09: while r > 0 do

10: temp← t0 − qt11: t0 ← t12: t← temp13: temp← s0 − qs14: s0 ← s15: s← temp16: a0 ← b017: b0 ← r18: q ← ba0

b0c

19: r ← a0 − qb020: end while21: r ← b022: return (r, s, t) . r = (a, b) i sa+ tb = r

Teorem 2.1 (Kineski teorem o ostatcima). Neka su m1, . . . ,mr u parovima relativno prostiprirodni brojevi, te neka su a1, . . . , ar cijeli brojevi. Tada sustav r kongruencija x ≡ ai(mod mi) (1 ≤ i ≤ r) ima jedinstveno rjesenje modulo M = m1 · · ·mr koje je dano s

x =r∑i=1

aiMiyi mod M,

gdje su Mi = Mmi

i yi = M−1i mod mi, za 1 ≤ i ≤ r.

Definicija 2.5. Neka je p neparan prost broj. Za svaki cijeli broj a, definiramo Legendreov

3

Page 8: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

simbol(ap

)na slijedeci nacin:

(a

p

)=

0 ako je a ≡ 0 (mod p)1 ako je a kvadratni ostatak modulo p−1 ako je a kvadratni neostatak modulo p.

Teorem 2.2. Neka je n > 1 neparan prirodan broj cija je faktorizacija

n =l∏

i=1

peii ,

gdje su pi medusobno razliciti prosti brojevi i ei prirodni brojevi. Neka je nadalje (a, n) = 1.

Tada kongruencija y2 ≡ a (mod n) ima 2l rjesenja modulo n ako je(api

)= 1 za sve i ∈

{1, . . . , l}, a u suprotnom nema rjesenja.

Teorem 2.3 (Eulerov kriterij). Neka je p neparan prost broj. Tada je a kvadratni ostatak

modulo p ako i samo ako ap−12 ≡ 1 (mod p).

Definicija 2.6. Broj g ∈ {1, 2, . . . , p− 1} nazivamo primitivni korijen modulo p ako je gp−1

najmanja potencija broja g koja daje ostatak 1 pri dijeljenju s p.

4

Page 9: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

3 Kriptosustav

3.1 Osnovni pojmovi i koncept

Zamislimo situaciju u kojoj dvije osobe, posiljatelj i primatelj zele razmijeniti informacijupreko javnog kanala tako da njihov protivnik ne moze razumjeti poruku1. Javni kanal mozebiti telefonska linija ili racunalna mreza. Informacija koju posiljatelj zeli poslati primateljuzovemo otvoreni tekst (eng. plaintext) i moze biti tekst na hrvatskom jeziku, numerickipodatak ili nesto trece – sintakticki je irelevantno. Posiljatelj sifrira tekst koristeci prethodnoodabrani kljuc (eng. key) i salje dobiveni sifrat (eng. ciphertext) preko kanala. Protivnikprisluskujuci kanal vidi sifrat, ali ne moze odrediti otvoreni tekst. Primatelj, koji zna kljucmoze desifrirati sifrat i rekonstruirati otvoreni tekst.

Definicija 3.1. Kriptosustav je uredena petorka (P , C,K, E ,D) za koju vrijedi:

1. P je konacan skup svih mogucih osnovnih elemenata otvorenog teksta;

2. C je konacan skup svih mogucih osnovnih elemenata sifrata;

3. K je prostor kljuceva, tj. konacan skup svih mogucih kljuceva;

4. Za svaki K ∈ K postoji funkcija sifriranja eK ∈ E i odgovarajuca funkcija desifriranjadK ∈ D. Pritom su eK : P → C i dK : C → P funcije sa svojstvom da je dK(eK(x)) = x

za svaki otvoreni tekst x ∈ P .

Cetvrto i glavno svojstvo kaze da ako je otvoreni tekst sifriran koristeci eK i sifrat jepotom desifriran koristeci dK onda je rezultat x otvoreni tekst.

Posiljatelj i primatelj ce uraditi slijedeci niz koraka kako bi upotrijebili karakteristicankriptosustav. Prvo odabiru nasumicno kljuc K ∈ K. Oni ce to uciniti kada su na istommjestu tj. kada ih ne promatra protivnik ili kada imaju pristup sigurnom kanalu. U tomslucaju mogu biti na razlicitim mjestima. Kasnije, pretpostavimo da posiljatelj zeli poslatiporuku primatelju javnim kanalom te da je poruka niz znakova (eng. string)

x = x1x2 · · ·xn (3.1)

za neki prirodan broj n ≥ 1, gdje je svaki simbol otvorenog teksta xi ∈ P , 1 ≤ i ≤ n.Svaki xi se sifrira koristeci funkciju eK s prethodno odabranim kljucem K. Stoga, posiljateljracuna yi = eK(xi), 1 ≤ i ≤ n i salje sifrirani niz znakova

y = y1y2 · · · yn (3.2)

preko javnog kanala. Kada primatelj primi (3.2), on koristeci funkciju desifriranja dKdesifrira i kao rezultat dobije (3.1).

Funkcija sifriranja eK mora biti injekcija. U suprotnom bi desifriranje bilo dvosmisleno.

Primjer 3.1. Ako jey = eK(x1) = eK(x2)

pri cemu je x1 6= x2, tada primatelj ne zna treba li y desifrirati u x1 ili u x2.

1U vecini anglofonske literature imena Alice i Bob su rezervirana za posiljatelja i primatelja, te Eva iliOskar za protivnika.

5

Page 10: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Treba uociti da ako je P = C onda je svaka funkcija sifriranja permutacija. To znacida ako su skup otvorenog teksta i sifrata jednaki, onda funkcija sifriranja samo rearanzira(permutira) elemente skupa.

Primjer 3.2 (Shema sifriranja). Neka je P = {x1, x2, x3} i C = {y1, y2, y3}. Tocno je 3! = 6bijekcija sa P na C. Prostor kljuca K = {1, 2, 3, 4, 5, 6} ima sest elemenata, svaki za jednutransformaciju.

e1

x1

��

y1

x2

>>

y2

x3

>>

y3

e4

x1

��

y1

x2 // y2

x3

FF

y3

e2

x1 // y1

x2

y2

x3

>>

y3

e5

x1

y1

x2

>>

y2

x3 // y3

e3

x1 // y1

x2 // y2

x3 // y3

e6

x1

y1

x2

y2

x3

FF

y3

Slika 3.1: Shema jednostavnog sifriranja

Na Slici 3.1 ilustrirano je sest funkcija za sifriranje koje su oznacene s ei, 1 ≤ i ≤ 6.Uzmimo za primjer da su se posiljatelj i primatelj dogovorili da ce koristiti funkciju e1. Dabi sifrirao poruku, posiljatelj racuna e1(x1) = y3 i salje y3 primatelju. Primatelj desifrira y3koristeci obrnut smjer strelice na Slici 3.1 za e1 te dobiva da je otvoreni tekst od y3 upravojednak x1.

3.2 Sifrat s pomakom

Definicija 3.2 (Sifrat s pomakom). Neka je P = C = K = Z26. Za 0 ≤ K ≤ 25, definiramo

eK(x) = (x+K) mod 26

idK(y) = (y −K) mod 26

(x, y ∈ Z26). Za K = 3 sifrat s pomakom cesto se naziva Cezarov sifrat.

Sifrat s pomakom je definiran na Z26 jer je 26 slova u engleskom alfabetu, ali moze bitidefiniran na Zm za bilo koji m pa tako i za m = 30 sto bi bio ekvivalent za hrvatsku abecedu.Ocito je da sifrat s pomakom zadovoljava uvjet iz (3.1). Prije sifriranja jos je potrebnouspostaviti odgovarajucu bijekciju izmedu slova engleskog alfabeta i brojeva modulo m naslijedeci nacin: A↔ 0, B ↔ 1, . . . , Z ↔ 25. Zapisimo tu vezu u obliku tablice:

6

Page 11: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

A B C D E F G H I J K L M N0 1 2 3 4 5 6 7 8 9 10 11 12 13

O P Q R S T U V W X Y Z14 15 16 17 18 19 20 21 22 23 24 25

Slika 3.2: Veza izmedu slova i brojeva

Primjer 3.3. Neka je kljuc K = 3 i otvoreni tekst aleaiactaest2. Prvo zelimo dodijelitisvakom slovu odgovarajuci broj prema Slici 3.2. Dobivamo slijedeci niz brojeva: 0, 11, 4, 0, 8,0, 2, 19, 0, 4, 18, 19. Napokon, svakom broju dodamo 3 i reduciramo modulo 26. Dobivamoslijedeci niz: 3, 14, 7, 3, 11, 3, 5, 22, 3, 7, 21, 22. Ostalo je jos samo dodijeliti svakombroju odgovarajuce slovo prema Slici 3.2. Trazeni sifrat je: DOHDLDFWDHVW. Da bi primateljdesifrirao poruku potrebno je sifrat prebaciti u brojevni niz, oduzeti 3 od svakog clana niza,reducirati modulo 26 i konacno, prebaciti dobiveni brojevni niz u slova opet koristeci Sliku3.2.

2Kocka je bacena. Julije Cezar izrekao je ovu recenicu 49. godine prije Krista prelazeci rijeku Rubikon sasvojim trupama unatoc negodovanju rimskog senata izazivajuci time gradanski rat.

7

Page 12: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

4 Kriptosustavi s javnim kljucem

U klasicnoj kriptografiji (sifrat s pomakom), posiljatelj i primatelj tajno odaberu kljuc K.Zatim se funkcije eK i dK definiraju pomocu K. U sifratu s pomakom dK smo jednostavnodobili pomocu eK zamjenivsi plus s minusom. Kriptosustavi ovog tipa nazivaju se simetricnikriptosustavi jer ako ili eK ili dK postanu javni sigurnost sustava je ugrozena.

Mana simetricnog kriptosustava je u tome da zahtjeva razmjenu kljuca K preko sigurnogkanala prije nego je sifrat poslan. U praksi je ovo vrlo tesko postici. Na primjer, posiljatelji primatelj zive udaljeni jedno od drugog i zele komunicirati koristeci elektronicku postu. Utom slucaju nemaju pristup sigunom kanalu.

Ideja iza kriptosustava s javnim kljucem je naci takav kriptosustav gdje je imajuci eKgotovo nemoguce odrediti dK . U tom slucaju funkcija eK je javni kljuc koji se moze objaviti,na primjer, u dnevnim novinama (odatle termin sustav javnog kljuca). Prednost sustavas javnim kljucem je u tome da posiljatelj moze poslati sifriranu poruku primatelju (bezprethodne razmjene tajnog kljuca) koristeci javno dostupno pravilo enkripcije eK . Primateljce biti jedina osoba koja moze desifrirati sifrat koristeci funkciju dK koja se naziva privatnikljuc.

Postupak mozemo zamisliti na slijedeci nacin: posiljatelj ostavi predmet u metalnu kutijui zakljuca kombinacijom na lokotu koju je ostavio primatelj. Primatelj je jedina osoba kojamoze otkljucati kutiju obzirom da on jedini zna kombinaciju.

Ideja sustava s javnim kljucem nastala je 1976. godine od strane Diffieja i Hellmana.Zatim, 1977. godine, Rivest, Shamir i Adleman objavljuju dobro poznati RSA kriptosustav.

Vazno je uociti da kriptosustav s javnim kljucem ne moze osigurati bezuvjetnu sigurnost.To je zato jer protivnik promatrajuci sifrat y moze sifrirati svaki moguci otvoreni tekstkoristeci javno dostupnu enkripcijsku funkciju eK dok ne nade jedinstveni x takav da jey = eK(x). Ovaj x je desifrat od y.

Dobro je razmisljati o kriptosustavu s javnim kljucem u smislu funkcije kojoj je lakopronaci vrijednost u tocki, ali jako tesko tesko tocku iz zadane vrijednosti funkcije tzv.jednosmjernoj funkciji (eng. one-way function). Posebna vrsta jednosmjernih funkcija sutrapdoor funkcije kojima je inverz tesko pronaci osim ako nemamo neku tajnu informaciju.

Posiljateljeva enkripcijska funkcija eK trebala bi se lako racunati, a inverz tesko. Zatozelimo da eK bude jednosmjerna injekcija da bi se moglo izvrsiti desifriranje. Nazalost, iakoje puno injekcija za koje se vjeruje da su jednosmjerne, trenutno ne postoji dokaz da su onezaista jednosmjerne.

Ako konstruiramo kriptosustav s javnim kljucem onda nije dovoljno naci one-way inje-kciju. Ne zelimo da eK bude jednosmjerna za primatelja jer primatelj mora moci desifriratiporuku koju primi u razumnom vremenu. Zato je nuzno da primatelj posjeduje trapdoorfunkciju koja se sastoji od tajne informacije uz koju je lako pronaci inverz od eK . Primateljmoze lako desifrirati jer ima dodatnu informaciju koja je poznata samo njemu, recimo K.

Uobicajeno je specifirati familiju jednosmjernih trapdoor funkcija s F . Tada se funkcijaf ∈ F odabire nasumicno i koristi kao javna enkripcijska funkcija. Inverz funkcije, f−1 jeonda privatna funkcija desifriranja.

8

Page 13: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

5 Kriptosustavi temeljeni na teoriji brojeva

5.1 RSA kriptosustav

Definicija 5.1 (RSA kriptosustav). Neka je n = pq, gdje su p i q prosti brojevi. Neka jeP = C = Zn i

K = {(n, p, q, a, b) : ab ≡ 1 (mod ϕ(n))}.Za K = (n, p, q, a, b) definira se

eK(x) = xb mod n

idK(y) = ya mod n

(x, y ∈ Zn). Vrijednosti n i b cine javni kljuc, p, q i a privatni kljuc.

Ovaj kriptosustav koristi operacije u Zn, gdje je n umnozak dva razlicita neparna prostabroja p i q. Za takav n je ϕ(n) = (p− 1)(q − 1).

Pokazimo da su sifriranje i desifriranje inverzne operacije. Kako je

ab ≡ 1 (mod ϕ(n))

slijedi

ab = tϕ(n) + 1

za neki prirodan broj t. Pretpostavimo da je x ∈ Z∗n. Slijedi

(xb)a ≡ xtϕ(n)+1 (mod n)

≡(xϕ(n)

)tx (mod n)

≡ 1tx (mod n)

≡ x (mod n).

Lako se vidi da je(xb)a ≡ xtϕ(n)+1 (mod n) ako je x ∈ Zn\Z∗n.

Primjer 5.1. Pretpostavimo da je primatelj odabrao p = 101 i q = 113. Tada je n =101 · 113 = 11413 i ϕ(n) = (101 − 1)(113 − 1) = 11200. Kako je 11200 = 26 · 52 · 7, cijelibroj b je eksponent sifriranja ako i samo ako nije djeljiv s 2, 5 ili 7. Pretpostavimo da jeprimatelj odabrao b = 3533. Onda je

b−1 mod 11200 = 6597.

Dakle, primateljev tajni eksponent desifriranja je a = 6597. Primatelj sada javno obja-vljuje n = 11413 i b = 3533. Sada pretpostavimo da posiljatelj zeli sifrirati otvoreni tekst9726 i poslati primatelju. Posiljatelj ce izracunati

97263533 mod 11413 = 5761

i poslati sifrat 5761. Kada primatelj primi sifrat 5761, on koristi tajni eksponent desifriranjada izracuna

57616597 mod 11413 = 9726.

9

Page 14: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Pogledajmo jos jedan primjer ovog vrlo vaznog kriptosustava.

Primjer 5.2.Generiranje kljuca: Posiljatelj odabire dva prosta broja p = 2963 i q = 3119 i racunan = p · q = 2963 · 3119 = 9241597 i ϕ(n) = (p− 1)(q− 1) = 9235516. Enkripcijski eksponentb mora biti relativno prost s 9235516 pa neka to bude b = 585. Tada koristeci Algoritam1 dobiva broj a = 457829 takav da je ab ≡ 1 (mod ϕ(n)). Posiljateljev javni kljuc je par(n = 9241597, b = 585) dok je posiljateljev privatni kljuc a = 457829.Sifriranje: Uzmimo da posiljatelj zeli sifrirati otvoreni tekst mathos. Koristeci Sliku 3.2dobivamo 1201971418. Rastavimo otvoreni tekst na dva dijela koja cemo sifrirati svakizasebno tako da budu manji od n. Dobivamo prvi dio m1 = 12019 i drugi m2 = 71418. Sadaje sifrat koji salje posiljatelj c1c2

c1 = 12019585 mod 9241597 = 5727089

c2 = 71418585 mod 9241597 = 8872711.

Desifriranje: Da bi desifrirao c1 i c2 primatelj racuna

m1 = 5727089457829 mod 9241597 = 12019

m2 = 8872711457829 mod 9241597 = 71418.

Sigurnost RSA kriptosustava temelji se na tome da je funkcija sifriranja eK = xb mod njednosmjerna funkcija pa je protivniku neisplativo racunati je da bi desifrirao sifrat. Trap-door je to sto omogucuje primatelju da desifrira sifrat jer zna fakrorizaciju n = pq. Obziromda zna faktorizaciju on moze izracunati ϕ(n) = (p − 1)(q − 1) te eksponent desifriranja akoristeci Algoritam 1.

Puno je nacina za ubrzati RSA sifriranje i desifriranje bilo softverski bilo hardverski.Neki od nacina su brzo modularno mnozenje, brzo modularno potenciranje i koristenje kine-skog teorema o ostacima za brzo desifriranje. Cak i s ovim poboljsanjima, RSA sifriranje/desifriranje je znatno sporije nego sustavi sa simetricnim kljucem kao sto je DES. U praksi,RSA kriptosustav se koristi za prijenos kljuca simetricnog kriptosustava ili za sifriranje ma-njih jedinica podataka.

Algoritam 2 Generiranje RSA parametara

1: generiraj dva velika prosta broja, p i q, takva da je p 6= q2: n← pq i ϕ(n)← (p− 1)(q − 1)3: odaberi nasumicno b (1 < b < ϕ(n)) takav da je (b, ϕ(n)) = 14: a← b−1 mod ϕ(n)5: javni kljuc je uredeni par (n, b), a privatni uredena trojka (p, q, a)

Kada govorimo o RSA kriptosustavu moramo voditi racuna o postavljanju kriptosustava,ucinkovitosti sifriranja i desifriranja te sigurnosnim problemima. Da bi postavio sustav,primatelj koristi Algoritam 2.

Jedan ociti napad na RSA kriptosustav je faktoriziranje broja n. Ako se to uspije ucinitionda je jednostavno izracunati ϕ(n) = (p− 1)(q − 1) te izracunati eksponent desifriranja aiz b bas onako kako to cini primatelj.

Da bi RSA kriptosustav bio siguran, nuzno je da n = pq bude dovoljno velik da fakto-rizacija bude racunski neisplativa. Preporuka je da bi p i q trebali biti do 512 bita dugacki

10

Page 15: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

pa bi n bio do 1024 bita. Faktorizacija broja ove velicine je iznad mogucnosti danasnjihalgoritama za faktorizaciju.

Sifriranje i desifriranje ukljucuju potenciranje modulo n. Kako je n jako velik moramokoristiti artimetiku s visestrukom preciznoscu pri racunanju u Zn, a potrebno vrijeme ovisitce o prikazu broja n u binarnom brojevnom sustavu.

Neka su x i y prirodni brojevi koji u binarnom sustavu imaju k odnosno l znamenaka,tj. k = blog2 xc+ 1 i l = blog2 yc+ 1. Pretpostavimo da je k ≥ l. Gornje granice vremenskeslozenosti za pojedine operacije su slijedece:

• x+ y moze se izracunati u O(k) vremenu

• x− y moze se izracunati u O(k) vremenu

• xy moze se izracunati u O(kl) vremenu

• bx/yc moze se izracunati u O(l(k − l)) vremenu. O(kl) je slabija granica.

• (x, y) moze se izracunati u O(k3) vremenu.

Pogledajmo sada operacije u Zn. Pretpostavimo da je n k-bitni cijeli broj i 0 ≤ m1,m2 ≤ n− 1 te c prirodan broj. Imamo slijedece:

• (m1 ±m2) mod n racuna se u O(k) vremenu

• (m1m2) mod n racuna se u O(k2) vremenu

• (m1)−1 mod n racuna se u O(k3) vremenu s pretpostavkom da inverz postoji

• (m1)c mod n racuna se u O((log c) · k2) vremenu.

Pogledajmo modularno potenciranje tj. racunanje funkcije xc mod n. Sifriranje i desifri-ranje u RSA kriptosustavu su modularno potenciranje. Racunanje xc mod n moze se posticikoristeci c−1 mudularnih mnozenja, ali to nije efikasno ako je c velik. Treba uociti da c mozebiti velik kao ϕ(n)− 1 koji je skoro velik kao n i potenciranjem postaje velik u usporedbi sk.

Algoritam 3 Kvadriraj i mnozi

1: z ← 12: for i← l − 1 downto 0 do3: z ← z2 mod n4: if ci = 1 then5: z ← (z · x) mod n6: end if7: end for

Dobro poznati Algoritam 3 reducira broj modularnih mnozenja potrebnih za racunanjexc mod n do skoro 2l, gdje je l broj znamenaka u binarnom zapisu broja c. Slijedi dase xc mod n moze izracunati u O(lk2) vremenu. Ako pretpostavimo da je c < n, ondavidimo da sifriranje i desifriranje u RSA kriptosustavu zahtjeva O((log n)3) vremena sto jepolinomijalno ovisno o broju znakova otvorenog teksta.

Algoritam 3 pretpostavlja da je eksponent c napisan u binarnom sustavu:

11

Page 16: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

c =t−1∑i=0

ci2i,

gdje je ci ∈ {0, 1}, 0 ≤ i ≤ l − 1. Upravo je Algoritam 3 taj kojim se racuna z = xc mod n.

Primjer 5.3. Prisjetimo se Primjera 5.1 gdje je n = 11413 i javni eksponent sifriranja biob = 3533. Posiljatelj sifrira otvoreni tekst 3726 racunajuci 97263533 mod 11413. KoristeciAlgoritam 3, to izgleda ovako:

i bi z11 1 12 · 9726 = 972610 1 97262 · 9726 = 26599 0 26592 = 56348 1 56342 · 9726 = 91677 1 91672 · 9726 = 49586 1 49589726 = 77835 0 77832 = 62984 0 62982 = 46293 1 46292 · 9726 = 101852 1 101852 · 9726 = 1051 0 1052 = 110250 1 110252 · 9726 = 5761

Slika 5.1: Koraci algoritma Kvadriraj i mnozi

5.2 Rabinov kriptosustav

Definicija 5.2 (Rabinov kriptosustav). Neka je n = pq, gdje su p i q prosti brojevi i p, q ≡ 3(mod 4). Neka je P = C = Z∗n i

K = {(n, p, q)}.

Za K = (n, p, q), definira seeK(x) = x2 mod n

idK(y) =

√y mod n.

Tada je n javni kljuc, a p i q su privatni kljuc.

Mana Rabinovog kriptosustava definiranog prethodnom definicijom je to sto funkcijasifriranja eK nije injekcija pa desifriranje moze biti dvosmisleno. Dokaz je slijedeci. Pretpo-stavimo da je y valjani sifrat. To znaci da je y = x2 mod n za neki x ∈ Z∗n. Prema Teoremu2.2 cetiri su kvadratna korijena od y modulo n pa time i cetiri moguca otvorena teksta kojase sifriraju u y. Opcenito to znaci da primatelj nema nacina kako znati koji je pravi otvorenitekst osim ako moze uociti da je neki od rezultata nemoguc.

Pogledajmo problem desifriranja kako ga primatelj vidi. Primatelj ima sifrat y i zeliodrediti y takav da vrijedi

x2 ≡ y (mod n).

12

Page 17: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Ovo je kvadratna jednadzba u Zn gdje je nepoznanica x i desifriranje zahtjeva odredivanjekvadratnog korijena modulo n. To je ekvivalentno rjesavanju dviju kongruencija

z2 ≡ y (mod p)

iz2 ≡ y (mod q).

Koristeci Teorem 2.3 provjeravamo je li y kvadratni ostatak modulo p (i modulo q). Ustvari, y ce biti kvadratni ostatak modulo p i modulo q ako je sifriranje provedeno ispravno.Nazalost, Teorem 2.3 nam ne pomaze odrediti kvadratne korijene od y vec samo daje odgovorpostoji li ili ne postoji.

Kada je p ≡ 3 (mod 4), onda postoji jednostavna formula za racunanje kvadratnih kori-jena od kvadratnih ostataka modulo p. Pretpostavimo da je y kvadratni ostatak modulo ppri cemu je p ≡ 3 (mod 4). Tada imamo(

±yp+14

)2≡ y

p+12 (mod p)

≡ yp−12 y (mod p)

≡ y (mod p).

Ovdje smo opet iskoristili Teorem 2.3 koji kaze da ako je y kvadratni ostatak modulo p, ondaje y

p−12 ≡ 1 (mod p). Stoga su dva kvadratna korijena od y modulo p ±y p+1

4 mod p. Slicno,

dva kvadratna korijena od y modulo q su ±y q+14 mod q. Jos ostaje samo iskoristiti Teorem

2.1.Ilustrirajmo sifriranje i desifriranje pomocu Rabinovog kriptosustava.

Primjer 5.4. Neka je n = 77 = 7 · 11. Tada je funkcija sifriranja eK(x) = x2 mod 77, afunkcija desifriranja dK(y) =

√y mod 77. Pretpostavimo da primatelj zeli desifrirati sifrat

y = 23. Neophodno je naci kvadratni korijen od 23 modulo 7 i modulo 11. Kako su 7 i 11oboje kongruentni 3 modulo 4 koristimo formulu:

237+14 ≡ 22 ≡ 4 (mod 7)

i23

11+14 ≡ 13 ≡ 1 (mod 11).

Koristeci Teorem 2.1 dobivamo da su cetiri kvadratna korijena od 23 modulo 77 jednaki ±10,±32 mod 77. Dakle, cetiri moguca otvorena teksta su x = 10, 32, 45 i 67. Moze se provjeritida svaki od ovih otvorenih tekstova kada se kvadriraju i reduciraju modulo 27 budu upravo23. To dokazuje da je 23 valjan sifrat.

5.3 ElGamalov kriptosustav

ElGamalov kriptosustav se bazira na problemu diskretnog logaritma.

Definicija 5.3. Neka je (G, ·) konacna multiplikativna grupa. Za svaki α ∈ G ciji je redelementa jednak n definiramo

〈α〉 = {αi : 0 ≤ i ≤ n− 1}.

13

Page 18: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Lako se vidi da je 〈α〉 podgrupa od G te da je 〈α〉 ciklicka grupa reda n.Cesto se koristi multiplikativna grupa G konacnog polja Zp (p prost broj), a α primitivni

element modulo p . U ovoj situaciji imamo da je n = |〈α〉| = p−1. Jos jedan primjer koji secesto koristi je da je α element prostog reda q u multiplikativnoj grupi Z∗p (p prost i p−1 ≡ 0

(mod q)). Takav α se moze dobiti potencirajuci primitivni element u Z∗p na p−1q

potenciju.

Definirajmo problem diskretnog logaritma u podgrupi 〈α〉 grupe (G, ·).

Definicija 5.4. Problem diskretnog logaritmaSlucaj: Multiplikativna grupa (G, ·), element α ∈ G reda n i element β ∈ 〈α〉.

Pitanje: Odrediti jedinstveni cijeli broj a, 0 ≤ a ≤ n− 1, takav da je αa = β.Cijeli broj a oznacavamo s logα β i nazivamo diskretni logaritam od β.

Korist problema diskretnog logaritma u kriptografiji je to sto je trazenje diskretnog loga-ritma tesko, ali trazenje inverza tj. potenciranje moze se izracunati brzo koristeci Algoritam3. Drugacije receno, potenciranje je jednosmjerna funkcija u odgovarajucoj grupi G.

Definicija 5.5. ElGamalov kriptosustav s javnim kljucem u Z∗pNeka je p prost broj takav da je problem diskretnog algoritma netrivijalan u (Z∗p, ·), te nekaje α ∈ Z∗p primitivni element. Neka je P = Z∗p, C = Z∗p × Z∗p i definiramo

K = {(p, α, a, β) : β ≡ αa (mod p)}.

Vrijednosti p, α i β su javni kljuc, a a privatni.Za K = (p, α, a, β) i za (tajni) nasumicno odabrani broj k ∈ Zp−1 definiramo

eK(x, k) = (y1, y2),

gdje jey1 = αk mod p

iy2 = xβk mod p.

Za y1, y2 ∈ Z∗p definiramo

dK(y1, y2) = y2 (ya1)−1 mod p.

Sifriranje kod ElGamalovog kriptosustava je nasumicno jer sifrat ovisi i o otvorenomtekstu x i o nasumicnoj vrijednosti k koju odabire posiljatelj. Stoga ce biti p − 1 sifrataotvorenog teksta.

Neformalno, ovako radi ElGamalov kriptosustav: otvoreni tekst x se mnozeci s βk”ma-

skira” te je rezultat y2. Vrijednost αk se salje kao dio sifrata. Primatelj koji zna privatnikljuc a moze izracunati βk iz αk. Tada on moze

”skinuti masku” dijeleci y2 s βk te dobiti x.

Primjer 5.5. Neka je p = 2579 i α = 2. α = 2 je primitivni element modulo p. Neka jea = 765. Dakle

β = 2765 mod 2579 = 949.

Pretpostavimo da posiljatelj zeli poslati poruku x = 1299 primatelju. Recimo da je k = 853nasumicno odabran cijeli broj koji posiljatelj odabire. Tada posiljatelj racuna

y1 = 2853 mod 2579 = 435

iy2 = 1299 · 949853 mod 2579 = 2396.

14

Page 19: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Kada primatelj primi sifrat y = (435, 2396), on racuna

x = 2396 ·(435765

)−1mod 2579 = 1299

sto je otvoreni tekst koji je primatelj sifrirao.

Jasno je da ce ElGamalov kriptosustav biti nesiguran ako protivnik moze izracunati vri-jednost a = logα β. Protivnik ce u tom slucaju desifrirati sifrat upravo onako kako to radiprimatelj. Dakle, neophodan uvjet da bi ElGamalov kriptosustav bio siguran je taj da jeproblem diskretnog logaritma u Z∗p netrivijalan. To se opcenito postize tako da se p odabirepazljivo i da je α primitivni element modulo p. Trenutno nije poznat algoritam koji bi upolinomnom vremenu rijesio ovaj slucaj problema diskretnog logaritma. Da bi se sprijecilipoznati napadi, p treba imati najmanje 300 znamenaka i p−1 treba imati barem jedan velikiprosti faktor.

15

Page 20: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

6 Definicija i svojstva resetki

Definicija 6.1. Neka je v1, . . . , vn ∈ Rm linearno nezavisan skup vektora. Resetka L gene-rirana s v1, . . . , vn je skup svih linearnih kombinacija vektora v1, . . . , vn s koeficijentima izZ,

L = {a1v1 + a2v2 + . . . + anvn : a1, a2, . . . , an ∈ Z}.

Baza za L je bilo koji skup linearno nezavisnih vektora koji generira L. Svaka dva takvaskupa imaju jednak broj elemenata. Dimenzija od L je broj elemenata baze za L.

Neka je v1, . . . , vn baza resetke L i w1, . . . , wn ∈ L skup vektora iz L. Kao u vektorskomprostoru i ovdje mozemo prikazati svaki wj kao linearnu kombinaciju vektora baze

w1 = a11v1 + a12v2 + . . . + a1nvn,

w2 = a21v1 + a22v2 + . . . + a2nvn,

...

wn = an1v1 + an2v2 + . . . + annvn,

ali obzirom da su u pitanju resetke znamo da su svi koeficijenti aij cijeli brojevi.Pretpostavimo da zelimo izraziti vi preko wj. To podrazumjeva invertiranje matrice

A =

a11 a12 · · · a1na21 a22 · · · a2n...

.... . .

...an1 an2 · · · ann

.

Treba uociti da vi mora biti linearna kombinacija vektora wj s cjelobrojnim koeficijentima,a to povlaci da koeficijenti od A−1 moraju biti cijeli brojevi. Dakle,

1 = det(I) = det(AA−1) = det(A)det(A−1),

gdje su det(A) i det(A−1) cijeli brojevi, pa moramo imati det(A) = ±1. Obratno, ako jedet(A) = ±1, onda i A−1 ima cjelobrojne koeficijente.

Propozicija 6.1. Svake dvije baze resetke L povezane su matricom ciji su koeficijenti cijelibrojevi i determinanta jednaka ±1.

Definicija 6.2. Neka je L resetka dimenzije n i neka su v1, v2 . . . , vn baza za L. Fundame-ntalna baza za L koja odgovara ovoj bazi je skup

F(v1, . . . , vn) = {t1v1 + t2v2 + · · · + tnvn : 0 ≤ ti < 1}.

Propozicija 6.2 (Hadamardov omjer). Hadamardov omjer baze B = {v1, . . . , vn} jest broj

H(B) =

(det(L)

||v1|| ||v2|| · · · ||vn||

) 1n

Definicija 6.3. Problem najkraceg vektora (SVP)Odrediti najkraci ne-nul vektor u resetki L, tj. odreditii ne-nul vektor v ∈ L koji minimiziraEuklidovu normu ||v||.

16

Page 21: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Definicija 6.4. Problem najblizeg vektora (CVP)Za dani vektor w ∈ Rm koji nije u L, odrediti vektor c ∈ L koji je najblizi vektoru w, tj.odrediti vektor v ∈ L koji minimizira Euklidovu normu ||w − v||.

Algoritam 4 Babaijev algoritam

1: Napisi w = t1v1 + t2v2 + · · · + tnvn gdje je t1, . . . , tn ∈ R2: Postavi ai = nint(ti) za i = 1, 2, . . . , n.3: Vrati vektor v = a1v1 + a1v2 + · · · + anvn.

. Funkcija nint vraca najblizi cijeli broj. Ukoliko je broj na sredini izmedu dva cijela brojaonda vraca najblizi paran broj.

17

Page 22: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

7 Kriptosustavi bazirani na teskim problemima resetki

Sredinom 90-ih proslog stoljeca predstavljeno je nekoliko kriptosustava baziranih na teskimproblemima resetke L velike dimenzije n. Najvazniji, abecednim redom, su Ajtai-Dworkkriptosustav, GGH kriptosustav Goldreicha, Goldwassera i Halevija te NTRU kriptosustavHoffsteina, Piphera i Silvermana.

Motivacija za razmatranje ovakvih kriptosustava je dvostrana. Prvo, dobro je imatikriptosustave temeljene na raznolikosti teskih matematickih problema jer rjesavanje jednogteskog matematickog problema ne ugrozava sigurnost svih sustava. Drugo, kriptosustavitemeljeni na problemima resetki su cesto puno brzi nego faktorizacija ili sustavi temeljenina diskretnom logaritmu kao sto su ElGamalov i RSA. Da bi se osigurala k bitna sigurnostza sifriranje i desifriranje u ElGamalovom i RSA kriptosustavu potrebno je O(k3) operacijadok je za kriptosustave temeljene na resetkama potrebno samo O(k2) operacija. Nadalje,jednostavne operacije iz linearne algebre jednostavno je implementirati softverski i hardver-ski. Moramo napomenuti da analiza sigurnosti kriptosustava temeljenih na teoriji brojeva idiskretnom logaritmu nije ni blizu objasnjena kao sto je to slucaj s sustavima temeljenim naresetki. Ipak jako je malo takvih sustava u usporedbi s sustavima kao sto je RSA.

7.1 GGH kriptosustav

Posiljatelj pocinje proces tako da odabere skup linearno nezavisnih vektora

v1, v2, . . . , vn ∈ Zn

koji su okomiti jedan na drugoga. Jedan nacin da se ovo postigne je da se fiksira parametard, a potom odaberu koordinate v1, . . . , vn izmedu −d i d. Posiljatelj moze provjeriti valjanostodabira vektora baze pomocu Propozicije 6.2 te potvrditi da vrijednost nije premala. Vekto-ri v1, . . . , vn su posiljateljev privatni kljuc. Neka je V matrica dimenzija n × n ciji su redcivektori v1, . . . , vn te L resetka generirana tim vektorima.

Posiljatelj zatim odabire matricu U dimenzija n × n s cjelobrojnim koeficijentima i de-terminantom ±1. Umnozak velikog broja nasumicno odabranih elementarnih matrica jematrica U sto je jedan od nacina kreiranja matrice U . Posiljatelj tada racuna W = UV .Vektori redaka w1, . . . , wn od W su nova baza za L. Oni su sada posiljateljev javni kljuc.

Kada primatelj zeli poslati poruku primatelju, on odabire mali vektor m kao otvorenitekst. Na primjer, m moze biti binarni vektor. Primatelj takoder bira mali nasumicniperturbacijski vektor r koji je kratkotrajan kljuc. Uzmimo za primjer da on moze odabratinasumicno koordinate od r izmedu −δ i δ, gdje je δ fiksan javni parametar. Tada racunavektor

e = mW + r =n∑i=1

miwi + r,

sto je sifrat. Treba uociti kako e nije tocka resetke, ali je blizu tocke resetke mW jer je rmali.

Desifriranje nije komplicirano. Posiljatelj koristi Algoritam 4 s valjanom bazom v1, . . . , vnkako bi nasao vektor u L koji je blizu e. Kako on koristi valjanu bazu i r je mali, vektoreresetke koje pronalazi su mW te ga mnozi s W−1 da dobije m.

Ilustrirajmo GGH kriptosustav koristeci trodimenzionalnu resetku.

Primjer 7.1. Za posiljateljevu privatnu valjanu bazu uzmimo

v1 = (−97, 19, 19), v2 = (−36, 30, 86), v3 = (−184,−64, 78).

18

Page 23: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Resetka L razapeta s v1, v2 i v3 ima determinantu det(L) = 859516 i Hadamardov omjerbaze je

H(v1, v2, v3) =

(det(L)

||v1|| ||v2|| ||v3||

) 13

≈ 0.74620.

Posiljatelj mnozi svoju privatnu bazu s matricom

U =

4327 −15447 234543297 −11770 178715464 −19506 29617

.

cija je determinanta det(U) = −1 da dobije svoju javnu bazu

w1 = (−4179163,−1882253, 583183),

w2 = (−3184353,−1434201, 444361),

w2 = (−5277320,−2376852, 736426).

Hadamardov omjer javne baze je jako mali,

H(v1, v2, v3) =

(det(L)

||w1|| ||w2|| ||w3||

) 13

≈ 0.0000208.

Primatelj odluci postali primatelju otvoreni tekst m = (86,−35,−32) koristeci nasumicnoodabranu perturbaciju r = (−4,−3, 2). Odgovarajuci sifrat je

e = (86,−35,−32)

−4179163 −1882253 583183−3184353 −1434201 444361−5277320 −2376852 736426

+ (−4,−3, 2)

= (−79081427,−35617462, 11035473)

Primatelj desifrira ovako dobiveni sifrat koristenjem Algoritma 4. Prvo zapisuje e kao line-arnu kombinaciju privatnih baza s realnim koeficijentma,

e ≈ 81878.97v1 − 292300.00v2 + 443815v3.

Zatim zaokruzuje koeficijente na najblizi cijeli broj i racuna vektor resetke

v = 81879v1 − 292300v2 + 443815v3 = (−79081423,−35617459, 11035471)

koji je blizu e. Tada dobiva m prikazujuci v kao linearnu kombinaciju javne baze iscitavajucikoeficijente

v = 86w1 − 35w2 − 32w3.

Sada pretpostavimo da protivnik koji zna samo javnu bazu w1, w2, w3 pokusa desifriratiprimateljevu poruku. Ako upotrijebi Algoritam 4 koristeci javnu bazu pronalazi da je

e = 75.76w1 − 34.52w2 − 24.18w3.

Zaokruzujuci dobiva vektor resetke

v′ = 75w1 − 35w2 − 24w3 = (−79508353,−35809745, 11095049)

koji je dosta blizu e. No, ovaj vektor resetke daje otvoreni tekst (76,−35,−24) koji nijetocan otvoreni tekst m = (86,−35,−35).

19

Page 24: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Naravno, GGH kriptosustav nije siguran u tri dimenzije jer cak i ako uzimamo brojevekoji su dovoljno veliki da iscrpnu metodu pretrage ucine beskorisnom, puno je brzih algo-ritama koji pronalaze valjanu bazu u nizim dimenzijama. U dvije dimenzije algoritam zatrazenje valjane baze datira jos od Gaussa. Mocna generalizacija za vise dimenzija poznataje kao Lenstra–Lenstra–Lovasz algoritam za redukciju baze resetke.

20

Page 25: Sveucili ste J.J. Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/PIL01.pdf · podatak da je Gaj Julije Cezar u prvom stolje cu prije nove ere koristio danas vrlo pozna-ti

Literatura

[1] J.Hoffstein, J. Pipher, J.H. Silverman, An Introduction to MathematicalCryptography, Springer Science + Business Media, LLC, New York, 2008.

[2] A.K.Menezes, P.C. van Oorschot, S.A.Vanstone, Handbook of AppliedCryptography, CRC Press LLC, Boca Raton, 1977.

[3] D.R. Stinson, Cryptography Theory and Practice, Chapman & Hall/CRC, Boca Raton,2006.

21