51
Sveuˇ ciliˇ ste J. J. Strossmayera u Osijeku Odjel za matematiku Diplomski studij matematike i raˇ cunarstva Maja Meˇ sko Sigurnost u kriptografiji Diplomski rad Osijek, 2015.

Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

Sveuciliste J. J. Strossmayera u Osijeku

Odjel za matematiku

Diplomski studij matematike i racunarstva

Maja Mesko

Sigurnost u kriptografiji

Diplomski rad

Osijek, 2015.

Page 2: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

Sveuciliste J. J. Strossmayera u Osijeku

Odjel za matematiku

Diplomski studij matematike i racunarstva

Maja Mesko

Sigurnost u kriptografiji

Diplomski rad

Mentor: doc. dr. sc. Ivan Matic

Osijek, 2015.

Page 3: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

Sadrzaj

1. Uvod 1

2. O sigurnosti sustava - osnovni pojmovi i definicije 2

2.1. Klasifikacija kriptosustava . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2. Kriptoanaliticki napadi . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3. Koristeni pojmovi i algoritmi iz teorije brojeva . . . . . . . . . . . . . . 7

2.4. Osnovni pojmovi o sigurnosti sustava . . . . . . . . . . . . . . . . . . . 10

3. Sigurnost kriptosustava s javnim kljucem 13

3.1. RSA kriptosustav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2. Sigurnost RSA kriptosustava . . . . . . . . . . . . . . . . . . . . . . . . 19

3.3. ElGamalov kriptosustav . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.4. Sigurnost u ElGamalovom kriptosustavu . . . . . . . . . . . . . . . . . 23

4. Multicast sigurnost 30

4.1. Shema trivijalne enkripcije prijenosom . . . . . . . . . . . . . . . . . . 31

4.2. Shema generalizirane enkripcije prijenosom . . . . . . . . . . . . . . . 32

5. Zastita autorskih prava 38

5.1. Otisak prsta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.2. Identificiranje familije korisnika hibridnog otiska prsta (Identifable Pa-

rent Property - IPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6. Zakljucak 44

7. Sazetak. 46

8. Title and summary 47

9. Zivotopis 48

Page 4: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

1

1. Uvod

Kroz cijelu povijest covjecanstva postojala je potreba za sigurnom razmjenom infor-

macija.

Problemom sigurne komunikacije bavili su se vec Egipcani i Indijci prije vise od 3000

godina i od tada do danas osnovna ideja se nije promijenila - prenijeti neku poruku s

jednog mjesta na drugo sto je sigurnije moguce, tj. napraviti algoritam koji bi omogucio

skrivanje originalne poruke tako da bude potpuno (u idealnom slucaju) nerazumljiva

osobama koje bi neovlasteno dosle u njen posjed. Prve koristene metode nisu bili slozeni

matematicki algoritmi nego se pocelo koristenjem alternativnih jezika koji su bili poz-

nati samo malom broju ljudi. Razvoj slozenijih metoda sigurne komunikacije poceo je

tek razvojem pisma, sto je omogucilo da se bilo koja informacija prikaze odredenim

brojem znakova koji bi, nakon upotrebe odredenog kljuca, formirali ponovno pocetnu

poruku. S vremenom se javila i ideja prikaza slova drugim simbolima. Primjeri koji su

i danas u upotrebi su: Morseov kod, Braille-ovo pismo i ASCII kod.

Danas postoje dvije vrste metoda sifriranja. To su metoda simetricnog i metoda

asimetricnog sifriranja. Metoda simetricnog sifriranja je donedavno bila jedina poznata

metoda.

U ovom radu paznju cemo usmjeriti na asimetricne kriptosustave - RSA i ElGama-

lov kriptosustav te njihovu sigurnost. Takoder, dotaknut cemo se multicast sigurnosti

i zastite autorskih prava te opisati ulogu kriptografije u ovom podrucju.

Page 5: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

2

2. O sigurnosti sustava - osnovni pojmovi i defini-

cije

Kriptografija je znanstvena disciplina koja se bavi proucavanjem metoda za slanje

poruka u takvom obliku da ih samo onaj kome su namijenjene moze procitati.

Sama rijec kriptografija je grckog podrijetla i mogla bi se doslovno prevesti kao tajnopis.

Neki elementi kriptografije bili su prisutni vec kod starih Grka. Naime, Spartanci

su u 5. stoljecu prije Krista upotrebljavali napravu za sifriranje zvanu skital. To

je bio drveni stap oko kojeg se namotavala vrpca od pergamenta, pa se na nju oko-

mito pisala poruka. Nakon upisivanja poruke, vrpca bi se odmotala, a na njoj bi ostali

izmijesani znakovi koje je mogao procitati samo onaj tko je imao stap jednake debljine.

Osnovni zadatak kriptografije je omoguciti dvjema osobama (zvat cemo ih posiljalac

i primalac - u kriptografskoj literaturi su za njih rezervirana imena Alice i Bob) komu-

niciranje preko nesigurnog komunikacijskog kanala (telefonska linija, racunalna mreza,

...) na nacin da treca osoba (njihov protivnik - u literaturi se najcesce zove Eva ili

Oskar), koja moze nadzirati komunikacijski kanal, ne moze razumjeti njihove poruke.

Poruku koju posiljalac zeli poslati primaocu zvat cemo otvoreni tekst (engl. plaintext).

To moze biti tekst na njihovom materinjem jeziku, numericki podatci ili bilo sto drugo.

Posiljalac transformira otvoreni tekst koristeci unaprijed dogovoreni kljuc. Taj

postupak se naziva sifriranje, a dobiveni rezultat sifrat (engl. ciphertext) ili kriptogram.

Nakon toga posiljalac posalje sifrat preko nekog komunikacijskog kanala. Protivnik

prisluskujuci moze doznati sadrzaj sifrata, ali ne moze odrediti otvoreni tekst.

Za razliku od njega, primalac koji zna kljuc kojim je sifrirana poruka moze desifrirati

sifrat i odrediti otvoreni tekst.

Page 6: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

3

Slika 1. Shematski prikaz kriptiranja i dekriptiranja.

Za razliku od desifriranja, kriptoanaliza ili dekriptiranje je znanstvena disciplina koja

se bavi proucavanjem postupaka za citanje skrivenih poruka bez poznavanja kljuca.

Kriptologija je pak grana znanosti koja obuhvaca kriptografiju i kriptoanalizu.

Kriptografski algoritam ili sifra je matematicka funkcija koja se koristi za sifriranje

i desifriranje. Opcenito, radi se o dvije funkcije, jednoj za sifriranje, a drugoj za

desifriranje. Te funkcije preslikavaju osnovne elemente otvorenog teksta (najcesce su

to slova, bitovi, grupe slova ili bitova) u osnovne elemente sifrata, i obratno.

Funkcije se biraju iz odredene familije funkcija u ovisnosti o kljucu. Skup svih mogucih

vrijednosti kljuceva nazivamo prostor kljuceva.

Kriptosustav se sastoji od kriptografskog algoritma, te svih mogucih otvorenih

tekstova, sifrata i kljuceva. Dakle, imamo sljedecu formalnu definiciju.

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

1. P je konacan skup svih mogucih osnovnih elementa 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

desifriranja dK ∈ D. Pritom su eK : P → C i dK : C → P funkcije sa

svojstvom da je dK(eK(x)) = x za svaki otvoreni tekst x ∈ P .

Page 7: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

4

Najvaznije svojstvo u definiciji je dK(eK(x)) = x. Iz njega slijedi da funkcije eK

moraju biti injekcije. Zaista, ako bi bilo

eK(x1) = eK(x2) = y,

za dva razlicita otvorena teksta x1 i x2, onda primalac ne bi mogao odrediti treba li y

desifrirati u x1 ili x2, tj. dK(y) ne bi bilo definirano.

2.1. Klasifikacija kriptosustava

Kriptosustave obicno klasificiramo s obzirom na slijedeca tri kriterija:

• Tip operacija koje se koriste pri sifriranju

Imamo podjelu na supstitucijske sifre u kojima se svaki element otvorenog teksta

(bit, slovo, grupa bitova ili slova) zamjenjuje s nekim drugim elementom, te

transpozicijske sifre u kojima se elementi otvorenog teksta permutiraju (pre-

mjestaju). Npr. ako rijec TAJNA sifriramo u XIWOI, nacinili smo supstituciju,

a ako je sifriramo u JANAT, nacinili smo transpoziciju. Postoje takoder i krip-

tosustavi koji kombiniraju ove dvije metode.

• Nacin na koji se obraduje otvoreni tekst

Ovdje razlikujemo blokovne sifre, kod kojih se obraduje jedan po jedan blok

elemenata otvorenog teksta koristeci jedan te isti kljuc K, te protocne sifre (engl.

stream cipher) kod koji se elementi otvorenog teksta obraduju jedan po jedan

koristeci pritom niz kljuceva (engl. keystream) koji se paralelno generira.

• Tajnost i javnost kljuceva

Ovdje je osnovna podjela na simetricne kriptosustave i kriptosustave s javnim

kljucem. Kod simetricnih ili konvencionalnih kriptosustava, kljuc za desifriranje

se moze izracunati poznavajuci kljuc za sifriranje i obratno. Ustvari, najcesce su

ovi kljucevi identicni. Sigurnost ovih kriptosustava lezi u tajnosti kljuca. Zato se

oni zovu i kriptosustavi s tajnim kljucem.

Page 8: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

5

Kod kriptosustava s javnim kljucem ili asimetricnih kriptosustava, kljuc za desifriranje

se ne moze (barem ne u nekom razumnom vremenu) izracunati iz kljuca za

sifriranje. Ovdje je kljuc za sifriranje javni kljuc. Naime, bilo tko moze sifrirati

poruku pomocu njega, ali samo osoba koja ima odgovaraju kljuc za desifriranje

(privatni ili tajni kljuc) moze desifrirati tu poruku. Ideju javnog kljuca prvi su

javno iznijeli Whitfield Diffie i Martin Hellman 1976. godine, kada su dali prijed-

log rjesenja problema razmjenjivanja kljuceva za simetricne kriptosustave putem

nesigurnih komunikacijskih kanala.

2.2. Kriptoanaliticki napadi

Osnovna pretpostavka kriptoanalize je da kriptoanaliticar zna koji se kriptosustav ko-

risti. To se zove Kerckhoffsovo nacelo, po Nizozemcu Augustu Kerckhoffsu (1835-1903),

autoru vazne knjige ”La Cryptographie militaire” (Vojna kriptografija). Naravno, ova

pretpostavka u konkretnom slucaju ne mora biti tocna, ali mi ne zelimo da nam si-

gurnost kriptosustava lezi na ”klimavoj” pretpostavci da nas protivnik ne zna koji

kriptosustav koristimo. Cak ukoliko kriptoanaliticar treba provjeriti nekoliko mogucih

kriptosustava, time se kompleksnost procedure bitno ne mijenja. Dakle, mi pretpos-

tavljamo da tajnost sifre u potpunosti lezi u kljucu.

Razlikujemo cetiri osnovna nivoa kriptoanalitickih napada:

1. Samo sifrat

Kriptoanaliticar posjeduje samo sifrat od nekoliko poruka sifriranih pomocu is-

tog algoritma. Njegov je zadatak otkriti otvoreni tekst od sto vise poruka ili u

najboljem slucaju otkriti kljuc kojim su poruke sifrirane.

2. Poznat otvoreni tekst

Kriptoanaliticar posjeduje sifrat neke poruke, ali i njemu odgovarajuci otvoreni

tekst. Njegov zadatak je otkriti kljuc ili neki algoritam za desifriranje poruka

sifriranih s tim kljucem.

3. Odabrani otvoreni tekst

Kriptoanaliticar ima mogucnost odabira teksta koji ce biti sifriran, te moze dobiti

njegov sifrat. Ovaj napad je jaci od prethodnoga, ali je manje realistican.

Page 9: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

6

4. Odabrani sifrat

Kriptoanaliticar je dobio pristup alatu za desifriranje, pa moze odabrati sifrat,

te dobiti odgovarajuci otvoreni tekst. Ovaj napad je tipican kod kriptosustava s

javnim kljucem. Tu je zadatak kriptoanaliticara otkriti kljuc za desifriranje (tajni

kljuc).

Postoji jos i peti napad - potkupljivanje, ucjena i slicno. Ovaj napad ne pripada

doslovno u kriptoanalizu, ali je vrlo efikasan i cesto primjenjivan u kombinaciji s ”pra-

vim” kriptoanalitickim napadima.

Naravno, mozemo se pitati koliko je realno da ce kriptoanaliticar biti u prilici pri-

mijeniti 2., 3. ili 4. vrstu napada. Na prvi pogled to izgleda dosta nerealno. Medutim,

tu treba imati u vidu cinjenicu da je kriptoanaliticar vec nekako dosao u posjed sifrata

koji nije bio namjenjen njemu. Dakle, on svakako posjeduje izvjesne sposobnosti koje

mu mogu pomoci i oko drugih vrsta kriptoanalitickih napada.

Page 10: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

7

2.3. Koristeni pojmovi i algoritmi iz teorije brojeva

U ovom poglavlju definirat cemo sve spomenute pojmove i algoritme iz teorije brojeva

radi preglednosti rada.

Algoritam 1: Prosireni Eukidov algoritam za odredivanje (a, b)

a0 ← a

b0 ← b

t0 ← 0

t← 1

s0 ← 1

s← 0

q ←⌊a0b0

⌋r ← a0 − qb0while r > 0 do

temp← t0 − qtt0 ← t

t← temp

temp← s0 − qss0 ← s

s← temp

a0 ← b0

b0 ← r

q ←⌊a0b0

⌋r ← a0 − qb0

end while

r ← b0

return (r, s, t)

Uocimo da je r najveci zajednicki djelitelj od a i b, odnosno r = (a, b) te vrijedi da je

sa+ tb = r.

Ovaj algoritam koristimo u poglavlju vezanom za RSA kriptosustav.

Page 11: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

8

Reducirani sustav ostataka

Reducirani sustav ostataka modulo m je skup cijelih brojeva ri sa svojstvom da je

gcd(ri,m) = 1, ri 6≡ rj (mod m) za i 6= j, te da za svaki cijeli broj x takav da je

gcd(x,m) = 1 postoji ri takav da je x ≡ ri (mod m). Jedan reducirani sustav ostataka

modulo m je skup svih brojeva a ∈ {1, 2, ...,m} takvih da je gcd(a,m) = 1. Jasno

je da svi reducirani sustavi ostataka modulo m imaju isti broj elemenata. Taj broj

oznacavamo s ϕ(m), a funkciju ϕ zovemo Eulerova funkcija. Drugim rijecima, ϕ(m) je

broj brojeva u nizu 1, 2, ...,m koji su relativno prosti sa m.

Primitivni korijen

• Neka su a i n relativno prosti prirodni brojevi. Najmanji prirodni broj d sa

svojstvom da je ad ≡ 1 (mod n) zove se red od a modulo n. Jos se kaze da a

pripada eksponentu d modulo n.

• Ako je red od a modulo n jednak ϕ(n), onda se a zove primitivni korijen modulo

n.

• Ako postoji primitivni korijen modulo n, onda je grupa reduciranih ostataka

modulo n ciklicka.

• Ako je p prost broj, onda postoji tocno ϕ(p− 1) primitivnih korijena modulo p.

• Prethodna tvrdnja pokazuje da je grupa (Z∗p, ·p) ciklicka.

Kvadratni ostaci

Neka je p neparan prost broj. Za cijeli broj a kazemo da je kvadratni ostatak mo-

dulo p, skraceno QR, ako postoji cijeli broj b takav da je b2 ≡ a (mod p). Ukoliko

takav cijeli broj ne postoji, tada se a naziva nekvadratni ostatak modulo p, skraceno

QNR.

Eulerov kriterij

Neka je p neparan prost broj. Tada je(a

p

)≡ a

p−12 (mod p).

Page 12: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

9

Legendreov simbol

Neka je p neparan prosti broj. Legendreov simbol

(ap

)je jednak 1 ako je a kvadratni

ostatak modulo p, −1 ako a nije kvadratni ostatak modulo p, a 0 ako p|a. Ovu tvrdnju

mozemo zapisati kao:

(a

p

)=

1 za (a, p) = 1 i a je kvadratni ostatak modulo p;−1 za (a, p) = 1 i a nije kvadratni ostatak modulo p;0 za p|a.

Ciklicka grupa

Grupa G se naziva ciklickom ako postoji element g ∈ G, takav da G =⟨g⟩

=

{gn : ∀n ∈ Z}. Kako je svaka grupa generirana elementom grupe podgrupa te grupe,

pokazujuci da je jedina podgrupa grupe G koja sadrzi g sama G, pokazuje se da je G

ciklicka.

Skupovi Z∗p i Zp

Neka je p prost broj. Sa Z∗p skup svih nenul ostataka modulo p. Dakle, unutar

ovog skupa, svaki element ima svoj inverz. Slicno, Zp je skup svih ostataka modulo

p, a u ovom skupu ne postoji inverzni element svakog elementa primjerice, ukoliko de-

finiramo operaciju mnozenja modulo p, za 0 je ocigledno da nema svoj inverzni element.

Sukladno prethodnom, na analogan nacin definiramo i skup Z∗n kao skup svih nenul

ostataka modulo n, pri cemu je n prirodan broj.

Grupe (Z∗p, ·p) i (Zp, ·p)

Neka je p prost broj. Sa (Zp, ·p) oznacavamo multiplikativnu ciklicku grupu reda

n = p− 1, p ∈ N.

Sa (Z∗p, ·p) oznacavamo multiplikativnu ciklicku grupu reda n = p−1, p ∈ N, u ovoj

grupi svaki element ima svoj inverz.

Page 13: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

10

2.4. Osnovni pojmovi o sigurnosti sustava

U ovom potpoglavlju, radi lakseg snalazenja u daljnjem radu, navest cemo osnovne

pojmove o sigurnosti sustava.

Jednosmjerna funkcija (engl. one-way function)

Za funkciju f : X → Y kazemo da je jednosmjerna ukoliko:

1. za dani x ∈ X je racunski ”jednostavno” izracunati f(x),

2. te za ”gotovo svaki” y ∈ Y, je racunski ”tesko” pronaci neki x ∈ X tako da je

f(x) = y.

Razbijanje tanjura cini dobru analogiju s jednosmjernom funkcijom: tanjur je jednos-

tavno razbiti, ali je gotovo nemoguce ponovno ga sastaviti.

”Racunski jednostavno”

Za funkciju kazemo da je racunski ”jednostavna” ukoliko postoji algoritam koji moze

izracunati vrijednost funkcije za sve ulaze u polinomijalnom vremenu. Ukoliko takav

algoritam ne postoji, za izracun kazemo da je ”racunski tezak”.

Problem diskretnog logaritma (DLP)

Definirajmo problem diskretnog logaritma u podgrupi⟨α⟩

grupe (G, ·).

Neka je (G, ·) konacna ciklicka grupa, α, β ∈ G. Neka je i nenegativan cijeli broj.

Stavimo da je α0 = e, αi = α · ... ·α (i puta) i neka vrijedi α−i = (α−1)i. Neka je dalje:

H = {αi : i ∈ Z, i ≥ 0}

ciklicka grupa generirana elementom α. Problem diskretnog logaritma (DLP) sastoji

se u nalazenju jedinstvenog cijelog broja a takvog da je 0 ≤ a ≤ |H| − 1 i αa = β,

gdje je αa = α · α · ... · α (a puta). Ukoliko ovakav broj postoji, naziva se diskretnim

logaritmom od β po bazi α i oznacava se kao logα β.

Treba napomenuti da se ovaj problem smatra racunski teskim.

Primjer 1. Neka je G = Z∗19. Diskretni logaritam od 7 po bazi 2 je 6, jer je

26 ≡ 7 mod 19.

Page 14: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

11

Sigurnost bitova

Napomenuli smo da je racunanje diskretnog logaritma racunski tesko. Ideja sigur-

nosti bitova lezi tome da bez obzira sto problem diskretnog logaritma smatramo teskim,

to ne znaci da je svaki bit diskretnog logaritma racunski tezak.

Bitovi predstavljaju binarnu reprezentaciju diskretnog logaritma.

Jednostavni bit problema diskretnog logaritma

Neka je dan prost broj p i generator g grupe Z∗p, te element h iz Z∗p. Sa i oznacimo

indeks i-tog bita. Ukoliko se problem i-tog bita diskretnog logaritma logg(h), moze

rijesiti u polinomijalnom vremenu, tada se i naziva jednostavnim bitom. Za nulti bit

uvijek pretpostavljamo da je jednostavan i oznacavamo ga kao najmanje signifikan-

tan bit. Bitovi se numeriraju s desna na lijevo, pocevsi s nulom. Prvi bit s desna,

oznacavamo s indeksom nula i nazivamo najmanje signifikantnim bitom.

Semanticka sigurnost

Pretpostavimo da saljemo poruku te da na putu do primatelja imamo presretaca

poruke, nazovimo ga Oskar. Oskar je dobio nasu poruku, ali ne zna tajni kljuc. Cak i

ako Oskar ne uspije otkriti tajni kljuc jos uvijek moze saznati vise informacija o poruci

nego sto bismo zeljeli. Ako se zelimo uvjeriti da je nas kriptosustav siguran, trebamo

uzeti u obzir neke skromnije Oskarove ciljeve:

• Potpuni prekid

Presretac moze odrediti tajni kljuc pa stoga moze dekriptirati bilo koji sifrat

izmedu posiljatelja i primatelja koji koriste taj kljuc.

• Djelomicni prekid

Bez da mu je poznat kljuc, Oskar moze desifrirati poruku ili moze saznati odredenu

informaciju o otvorenom tekstu koristeci sifrat.

• Razlikovanje sifrata

Oskar moze razlikovati enkripcije dva otvorena teksta ili enkripciju otvorenog

teksta i slucajan niz simbola.

Page 15: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

12

Za kriptosustave s javnim kljucem u kojima presretac nije u mogucnosti u poli-

nomijalnom vremenu uociti razliku izmedu dva ili vise sifrata, kazemo da su postigli

semanticku sigurnost.

Postizanje semanticke sigurnosti nije lak posao jer se na ovaj nacin omogucuje zastita

od ciljeva koje presretac lako postize.

Oracle stroj

Oracle stroj je Turingov stroj (hipotetski uredaj koji manipulira simbolima na traci

prema tablici pravila) spojen na Oracle.

Oracle je ”crna kutija” (engl. ”black box”) koja ima mogucnost dati rjesenje za bilo

koji primjer danog problema.

U kontekstu kriptografije, Oracle je hipotetski algoritam koji moze odmah dati od-

govor na neki problem (problem odlucivanja ili problem racunanja vrijednosti funkcije).

Turingove redukcije

U teoriji racunarstva Turingova redukcija s problema A na problem B je redukcija

koja rjesava A, pretpostavljajuci da je rjesenje problema B vec poznato.

Ovo takoder mozemo shvatiti kao algoritam koji se koristi da bismo rijesili problem A

ako algoritam ima omogucenu podproceduru za rjesenje problema B.

Uvedimo oznake i formalnu definiciju:

Neka su dana dva skupa A,B ⊆ N. Za skup A kazemo da je Turing reducibilan na

B u oznaci

A ≤T B

ukoliko postoji Oracle stroj koji izracunava karakteristicnu funkciju od A kada se po-

krene s Oraclom B.

Prosirenje sifrata

U kriptografiji, prosirenje sifrata oznacava povecanje duzine poruke kada je enkrip-

tirana.

Page 16: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

13

3. Sigurnost kriptosustava s javnim kljucem

U potpoglavlju 2.1. objasnili smo sto su to javni i tajni kljucevi.

Ukoliko koristimo javni kljuc postupak je da posiljalac i primalac tajno izabiru kljuc

K, koji bi onda generirao funkcije za sifriranje eK i desifriranje dK . Pritom je dK ili

isti kao eK ili se iz njega lako dobije.

No, to je i njihov veliki nedostatak, buduci da prije sifriranja posiljalac i primalac

moraju biti u mogucnosti razmijeniti tajni kljuc preko nekog sigurnog komunikacij-

skog kanala (ili se osobno susresti). Stovise, oni bi morali cesto mijenjati kljuceve,

buduci da sifriranje vise poruka istim kljucem znatno smanjuje sigurnost. To moze biti

veliki problem ako npr. posiljalac i primalac zive u udaljenih mjestima i zele sigurno

komunicirati pomocu e-maila.

Godine 1976. Whitfield Diffie i Martin Hellman su ponudili jedno moguce rjesenje

problema razmjene kljuceva, zasnovano na cinjenici da je u nekim grupama potenciranje

puno jednostavnije od logaritmiranja.

Pretpostavimo da se osobe A i B zele dogovoriti o jednom tajnom slucajnom ele-

mentu u konacnoj ciklickoj grupi G, kojeg bi onda poslije mogli koristi kao kljuc za

sifriranje u nekom simetricnom kriptosustavu. Oni taj svoj dogovor moraju provesti

preko nekog nesigurnog komunikacijskog kanala, bez da su prethodno razmijenili bilo

kakvu informaciju. Jedina informacija koju imaju jest grupa G i njezin generator g.

Diffie-Hellmanov protokol za razmjenu kljuceva:

• Osoba A generira slucajan prirodan broj a ∈ {1, 2, ..., |G|−1}. Ona posalje osobi

B element ga.

• Osoba B generira slucajan prirodan broj b ∈ {1, 2, ..., |G| − 1} , te posalje osobi

A element gb.

• Osoba A izracuna (gb)a = gab.

• Osoba B izracuna (ga)b = gab.

Sada je njihov tajni kljuc K = gab.

Page 17: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

14

Njihov protivnik koji moze prisluskivati njihovu komunikaciju preko nesigurnog ko-

munikacijskog kanala zna sljedece podatke: G, g, ga, gb, te treba iz ovih podataka

izracunati gab. Ako protivnik iz poznavanja g i ga moze izracunati a (tj. ako moze

rijesiti problem diskretnog logaritma), onda i on moze pomocu a i gb izracunati gab .

Ideja javnog kljuca se sastoji u tome da se konstruiraju kriptosustavi kod kojih

bi iz poznavanja funkcije sifriranja eK bilo prakticki nemoguce (u nekom razumnom

vremenu) izracunati funkciju desifriranja dK . Tada bi funkcija eK mogla biti javna. U

provedbi ove ideje kljucnu ulogu igraju osobne jednosmjerne funkcije.

Kriptosustav s javnim kljucem se sastoji od dviju familija {eK} i {dK} funkcija za

sifriranje i desifriranje (ovdje K prolazi skupom svih mogucih korisnika) sa svojstvom:

• Za svaki K je dK inverz eK .

• Za svaki K je eK javan, ali je dK poznat samo osobi K.

• Za svaki K je eK osobna jednosmjerna funkcija.

eK se zove javni kljuc, a dK tajni ili osobni kljuc.

Ako posiljalac A zeli poslati poruku x primaocu B, onda B najprije posalje A svoj

javni kljuc eB. Potom A sifrira svoju poruku pomocu eB i posalje primaocu sifrat

y = eB(x). Konacno, B desifrira sifrat koristeci svoj tajni kljuc dB:

dB(y) = dB(eB(x)) = x.

Ukoliko grupa korisnika zeli komunicirati na ovaj nacin, situacija je jos jednostav-

nija. Naime, tada svi korisnici stave svoje javne kljuceve u neku javnu, svima dostupnu

datoteku. Sada B ne mora slati svoj javni kljuc osobi A, vec A jednostavno procita eB

iz datoteke.

Page 18: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

15

Slika 2. Shematski prikaz kriptiranja i dekriptiranja pi cemu koristimo javnu datoteku.

Ovdje se moze postaviti pitanje kako osoba B moze biti sigurna da joj je upravo

osoba A poslala poruku. Naime, svatko ima pristup funkciji eB, pa se moze lazno

predstaviti kao osoba A. Dakle, postavlja se pitanje vjerodostojnosti ili autenticnosti

poruke. To se moze rijesiti na sljedeci nacin:

• A doda svojoj poruci slucajan broj a od npr. 10 znamenaka.

• B generira svoj slucajan 10-znamenkasti broj b, te posalje osobi A poruku

eA(a+ b).

• A izracuna b pomocu formule b = dA(eA(a+ b))−a, te sada ponovo posalje svoju

prvu poruku tako da joj doda b, a isto to ucini i sa svakom iducom porukom koju

ce slati osobi B.

Neki kriptosustavi omogucavaju da korisnici digitalno potpisu svoju poruku. To je

vazno zbog toga sto tada A ne moze kasnije zanijekati da je upravo on poslao konkretnu

poruku. Pretpostavimo da je P = C. Tada A moze potpisati poruku x tako da osobi

B posalje sifrat z = dA(y) = dA(eB(x)). Kad B primi poruku za koju pretpostavlja da

mu je poslao A, on najprije primijeni javni kljuc eA, a potom svoj tajni kljuc dB:

dB(eA(z)) = dB(eA(dA(eB(x)))) = x.

Page 19: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

16

Sada B sigurno zna da je poruku poslao A, jer je samo on mogao upotrijebiti funk-

ciju dA. Da je umjesto te funkcije upotrijebljena neka treca funkcija dC , kao rezultat

ne bismo dobili smislenu poruku. Nadalje, ukoliko bi A kasnije zanijekao da je on

autor poruke, B bi mogao ”sucu” pokazati poruke x i z. Sudac bi provjerio da vrijedi

eB(x) = eA(z) i to bi bio dokaz da je A posiljalac.

Glavne prednosti kriptosustava s javnim kljucem u usporedbi sa simetricnima su:

• Nema potrebe za sigurnim komunikacijskim kanalom za razmjenu kljuceva,

• za komunikaciju grupe od N ljudi treba 2N kljuceva, za razliku od N(N − 1)/2

kljuceva kod simetricnog kriptosustava,

• mogucnost potpisa poruke.

U realnom svijetu, kriptografija javnog kljuca se ne koristi za sifriranje poruka, vec

za sifriranje kljuceva.

Osnovni razlog zasto se javni kljuc ne koristi za sifriranje poruka, jest da su algoritmi

s javnim kljucem puno sporiji (oko 1000 puta) od modernih simetricnih algoritama.

Drugi nedostatak kriptosustava s javnim kljucem jest da su slabi na napad ”oda-

brani otvoreni tekst”.

Ako je y = e(x), gdje otvoreni tekst moze poprimiti jednu od n vrijednosti, onda,

buduci je e javna, kriptoanaliticar treba samo sifrirati svih n mogucih otvorenih tek-

stova i rezultat usporediti s y. Tako nece otkriti tajni kljuc d, ali ce otkriti otvoreni

tekst x. Jasno, ovaj napad je primjenjiv ako je n mali (npr. ako je x neki iznos u

kunama za kojeg je razumno pretpostaviti da je manji od 1000000).

U modernoj kriptografiji, koja se koristi u komercijalnom svijetu (tipicna situacija

je kupnja preko interneta), pojavljuju se, uz klasicne, i neki sasvim novi problemi:

• POVJERLJIVOST (engl. confidentiality): Poruku koju osoba A salje osobi B ne

moze procitati nitko drugi.

• VJERODOSTOJNOST (engl. autenticity): Osoba B zna da je samo osoba A

mogla poslati poruku koju je ona upravo primila.

• NETAKNUTOST (engl. integrity): Osoba B zna da poruka koju je poslala osoba

A nije promijenjena prilikom slanja.

• NEPOBITNOST (engl. non-repudiation): Osoba A ne moze kasnije zanijekati

da je poslala poruku.

Page 20: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

17

Zbog sporosti kriptosustava s javnim kljucem, njihova je uporaba u 1. problemu

ogranicena na razmjenu kljuceva za simetricne sifre. Nadalje, ”digitalni potpisi”, koji

se koriste u rjesavanju 2., 3. i 4. problema, zahtijevaju uporabu kriptografije javnog

kljuca. U sljedecim potpoglavljima opisat cemo sigurnost u poznatim kriptosustavima

- RSA kriptosustavu i El Gamalovu kriptosustavu.

3.1. RSA kriptosustav

Prvi, a ujedno i najpopularniji i najsire koristeni kriptosustav s javnim kljucem je RSA

kriptosustav koji su izumili Ron Rivest, Adi Shamir i Len Adleman 1977. godine.

Njegova sigurnost je zasnovana na teskoci faktorizacije velikih prirodnih brojeva.

Slijedi precizna definicija RSA kriptosustava.

Definicija 2. Neka je n = pq, gdje su p i q prosti brojevi i Zn = {0, 1, 2, ..., n− 1}skup ostataka pri dijeljenju prirodnim brojem n. Neka je P = C = Zn, te

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

eK(x) = xb mod n

i

dK(y) = ya mod n,

(x, y ∈ Zn). Vrijednosti n i b su javne, a vrijednosti p, q i a su tajne.

Ovdje je ϕ(n) Eulerova funkcija, tj. broj brojeva u nizu 1, 2,..., n koji su relativno

prosti s n. U nasem konkretnom slucaju je

ϕ(n) = ϕ(pq) = (p− 1)(q − 1).

Pokazimo da su enkripcija i dekripcija inverzne operacije.

Buduci da je

ab ≡ 1 (mod ϕ(n)),

dobivamo

ab = tϕ(n) + 1.

Page 21: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

18

Pretpostavimo da je x ∈ Z∗n, tada imamo

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

≡ x(xϕ(n))t (mod n)

≡ x · 1t (mod n)

≡ x (mod n).

Ocito vrijedi da je dK(eK) = x pa su navedene operacije inverzne.

Primjer 1. Pretpostavimo da je Bob odabrao p = 101 i q = 113. tada je n = 11413 i

ϕ(n) = 100 · 112 = 11200.

Buduci da je 11200 = 26 ·52 ·7, cijeli broj b mozemo koristiti kao enkripcijski eksponent

onda i samo onda ukoliko b nije dijeljiv niti sa 2, niti sa 5 niti sa 7. U praksi, Bob ce

provjeriti da li su ϕ(n) i b relativno prosti. Pretpostavimo da je Bob odabrao b = 3533.

Tada

b−1 mod 11200 = 6597.

Dekripcijski eksponent tada iznosi a = 6597. Sada je (n, b) = (11413, 3533) nas javni

kljuc. Pretpostavimo da nam Alice zeli poslati poruku x = 9726. To znaci da treba

izracunati

eK(x) = 97263533 mod 11413 = 5761

i poslati sifrirani tekst putem komunikacijskog kanala. Kada Bob primi sifrat, koristi

tajni dekripcijski eksponent kako bi desifrirao poruku:

x = dK(y) = 57616597 mod 11413 = 9726.

Page 22: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

19

3.2. Sigurnost RSA kriptosustava

Sigurnost RSA kriptosustava lezi u pretpostavci da je funkcija eK(x) = xb (mod n)

jednosmjerna.

Dodatni podatak (engl. trapdoor) koji omogucava desifriranje je poznavanje faktori-

zacije n = pq, jer je tada lako izracunati ϕ(n) = ϕ(pq) = (p − 1)(q − 1), te dobiti

dekripcijski eksponent a, pomocu prosirenog Euklidovog algoritma.

Opisimo sada postupak kojim korisnik izabire parametre u RSA kriptosustavu malo

detaljnije.

1. Izabiremo tajno dva velika prosta broja p i q od oko 100 znamenaka, tako da q

ima nekoliko znamenki vise od p. To radimo tako da pomocu nekog generatora

slucajnih brojeva generiramo prirodan broj m s trazenim brojem znamenki, a

zatim koristenjem nekog testa za testiranje prostosti trazimo prvi prosti broj veci

ili jednak m. Po teoremu o distribuciji prostih brojeva, mozemo ocekivati da

cemo trebati testirati O(log m) brojeva dok ne nademo prvi prosti broj.

2. Izracunamo n = pq i ϕ(n) = (p − 1)(q − 1) = n + 1 − p − q. (Za to nam treba

O(log2n) operacija.)

3. Izaberemo na slucajan nacin broj b takav da je b < ϕ(n) i (ϕ(n), b) = 1. To

se moze napraviti slicno kao pod 1. Nakon toga tajno izracunamo a tako da je

ab ≡ 1 (mod ϕ(n)) , tj. a ≡ b−1 (mod ϕ(n)). To se radi pomocu Euklidovog

algoritma i za to nam treba O(log3n) operacija.

4. Stavimo kljuc za sifriranje (n, b) u javni direktorij.

Za efikasnost RSA kriptosustava, vazna je cinjenica da se modularno potenciranje moze

izvesti vrlo efikasno. Podsjetimo se kako se efikasno racuna eK(x) = xb (mod n). To

se radi tzv. metodom ”kvadriraj i mnozi”. Najprije b prikazemo u bazi 2:

b = b0 + 2 · b1 + ...+ 2s−1 · bs−1,

a potom se primjeni sljedeci algoritam:

Page 23: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

20

1. y = 1

2. za i = s− 1, ..., 1, 0

• y ≡ y2 (mod n)

• ako je bi = 1, onda y ≡ y · x (mod n)

Ocito je ukupan broj mnozenja ≥ 2s, pa je ukupan broj operacija O(log b · log2n).

To znaci da je ovaj algoritam polinomijalan.

Opcenito, za algoritam koji kao ulazne podatke ima prirodne brojeve x1,...,xm s k1,...,km

bitova respektivno, kazemo da je polinomijalan ako mu je broj operacija O(kd11 ·...·kdmm ),

tj. O((log x1)d1 · ... · log(xm)dm) za neke cijele brojeve d1,...,dm.

3.3. ElGamalov kriptosustav

ElGamalov kriptosustav zasnovan je na neefikasnosti izracunavanja diskretnog loga-

ritma. Zapocnimo s opisom ovog problema u okruzenju konacne multiplikativne grupe

(G, ·). Za element α ∈ G reda n, definiramo⟨α⟩

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

Lako je uociti da je⟨α⟩

podgrupa grupe G te da je ciklicka grupa reda n.

Za primjer se cesto uzima da je G mulitplikativna grupa konacnog polja Zp, pri cemu

je p prost broj i neka je α primitivni korijen modulo p. Za α kazemo da je primitivni

korijen modulo p, ukoliko je red od α modulo p jednak ϕ(p− 1).

U ovakvoj situaciji imako n = |⟨α⟩| = p − 1. Drugaciju situaciju imamo ukoliko uz-

memo da je α element reda q, gdje je q prost broj u multiplikativnoj grupi Z∗p (gdje je

p prost i vrijedi da je p− 1 ≡ 0 (mod q). Takav α mozemo dobiti ukoliko potenciramo

primitivni element iz Z∗p potencijom (p− 1)/q.

Page 24: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

21

Korisnost problema diskretnog logaritma u kriptografiji lezi u cinjenici da je nje-

govo izracunavanje (najvjerojatnije) tesko, ali inverzna operacija, potenciranje, se moze

vrlo efikasno izracunati metodom ”kvadriraj i mnozi” koju smo spomenuli u poglavlju

vezanom za RSA kriptosustav.

ElGamal je predlozio kriptosustav s javnim kljucem koji je baziran na teskoci racunanja

diskretnog logaritma u grupi (Z∗p, ·), pri cemu je G = Z∗p grupa svih nenul ostataka mo-

dulo p i α primitivni korijen modulo p, odnosno generator grupe Z∗p, a p dovoljno velik

prost broj. Uz oznake prethodne definicije vrijedi da je G = H.

Najbrzi poznati algoritmi za trazenje diskretnog logaritma u Z∗p zahtijevaju broj ope-

racija reda

e(O((log p)1/3·(log·log p)2/3)),

sto znaci da je problem diskretnog logaritma po kompleksnosti ekvivalentan problemu

faktorizacije.

Operacija enkripcije u ElGamalovom kriptosustav je randomizirana jer sifrat ovisi i

o otvorenom tekstu x i o slucajnoj vrijednosti k koju je odabrala Alice. Buduci da ce

postojati vise sifrata (tocnije p− 1), postoje enkripcije istog otvorenog teksta.

Enkripciju i dekripciju u ElGamalov kriptosustav mozemo prikazati sljedecim kora-

cima:

• Neka je p prost broj i α ∈ Z∗p. Vrijednosti p i α su javne. Svaki korisnik sustava

K odabire svoj tajni kljuc aK ∈ Z∗p−1 i obznanjuje vrijednost βK = αaK mod p.

• Alice salje Bobu tajnu poruku x ∈ Z∗p tako sto odabere slucajni broj k ∈ Zp−1 i

proslijeduje javnu poruku

eK(x, k) = (y1, y2) = (αk mod p, x · βkB mod p).

• Bob sada racuna:

dB(y1, y2) = y2(yaB1 )−1 mod p = x(αaB)k((αk)aB)−1 mod p = x mod p,

gdje je aB njegov tajni kljuc.

Page 25: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

22

Nakon sto smo opisali korake enkripcije i dekripcije pomocu ElGamalovog kripto-

sustava, prije primjera uvedimo formalnu definiciju ElGamalovog kriptosustava:

Definicija 3. ElGamalov kriptosustav s javnim kljucem u Z∗p

Neka je p prost broj i α ∈ Z∗p primitivni korijen modulo p. Neka je P = Z∗p, C = Z∗p×Z∗pi

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

Vrijednosti p, α i β su javne, a vrijednost a je tajna. Za K = (p, α, a, β) ∈ K i tajni

slucajni broj k ∈ Zp−1 definiramo:

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

gdje je y1 = αk (mod p) i y2 = x · βk (mod p). Za y1, y2 ∈ Z∗p definiramo

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

Potkrijepimo cijeli postupak prikladnim primjerima.

Primjer 3. Neka su se Alice i Bob dogovorili (javno) da koriste grupu Z31 i fiksirali

element α = 3 ove grupe.

Alice odabire svoj tajni kljuc aK = 7, dok Bob odabire tajni kljuc aB = 22.

Sada Alice salje Bobu element βA = 17 ≡ 37(mod31), a Bob odgovara s βB = 14(≡322 mod 31).

Alice Bobu zeli proslijediti tajnu informaciju x = 24, odabire neki slucajan broj k,

recimo k = 5 i racuna: y1 = 35 mod 31 = 26 i y2 = 24 · 145 mod 31 = 27.

Bob sada prima brojeve 26 i 27 i racuna:

27 · (2622)−1 mod 31 = 2751 mod 31 = 27 · 25 mod 31 = 24.

I tako je Bob sigurno primio informaciju x = 24.

Primijetimo da Bobu ni u kom slucaju nije potrebno da zna slucajni broj k = 5 niti

Alicein tajni kljuc aA = 7.

Page 26: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

23

3.4. Sigurnost u ElGamalovom kriptosustavu

Sigurnost ElGamalova kriptosustava temelji se na teskoci izracuna diskretnih logori-

tama i na Diffie-Helmanovom problemu. Analize temeljene na najboljim dostupnim

algoritmima za faktoriziranje i diskretnim logaritmima pokazuju da RSA i ElGamal

imaju slicne razine sigurnosti za jednake duljine kljuceva.

Glavni nedostatak ElGamalova kriptosustava je potreba za slucajnoscu i sporija brzina.

Jos jedan potencijalni nedostatak je da tijekom kriptiranja poruke dolazi do povecanja

poruke za faktor dva. Unatoc tome, takvo povecanje poruke je zanemarivo ako se krip-

tosustav koristi samo za izmjenu privatnih kljuceva.

Postoji nekoliko pristupa sigurnosti u ElGamalovom kriptosustavu:

Sigurnost bitova diskretnog logaritma

Definicija 4. Neka je p neparan prost broj, α generator grupe Z∗p, β ∈ Z∗p te i

cijeli broj takav da 1 ≤ i ≤ dlog2(p− 1)e, problem i-tog bita diskretnog logaritma je

problem odredivanja i-tog bita u binarnoj reprezentaciji diskretnog logaritma logα β.

Odnosno, ukoliko je (xn−1 · ... ·x1 ·x0)2 := logα β diskretni logaritam, zanima nas kolika

je vrijednost od xi koji predstavlja i-ti bit. Za i kazemo da je indeks bita xi. Indekse

numeriramo od nule.

Ovdje cemo sa Li(β), oznaciti i-ti najmanje signifikantni bit u binarnoj reprezen-

taciji logα β koji je potrebno izracunati.

Najprije cemo pokazati da je racunanje najmanje signifikantnog bita diskretnog lo-

garitma jednostavno. Drugim rijecima, ukoliko je i = 1, ovaj problem mozemo efikasno

rijesiti. To slijedi iz Eulerovog kriterija kada promatramo kvadratne ostatke modulo p,

gdje je p prost broj.

Definiramo preslikavanje

f : Z∗p → Z∗ps

f(x) = x2 mod p.

Sa QR(p) oznacimo skup kvadratnih ostataka modulo p:

QR(p) = {x2 mod p : x ∈ Z∗p}.

Page 27: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

24

Najprije, primjetimo da je f(x) = f(p− x). Nadalje, vrijedi

w2 ≡ x2 (mod p)

ako i samo ako

p|(w − x)(w + x) = w2 − x2,

tj. ako i samo ako je

w ≡ ±x (mod p).

Slijedi da je

|f−1(y)| = 2

za svaki y ∈ QR(p), pa je stoga

|QR(p)| = p− 1

2.

To znaci da su tocno polovica ostataka u Z∗p kvadratni ostaci, a polovica nekva-

dratni.

Pretpostavimo da je α primitivan korijen u Zp. Tada je αa ∈ QR(p) ako je a paran.

Buduci da su svih p−12

elemenata α0 mod p, α2 mod p, ... αp−3 mod p razliciti, slijedi

da je

QR(p) =

{α2i mod p : 0 ≤ i ≤ p− 3

2

}.

Stoga, β je kvadratni ostatak onda i samo onda ako je logα β paran, odnosno ako

i samo ako je L1(β) = 0. Prema Eulerovom kriteriju znamo da je β kvadratni ostatak

ako i samo ako je

βp−12 ≡ 1 (mod p).

Sljedecom formulom efikasno mozemo izracunati L1(β):

L1(β) =

{0, ako je β

p−12 ≡ 1 (mod p)

1, inace.

Page 28: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

25

Pretpostavimo da je p − 1 = 2st, gdje je t neparan. Moze se pokazati da je Li(β)

jednostavno izaracunati ukoliko je i ≤ s. S druge strane, racunanje Ls+1(β) je (vjero-

jatno) komplicirano, u smislu da bilo koji hipotetski algoritam (ili oracle) za racunanje

Ls+1(β) mozemo iskoristiti za odredivanje diskretnih logaritama u Zp.Dokazimo ovaj rezultat za slucaj s = 1. Preciznije, ukoliko je p ≡ 3 (mod 4) prost,

moze se pokazati kako bilo koji hipotetski algoritam za racunanje L2(β) mozemo isko-

ristiti kako bismo rijesili problem diskretnog logaritma u Zp.Prisjetimo se, ako je β kvadratni ostatak u Zp i p ≡ 3 (mod 4), onda su dva druga

korijena od β modulo p: ±β p+14 mod p.

Takoder, bitno je uociti da za bilo koji β 6= 0 vrijedi

L1(β) 6= L1(p− β)

ukoliko je p ≡ 3 (mod 4).

Pretpostavimo da je

αa ≡ β (mod p),

tada je

αa+p−12 ≡ −β (mod p).

Sada pretpostavimo da je β = αa, gdje je a nepoznat. Tada vrijedi ili

βp+14 ≡ α

a2 (mod p)

ili

−βp+14 ≡ α

a2 (mod p).

Mozemo odrediti koja je od ove dvije mogucnosti tocna ukoliko znamo vrijednost

od L2(β), buduci da je

L2(β) = L1(αa2 ).

Page 29: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

26

Ovu cinjenicu mozemo predociti sljedecim Algoritmom 1, pri cemu je L1(β) unapri-

jed izracunat koristenjem Eulerovog kriterija, a ORACLEL2(β) hipotetski algoritam

za izracunavanje L2(β):

Algoritam 2. L2ORACLE-DISCRETE-LOGARITHM(p, α, β)

external L1, ORACLEL2(β)

x0 ← L1(β)

β ← β/αx0 mod p

i← 1

while β 6= 1 do

xi ← ORACLEL2(β)

γ ← βp+14 mod p

if L1(γ) = xi then

β ← γ

else β ← p− γend if

β ← β/αxi mod p

i← i+ 1

end while

return (xi−1, xi−2, ..., x0).

Na kraju algoritma, xi predstavljaju bitove u binarnom prikazu od logα β odnosno

vrijedi

logα β =∑i≥0

xi2i.

Page 30: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

27

Semanticka sigurnost ElGamalovog kriptosustava

Prisjetimo se, da je α ∈ Z∗p primitivni korijen modulo p i β = αa mod p, pri cemu

je a tajni kljuc.

Neka je dan otvoreni tekst x i izabran slucajan broj k na temelju kojih smo izracunali

eK(x, k) = (y1, y2) gdje je:

y1 = αk mod p,

y2 = xβk mod p.

Kako bismo provjerili jesu li elementi iz Zp kvadratni ostaci modulo p, koristimo Eule-

rov kriterij (prethodno potpoglavlje). Takoder iz prethodnog potpoglavlja znamo da

je β kvadratni ostatak modulo p ako i samo ako je a paran.

Slicno, y1 je kvadratni ostatak modulo p ako i samo ako je k paran.

Mozemo odrediti parnost od a i od k pa stoga i parnost od ak. Prema tome, mozemo

odrediti da li je βk(= αak) kvadratni ostatak.

Pretpostavimo da imamo razlicite enkripcije od x1 i x2, pri cemu je x1 kvadratni

ostatak modulo p, dok x2 nije. Slijedi da je (y1, y2) enkripcija od x1 ako i samo ako su

βk i y2 oba kvadratni ostaci modulo p ili su oba nekvadratni ostaci modulo p.

Gornji napad ne funkcionira ukoliko je β kvadratni ostatak i ako se za svaki otvoreni

tekst x zahtjeva da bude kvadratni ostatak. Ukoliko vrijedi p = 2q+ 1, gdje je q prost,

tada mozemo pokazati da je restrikcija β, y1 i x na kvadratne ostatke ekvivalentna

implementaciji ElGamalovog kriptosustava u podgrupe kvadratnih ostataka modulo p

(sto je ciklicka podgrupa od Z∗p reda q).

Za ovu verziju ElGamalovog kriptosustava se pretpostavlja da je semanticki sigurna

ukoliko je problem diskretnog logaritma u Z∗p nije rjesiv u polinomijalnom vremenu.

Page 31: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

28

Diffie-Hellmanovi problemi

Upoznajmo dvije varijante tzv. Diffe-Hellman-ovih problema:

Problem 1. Diffe- Hellmanov problem izracuna (CDH)

Neka je (G, ·) multiplikativna ciklicka grupa generirana s α, α ∈ G reda n, a

β, γ ∈⟨α⟩. Potrebno je pronaci δ ∈

⟨α⟩

takav da je logα δ ≡ logα β · logα γ (mod n).

Problem 2. Diffe- Hellmanov problem odluke (DDH)

Neka je (G, ·) multiplikativna ciklicka grupa generirana s α, α ∈ G reda n, a β, γ, δ

∈⟨α⟩. Postoji li slucaj kada je logα δ ≡ logα β · logα γ (mod n) ?

Lako je vidjeti da postoje Turingove redukcije

DDH ≤T CDH

i

CDH ≤T DLP.

Prvu redukciju mozemo dokazati na sljedeci nacin:

Neka su dani α, β, γ i δ. Potrebno je pronaci vrijednost δ′

za koju vrijedi

logα δ′ ≡ logα β · logα γ (mod n),

pri cemu koristimo hipotetski algoritam koji rjesava CDH, nazovimo ga OracleCDH,

i provjerimo da li je δ′= δ.

Druga redukcija je takoder jednostavna:

Neka su dani α, β i γ. Koristimo diskretni logaritam kako bismo pronasli b = logα β

i c = logα γ. Tada izracunamo d = bc mod n i δ = αd.

Ove redukcije pokazuju da je problem DDH nerjesiv jednako snazna kao i pretpos-

tavka da problem diskretnog logaritma nije rjesiv.

Page 32: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

29

Nije tesko pokazati da je semanticka sigurnost ElGamalovog kriptosustava ekviva-

lentna nerjesivosti DDH, a ElGamalova dekripcija (bez da znamo tajni kljuc) ekviva-

lentna rjesavanju CDH.

Sada cemo pokazati da bilo koji algoritam koji rjesava CDH mozemo iskoristiti za

dekripciju ElGamalovog kriptosustava i obratno.

Pretpostavimo da je OracleCDH hipotetski algoritam za CDH i neka je (y1, y2) sifrat

za ElGamalov kriptosustav s javnim kljucevima α i β. Definiramo

δ = OracleCDH(α, β, y1)

te neka je

x = y2δ−1.

Lako je vidjeti da je x otvoreni tekst koji odgovara sifratu (y1, y2).

Obratno, pretpostavimo da je ORACLE-ELGamal-DECRYPT algoritam koji dekiptira

ElGamalov sifrat. Neka su α, β i γ dani kao u CHD-u. Definirajmo α i β kao javne

kljuceve za ElGamalov kriptosustav. Tada definirajmo y1 = γ i neka je y2 ∈⟨α⟩

slucajno izabran. Odredimo

x = ORACLE − ELGamal −DECRY PT (α, β, (y1, y2)),

sto je dekripcija od (y1, y2) te na kraju izracunamo

δ = y2x−1.

Tada je δ rjesenje problema CDH.

Page 33: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

30

4. Multicast sigurnost

Pojam multicast se odnosi na slanje poruke koja ima vise oznacenih primatelja, primje-

rice komunikacija 1 : N (engl. one - to - many) koja pretpostavlja da jedan posiljatelj

salje poruku vise primatelja, predstavlja suprotnost 1 : 1 (engl. one - to - one) komu-

nikaciji za koju vrijedi da jedan posiljalac salje poruku tocno jednom primatelju.

Ova situacija proizlazi iz konteksta mreze korisnika u kojoj je moguce spontano slati

poruke svim korisnicima. Nas ovdje nece zanimati mehanizmi koji to rade.

Moguca su dva cesta zahtjeva:

• Prijenos iz jednog izvora

U ovom modelu imamo jedan entitet koji se kao informacija prenosi mrezi (grupi)

korisnika.

Ilustrativan primjer kako ovakav prijenos funkcionira je koristenje MaxTv, BNet

ili neke druge slicne televizije. Ove televizije emitiraju svoje kanale tako da ih

gledatelji placaju i svi kanali mogu biti dostupni tako da korisnik dobije kljuc

(pin) za otkljucavanje odredenog kanala ili sadrzaja. Recimo da netko zeli gledati

Svjetsko nogometno prvenstvo i na mjesec dana kupi Sportski paket koji mu to

omogucuje. Kada se korisnik spremi u bazu korisnika koji su imali isti zahtjev,

generira se kljuc koji je vidljiv samo njemu, a koji ce putem daljinskog upravljaca

upisati kada budem otkljucavao Sportski paket. Nakon upisa pina, korisniku se

emiritaju sportski kanali. Kada korisnik vise ne zeli koristiti navedene programe,

brise se iz baze, te mu se putem algoritma za opoziv kljuca onemogucuje pin koji

mu je dozvoljavao gledanje sadrzaja. Ovakvo emitiranje informacija (ovdje je in-

formacija sportski sadrzaj), treba osigurati pouzdanost i autenticnost informacija.

• Virtualna konferencija

Pretpostavimo da unutar firme zelimo sastaviti manji tim koji ce raditi na nekom

projektu i pretpostavimo da taj tim zeli komunicirati pomocu nekog programa

za video konferenciju, primjerice putem Skypea. Ova grupa ce postojati samo za

vrijeme trajanja projekta, a takvu grupu nazivamo staticka grupa.

Ovdje je potrebno sudionicima omoguciti medusobno slanje informacija - vise

korisnika salje informaciju svim ostalim korisnicima (Alice i Bob zele poslati

informaciju Oskaru i Alenu). Takoder se i ovdje se zeli osigurati pouzdanost i

autenticnost prenesenih informacija.To se omogucuje privremenim kljucem koji

je poznat samo clanovima grupe. Ovisno o zahtjevima konferencije, kljuc moze,

ali i ne mora omoguciti autentifikaciju izvora tijekom konferencije. Anonimnost

se moze zahtjevati u nekim slucajevima, kao sto je tajno glasovanje. Takoder,

potrebno je osigurati da je posiljatelj informacija uvijek clan grupe.

Page 34: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

31

Na slici ispod mozemo vidjeti shematsku ilustraciju enkripcije za shemu trivijalne

enkripcije prijenosom - trivijalni BES (engl. broadcast encryption scheme).

Slika 3. Shema trivijalne enkripcije prijenosom.

U sljedecem potpoglavlju opisat cemo kriptografske sheme koje su korisne za gore

opisane situacije.

4.1. Shema trivijalne enkripcije prijenosom

U shemi enkripcije prijenosom (BES), autoritet od povjerenja - TA (engl. trusted aut-

hority) zeli prenijeti enkriptiranu poruku podskupu P mreze U koja ima n korisnika.

Skup P koji sadrzi primatelje prijenosa (poruke), obicno nazivamo privilegirani pod-

skup. Primjerice, televizija koja naplacuje gledanje svojih kanala, odredenoj grupi ko-

risnika emitira neki film (to je zapravo poruka), oznacimo taj prijenos s M. Taj film

se moze enkriptirati pomocu tajnog kljuca K kao y = eK(M).

Shema enkripcije prijenosom se koristi kako bi enkriptirala kljuc K na nacin da

samo clanovi skupa P mogu odrediti K. Uocimo, BES se koristi za enkripciju kljuceva,

a ne za enkripciju filmova zbog prosirenja poruke koje se obicno zahtjeva u BESu.

Korisnik Ui koji se ne nalazi u privilegiranom podskupu moze imati pristup prijenosu

poruke, ali ovo mu ne bi smjelo omoguciti da izracuna enkripciju kljuca K.

Privilegirani podskup P generalno nije poznat sve dok ne inicijaliziramo shemu. Za-

pravo, jednom kada se shema postavi, potencijalno se moze iskoristiti za prijenos poruka

u razlicite privilegirane podskupove. Ocito je da korisnik Ui ∈ P moze dekriptirati yi

kako bi dobio K, a potom iskoristiti K kako bi dekriptirao y i dobio M. Korisnik koji

nije u skupu P ne moze dekriptirati niti jedan yi pa stoga niti y.

Page 35: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

32

Prijenos bP je |P |-torka enkriptiranih kljuceva pa se za prosirenu poruku prijenosa

kaze da je jednaka |P |.

Trivijalni BES zahtjeva malu kolicinu memorije za pohranu (jer imamo samo jedan

kljuc po korisniku) i visok stupanj sigurnosti (jer niti jedan korisnik koji nije u skupu

P ne moze odrediti K).

Ipak, treba uzeti u obzir da trivijalni BES jako prosiruje poruku.

Sada cemo uvesti i formalnu definiciju trivijalne enkripcije prijenosom.

Definicija 5. Shema trivijalne enkripcije prijenosom

Predistribucija kljuca (faza postavljanja): TA daje tajni kljuc ki korisniku Ui, za

sve korisnike Ui ∈ U .

Enkripcija kljuca: Neka je P privilegirani kljuc. TA enkriptira K kljucem ki, za

svaki i takav da je Ui ∈ P.

Enkripcija poruke: PorukaM se enkriptira tajnim kljucemK, u oznaci y = eK(M).

Prijenos se sastoji od P , y i liste enkriptiranih kljuceva:

bP = (eki(K) : Ui ∈ P ).

Samu strukturu mogli smo vidjeti na Slici 3. U tom dijagramu privilegirani skup

je P = {Ui1 , ..., Ui|P |}.

4.2. Shema generalizirane enkripcije prijenosom

Ponovno pretpostavimo da je P privilegirani podskup skupa U privilegirani podskup.

Sa w oznacimo maksimalnu velicinu familije korisnika (w je sigurnosni parametar za

BES). Neka su r, v ∈ Z dodatni parametri za BES koje cemo objasniti u definiciji

sheme generalizirane enkripcije prijenosom.

Shema generalizirane enkripcije prijenosom (generalizirani BES) ukljucuje fazu pos-

tavljanja koja se sastoji od predistribucije kljuca koju slijede tri koraka. Koraci se

izvrsavaju svaki puta kada se poruka prenese.

Page 36: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

33

Generalizirani BES koristi tajno dijeljenje operacija koje nemamo u trivijalnom

BESu. Zapravo, kljuc K se podijeli na vise dijelova od kojih se svaki dio enkriptira, a

zatim se te enkripcije prenose.

Neka su sa 1 − KDP (engl. key distribution pattern) definirani kljucevi koji su

sigurni od uljeza. Konstruiramo v 1−KDPa.

Neka je M v× n matrica koja ima samo elemente {0, 1}. Matricu M konstruiramo

kako bismo vidjeli kojem korisniku pripada pojedini KDP. Navedenih v KDP - ova

oznacimo redom s F1,...,Fv.Za korisnika Uj kazemo da ima kljuc Fj ako i samo ako je M [i, j] = 1. To mozemo

zapisati i na sljedeci nacin:

korisnik(i) = {Uj : M [i, j] = 1, 1 ≤ i ≤ v},

shema(j) = {i : M [i, j] = 1, 1 ≤ j ≤ n}.

Navedimo algoritme za enkripciju i dekripciju generaliziranog BESa.

Algoritam enkripcije

Ulaz: Dan je kljuc K, privilegirani skup P i poruka M.

1. TA koristi algoritam za generiranje razdiobe (r, v) sheme za konstrukciju v raz-

dioba tajnog kljuca K, u oznaci s1,..., sv.

2. Za 1 ≤ i ≤ v, TA racuna grupni kljuc ki za podskup korisnika iz P ∩ korisnik(i)

u shemi Fi.

3. Za 1 ≤ i ≤ v, TA racuna bi = eKi(si).

4. TA racuna y = eK(M).

Izlaz: Enkriptirana poruka y i prijenos bP .

Sada cemo detaljnije objasniti postupak enkripcije generaliziranog BESa.

Enkripcija zahtjeva |shema(j)| = r, za svaki 1 ≤ j ≤ n primjerice, svakom korisniku

pridruzujemo tocno r od ukupno v shema. TA enkriptira kljuc enkripcije K kao sto je

opisano u prethodnom algoritmu.

Page 37: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

34

Dekripcija poruke koju je emitirao korisnik iz privilegiranog skupa P odvija se u

jednom smjeru. Na izlazu, skup P , y i bP = (b1, ..., bv) i korisnik Uj ∈ P izvode opera-

cije koje cemo opisati u sljedecem algoritmu.

Algoritam dekripcije

Input: Dan je privilegirani skup P , enkriptirana poruka y i prijenos bP .

1. Za svaki i ∈ shema(j), Uj konstruira grupni kljuc ki za skup korisnika iz P ∩korisnik(i) u shemi Fi.

2. Za svaki i ∈ sheme(j), Uj racuna si = dKi(bi).

3. Uj korisnik koristi algoritam za rekonstrukciju razdiobe (r, v) sheme kako bi

izracunao K iz r razdioba u skupu {si : i ∈ shema(j)}.

4. Korisnik Uj racuna M = dK(y).

Output: Dekriptirana poruka M.

Uvedimo definiciju sheme generalizirane enkripcije prijenosom.

Definicija 6. Shema generalizirane enkripcije prijenosom

Predistribucija kljuca - KPS (faza postavljanja): TA distribuira materijal za kljuceve

za v shema predistribucije kljuca korisnicima u mrezi U .

Tajno dijeljenje (razdioba): TA odabire tajni kljuc K i dijeli ga na v dijelova s1,..., sv

redom, nazovimo ih srazdiobama, koristeci (r, v) pocetnu shemu.

Dijeljenje enkripcije/dekripcije: Neka je P privilegirani skup. Za 1 ≤ i ≤ v, TA enkr-

ptira si kljucem ki iz i-tog KPSa, na nacin da su sljedeci uvjeti zadovoljeni:

• Svaki korisnik Uj ∈ P moze izracunati barem r od k1,..., kv kljuceva (buduci da

Uj moze dekriptirati r razdioba od K i potom rekonstruirati K)

• Bilo koja familija F , takva da je F ∩ P = ∅ i |F | ≤ w, moze izracunati najvise

r− 1 od k1,..., kv kljuceva (buduci da F moze dekriptirati najvise r− 1 razdioba

od K, pa zbog toga F ne moze dobiti nikakvu informaciju o K).

Page 38: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

35

Enkripcija poruke: Poruka M je enkriptirana tajnim kljucem K u oznaci y =

eK(M). Prijenos sadrzi privilegirani skup P , enkriptiranu poruku y i listu enkriptiranih

razdioba:

bP = (eki(si) : 1 ≤ i ≤ v).

Skup korisnik(i) oznacava korisnike s i-tim KPD-om, a skup shema(j) specificira KDP

koji pripada korisniku Uj. Proces enkripcije koji koristi generalizirani BES nalazi se na

slici ispod.

Slika 4. Shema generalizirane enkripcije prijenosom.

Ukoliko zelimo osigurati sigurnost generaliziranog BES - a, matrica incidencije M

mora zadovoljavati odredena svojstva.

Opcenito, matrica M mora biti v × n matrica incidencije u kojoj se nalazi tocno

po jedna jedinica u svakom stupcu. Neka je (U ,A) uredena n-torkom podskupova

u kojem su blokovi matrice M formirani po recima. To su zapravo samo podskupovi

skupa korisnik(i). Tada imamo tocno n tocaka i v blokova u uredenj n-torci podsku-

pova (U ,A). Svaka tocka koja predstavlja korisnika se nalazi u tocno r blokova (sheme).

Pretpostavimo da uredena n-torka podskupova ima svojstvo da se svaki par tocaka

pojavljuje u najvise λ blokova, pri cemu je λ neki neki pozitivan cijeli broj. Tada

familija F velicine w moze izracunati najvise λ(w2

)grupa kljuceva jer postoji

(w2

)2 -

podskupova od F od kojih svaki moze izracunati najveci λ iz grupe kljuceva. Stoga,

generalizirani BES je siguran od familije velicine w ako je r > λ(w2

).

Opcenito, zelimo konstruirati matricu incidencije tako da pripadna uredena n-torka

podskupova (U ,A) zadovoljava sljedeca svojstva:

Page 39: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

36

1. |U| = n, (jer postoji n tocaka),

2. |A| = v, (jer postoji v blokova),

3. svaka tocka se pojavljuje u tocno r blokova,

4. svaki par tocaka se pojavljuje u najvise λ blokova

5. r > λ(w2

).

Sustav skupova koji zadovoljavaju tvrdnje od 1 − 4 oznacit cemo s (n, v, r, λ) i

nazvati obrazac za distribuciju prenesenih (emitiranih) kljuceva, odnosno (n, v, r, λ)-

BKDP.

Teorem 1. Pretpostavimo da postoji (n, v, r, λ)-BKDP i pretpostavimo da je w

pozitivan cijeli broj takav da je(w2

)< r

λ. Tada postoji shema za enkripciju prijenosom

za mrezu od n korisnika koja zadovoljava sljedeca svojstva:

1. Enkriptirana poruka je sigurna od familije korisnika velicine w,

2. prosirenje poruke je jednako v i

3. od svakog korisnika se zahtjeva mogucnost pohrane najvise r+λ(n−1) kljuceva.

Dokaz. Neka je (U ,A) (n, v, r, λ)-BKDP. Jedini dio teorema koji nismo prethodno

diskutirali je mogucnost pohrane koja se zahtjeva od pojedinog korisnika. Neka je Uj

korisnik. Za svaki i ∈ shema(j), korisnik Uj prima kljuceve iz Fi. Zapravo, korisniku

Uj je dano tocno |korisnik(i)| kljuceva iz sheme Fi za i ∈ shema(j).

Ukupan broj kljuceva koji prima korisnik Uj, u terminima uredene n-torke podskupova

(U ,A), je ∑{i:i∈shema(j)}

|korisnik(i)|.

Svojstvo 3 sustava skupa implicira da je∑{i:i∈shema(j)}

1 = r.

Page 40: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

37

Uocimo da svojstva od 1-4 impliciraju da∑{i:i∈shema(j)}

(|korisnik(i)| − 1) ≤ λ(n− 1).

Kombinirajuci dvije prethodne relacije, dobivamo∑{i:i∈shema(j)}

|korisnik(i)| ≤ r + λ(n− 1),

sto je i trebalo dokazati.

Page 41: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

38

5. Zastita autorskih prava

Razvojem internetskog doba, zastita autorskih prava je postala vrlo izazovna i zah-

tjevna zbog dostupnosti sadrzaja i osoba koje mogu taj sadrzaj ilegalno distributirati,

primjerice putem torrent posluzitelja.

Digitalni sadrzaj moguce je lako kopirati i prenositi putem racunalnih mreza. Prije

prijenosa, sadrzaj se moze enkriptirati (BES enkripcija stiti enkriptirani sadrzaj). Ne-

autorizirani korisnici ne mogu dekriptirati takav sadrzaj.

Prije nego li bude razumljiv korisniku kojem je namijenjen, sadrzaj je potrebno dekrip-

tirati. Korisnici koji ga mogu dekriptirati su autorizirani korisnici. Nakon dekripcije,

sadrzaj se moze kopirati.

Ogranicenu zastitu mozemo postici koristeci algoritme (i metode kodiranja) koji

omogucuju pronalazak autoriziranog korisnika (engl. tracing). Ovakav pristup sprijecava

neautoriziranog korisnika da kopira i dalje distribuira podatke.

U ovom poglavlju objasnit cemo nekoliko tipova ”kodova” koji se mogu iskoristiti

kako bi sadrzaj dospio autoriziranom korisniku. Prije nego objasnimo navedeno, spo-

menut cemo dva cesta primjera narusavanja autorskih prava:

• Redistribucija ilegalnog sadrzaja

Kao sto smo vec spomenuli, kada jednom stigne do autoriziranog korisnika, en-

kriptirani sadrzaj je nepromjenjivo dekriptiran. Dekriptirani sadrzaj se tada moze

kopirati i proslijediti drugima, primjerice ilegalnim piratskim prijenosom (torrent

posluzitelj).

• Redistribucija ilegalnog kljuca

Pretpostavimo li da je sadrzaj enkriptiran, tada mora postojati mehanizam koji

krajnjem korisniku omogucuje dekripciju tog sadrzaja. Kljucevi koristeni za de-

kripciju sadrzaja se mogu kopirati i distribuirati drugim korisnicima. Alterna-

tivno, kljucevi se mogu i kombinirati tako da se na taj nacin dobije novi piratski

dekoder, koji se zatim moze koristiti za ilegalnu dekripciju sadrzaja.

Page 42: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

39

5.1. Otisak prsta

Pretpostavimo da svaka kopija nekog digitalnog podatka, D, sadrzi jedinstveni otisak

prsta, F. Primjerice u jednom megabajtu nekog binarnog podatka otisak prsta moze

sadrzavati stotinu ”posebnih” bitova ”skrivenih” u podatku na nacin da ih se tesko

moze razotkriti.

Ponekad se proces ugradnje skrivenih podataka za identifikaciju zove vodeni zig (engl.

watrmarking).

U ovom scenariju policijski ured posjeduje bazu podataka koja prati razlicite otiske

prstiju, kao i prave vlasnike odgovarajucih kopija podataka D. Bilo koja odgovarajuca

kopija se moze upariti s vlasnikom.

Nazalost, u ovom pristupu postoje neki ozbiljni propusti. Primjerice, ukoliko se otisak

prsta lako prepoznaje, tada se on moze modificirati ili unistiti i na taj nacin one-

moguciti uparivanje otiska prsta s odgovarajucim korisnikom.

Druga prijetnja je da familija korisnika moze prepoznati otiske prstiju ili dijelove oti-

saka - cak i ako pojedini korisnik to ne moze - i kreirati novu kopiju podatka s unistenim

otiskom.

Sada cemo dati precizniji matematicki model koji ce nam olaksati proucavanje ovog

problema.

Pretpostavimo da svaka kopija podataka ima sadrzaj C velicine L bitova i l-bitni

otisak prsta F, pa imamo podatak D = (C,F ). Svaki podatak je reprezentiran nekim

fiksnim alfabetom. Primjerice, binarni podaci koriste {0, 1} alfabet. Pretpostavit cemo

da sve kopije podataka imaju isti sadrzaj, ali razlicite otiske prstiju, pa stoga imamo

D1 = (C,F1), D2 = (C,F2) itd. Nadalje, pretpostavit cemo da se bitovi otiska pr-

sta uvijek pojavljuju u istim (tajnim) pozicijama u svim kopijama podataka (bitovi

bi1 ,...,bil su bitovi otiska prsta).

Termin bitovi otiska prsta oznacava pozicije u kojima se otisci pojavljuju, a termin

bitovi sugerira da podaci imaju binarnu formu iako cemo mi ovaj termin koristiti i ako

podaci nisu definirani nad binarnim alfabetom.

Page 43: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

40

Problem otiska prstiju se obicno proucava uzimajuci u obzir pretpostavku marki-

ranja (engl. marking assumption). Ta pretpostavka glasi:

Neka je dan odredeni broj kopija podataka, recimo D1,...,Dw. Jedini bitovi koje

familija korisnika moze identificirati kao bitove otiska prsta su oni bitovi b takvi da

Di[b] 6= Dj[b], za neke i, j.

Drugim rijecima, pretpostavljamo da su otisci dovoljno dobro skriveni da ih familija

korisnika ne moze identificirati kao bit otiska prsta, osim ukoliko ne posjeduju dvije

kopije podataka gdje doticni bit ima razlicite vrijednosti. Na slici ispod mozemo vidjeti

ideju iza pretpostavke markiranja.

Slika 5. Primjer markiranja crnom i bijelom bojom.

Na Slici 5. vidimo dvije mreze unutar kojih se izmjenjuju crna i bijela boja, svaki

kvadratic je jedan piksel. Moze se provjeriti da postoje tocno tri piksela u kojima se ove

dvije mreze razlikuju. Prema pretpostavci o markiranju, samo se ta tri piksela mogu

prepoznati kao bitovi otiska prsta.

Razmotrimo vrste napada koje familija korisnika moze izvrsiti, uzimajuci u obzir

da vrijede pretpostavke o markiranju.

Oznacavanje markiranjem implicira da pravi sadrzaj nije relevantan i problem se

reducira na proucavanje kombinatornih svojstava skupa otisaka prstiju. Kao sto je opi-

sano prethodno, neka je dano w kopija podataka i neka neki bitovi mogu biti identifici-

rani kao bitovi otiska prsta. Tada se moze konstruirati nova ”piratska” kopija podataka

postavljajuci vrijednosti identificiranih bitova otiska s jedne od kopija na proizvoljan

nacin. Rezultat toga su podaci D′ = (C,F ′), pri cemu je F ′ novi kreirani hibridni otisak

prsta.

Page 44: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

41

Osnovno pitanje je da li se hibridni otisak moze ”pratiti” odnosno doci do autorizi-

ranog korisnika, ukoliko su otisci prsta konstruirani na odgovarajuci nacin. Sada cemo

precizno definirati hibridni otisak prsta.

Definicija 7. Neka je (l, n, q)-kod podskup C ⊆ Ql takav da je |Q| = q i |C| = n.

To znaci da imamo n kodnih rijeci, od kojih je svaka l-torka elemenata iz alfabeta Q.

Kodna rijec je isto sto i otisak prsta. Neka je C0 ⊆ C (C0 je podskup skupa kodnih

rijeci.) Definirajmo desc(C0) tako da sadrzi sve l-torke f = (f1, ..., fl) takve da, za svaki

1 ≤ i ≤ l, postoji kodna rijec c = (c1, ..., cl) ∈ C0 takva da je fi = ci. Skup desc(C0) se

sastoji od svih hibridnih otisaka prstiju koji se mogu konstruirati od otisaka prstiju iz

C0; to nazivamo kod potomak od C0 (engl. descendant code).

Primjer 4. Pretpostavimo da je

C0 = {(1, 1, 2), (2, 3, 2)}.

U danom skupu vidimo da prva koordinata mora biti 1 ili 2, druga koordinata mora

biti 1 ili 3, a posljednja 2. Stoga, nije tesko vidjeti da je

desc({(1, 1, 2), (2, 3, 2)}) = {(1, 1, 2), (2, 3, 2), (1, 3, 2), (2, 1, 2)}.

U ovom primjeru desc(C0) se sastoji od dvije originalne kodne rijeci i dva nova hibridna

otiska prstiju.

Za cijeli broj w ≥ 2 kod w-potomak od C, u oznaci descw(C0), se sastoji od sljedeceg

skupa l-torki:

descw(C0) =⋃

C0⊆C,C≤|w|

desc(C0).

Kod w-potomak se sastoji od svih hibridnih otisaka prstiju koji moze napraviti fa-

milija korisnika velicine najvise w.

Page 45: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

42

5.2. Identificiranje familije korisnika hibridnog otiska prsta(Identifable Parent Property - IPP)

Sada cemo opisati ”inverzni” postupak, odnosno pokusati otkriti familiju korisnika koja

je konstruirala hibridni otisak prsta.

Pretpostavimo da je f ∈ descw(C). Definirajmo skup sumnjive (engl. suspected)

familije korisnika za f :

suspw(f) = {C0 ⊆ C : |C0| ≤ w, f ∈ desc(C0)}.

Skup suspw(f) se sastoji od svih familija korisnika velicine najvise w koje su mogle

kreirati hibridni otisak prsta f prema postupku opisanom u prethodnom potpoglavlju.

Idealno, suspw(f) bi sadrzavao jedan jedini skup odnosno samo jednu familiju koris-

nika. U ovom slucaju trebali bismo imati nekakav dokaz da je taj podskup zapravo

kreirao hibridni otisak prsta.

Cak i ako se skup suspw(f) sastoji od vise od jednog skupa, i dalje cemo moci izvuci

neke korisne informacije promatrajuci skupove u suspw(f). Primjerice, pretpostavimo

da postoji kodna rijec c ∈ C takva da je c ∈ C0 za svaki C0 ∈ suspw(f). Bilo koja takva

kodna rijec se moze identificirati kao kriva (pod pretpostavkom da je familija velicine

najvise w), cak i ako nismo u mogucnosti identificirati cijeli podskup krivih kodnih

rijeci.

Prethodno spomenuto svojstvo se moze zapisati u obliku:

⋂C0∈suspw(f)

C0 6= ∅. (1)

Kazemo da je C w-IPP kod pod uvjetom da je (1) zadovoljeno za svaki f ∈ descw(C).Nadalje, u w-IPP kodu, ukoliko vrijedi

c ∈⋂

C0∈suspw(f)

C0,

tada se c naziva identificirani roditelj od f.

Page 46: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

43

Primjer 5. Neka je (3, 6, 3) kod i uzmimo u obzir familiju velicine najvise dva:

c1 = (0, 1, 1), c2 = (1, 0, 1), c3 = (1, 1, 0),

c4 = (2, 0, 2), c4 = (1, 0, 2), c6 = (2, 1, 0).

Neka je hibridni otisak prsta f = (1, 1, 1). Nije tesko provjeriti da je

susp2(f1) = {{1, 2}, {1, 3}, {2, 3}, {1, 5}, {2, 6}}.

Hibridni otisak prsta f1 narusava svojstvo (1), pa kod nije 2-IPP kod.

S druge strane, neka je f2 = (0, 1, 2). Uocimo da je

susp2 = {{1, 4}, {1, 5}}.

Svojstvo (1) je sada zadovoljeno za hibridni otisak prsta f2. Stoga, c1 je identificirani

roditelj od f2 (pod pretpostavkom da je familija velicine najvise dva kreirala f2), jer je

{1, 4} ∩ {1, 5} = {1}.

Page 47: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

44

6. Zakljucak

Sigurna razmjena informacija bila je nit vodilja u mnogim povijesnim dogadajima, ali

isto tako i u modernom svijetu. Pocetci kriptografije i zastite poruka spominju se vec

u razdoblju Egipcana i Indijaca, koji su sifrirali poruke prije vise od 3000 godina.

Napretkom civilizacije kriptografija je dosegnula vrlo visok stupanj razvijenosti te

ima primjenu u modernoj tehnologiji od cega posebno treba navesti zastitu osobnih

podataka i autorskih prava. Krsenje autorskih prava je postala uobicajena pojava pa

se cesto moze cuti izreka ”Sve sto na svijetu postoji (knjige, glazba,filmovi,...), dos-

tupno je na Internetu!”. Ilelegalna distribucija raznih sadrzaja moguca je putem torrent

posluzitelja ili pak poveznica (engl. link) koje omogucuju ”skidanje” sadrzaja na osobno

racunalo.

Pitanje sigurnosti je goruce pitanje zbog sve vece pojave programa za razbijanje lo-

zinki kao sto su: Crack i John the Ripper. Drugi veliki problem su zakonska ogranicenja.

U SAD-u se, recimo, kriptografija smatra oruzjem. Do 1999. u Francuskoj je bila

znatno ogranicena upotreba kriptografije. Od ostalih drzava sa strogim zakonskim

ogranicenjima upotrebe kriptografije prednjaci Kina ispred Bjelorusije, Mongolije, Ru-

sije, Pakistana, Tunisa i drugih.

Najbolja praksa koju korisnik moderne tehnologije moze napraviti je davati sto

manje informacija o sebi putem drustvenih mreza te nikako slati bitne podatke putem

elektronicke poste (kao npr pinovi, lozinke i sl), a svakako je pozeljna i upotreba an-

tivirusni programa. Ovaj nacin nece korisnicima dati potpunu zastitu, ali ce svakako

umanjiti rizik narusavanja privatnosti.

Page 48: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

45

Literatura

[1] A. Dujjela, M. Maretic, Kriptografija, Element, Zagreb, 2007.

[2] H. Kraljevic, Materijali za predavanja iz kolegija Algebra, Odjel za matematiku,

Sveuciliste u Osijeku, 2008.: http://web.math.pmf.unizg.hr/ ∼ hrk/nastava/2007-

08/

[3] R.R. McKnight: Individual Bit Security of the Discrete Logarithm: Theory and

Implementation Using Oracles, Master Thesis, Mathematisches Institut der Uni-

verzitat Munchen, 2007, 44-46

[4] D. R. Stinson, Cryptography Theory and practice (3ed), Chapman and Hall/CRC,

Boca Raton, 2006.

Page 49: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

46

7. Sazetak.

U ovom diplomskom radu opisat cemo kako funkcionira sigurnost u kriptografiji. Naj-

prije cemo definirati neke osnovne pojmove koji su bitni za daljnji sadrzaj rada. Spome-

nut cemo dva poznata kriptosustava - RSA i ElGamalov kriptosustav, koje ubrajamo

u skupinu asimetricnih kriptosustava te reci nesto o njihovoj sigurnosti.

Nadalje, reci cemo nesto o sigurnosti u modernoj kriptografiji, multicast sigurnosti i

zastiti autorskih prava. U multicast sigurnosti vidjet cemo kako se postize sigurnost

mreze korisnika. Definirat cemo trivijalnu i generaliziranu enkripciju prijenosom (BES).

U poglavlju o zastiti autorskih prava objasnit cemo sto je to otisak prstiju te IPP.

Page 50: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

47

8. Title and summary

In this work we will show how does cryptography security work. First, we will define

some basic concepts of cryptography which are important for this work. We will also

mention two well known cryptosystems - RSA and ElGamal cryptosystem which are a

part of asimmetrycal cryptosystems and tell something about their security.

Furthmore, we will explain security in modern cryptography, multicast security and

copyright protection. In multicast security we will explain how to achieve user network

security. We will define trivial and general broadcast encryption security (BES). In

section about copyright protection, we will explain fingerprinting and IPP.

Page 51: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/MEš10.pdfKriptologija je pak grana znanosti koja obuhva ca kriptogra ju i kriptoanalizu. Kriptografski

48

9. Zivotopis

Rodena sam 3.5.1990. godine u Osijeku. Osnovnoskolsko obrazovanje sam zavrsila 2008.

godine u Osnovnoj skoli Matije Petra Katancica u Valpovu, nakon cega upisujem Opcu

gimnaziju u Valpovu. Tijekom osnovne i srednje skole sudjelovala sam na opcinskim i

zupanijskim natjecanjima iz matematike, fizike,biologije i kemije. 2008. godine upisala

sam preddiplomski studij matematike na Odjelu za matematiku Sveucilista J.J. Stros-

smayera u Osijeku. Uspjesno zavrsavam studij 2013. godine uz zavrsni rad Aritmeticke

funkcije pod mentorstvom doc.dr.sc. Ivana Matica. Nakon zavrsenog preddiplomskog

studija, upisala sam diplomski studij matematike, smjer matematika i racunarstvo.