Sveuciliste J. J. Strossmayera u Osijeku
Odjel za matematiku
Diplomski studij matematike i racunarstva
Maja Mesko
Sigurnost u kriptografiji
Diplomski rad
Osijek, 2015.
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.
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
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.
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.
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 .
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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}.
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.
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 ).
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.
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.
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.
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.
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.
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.
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.
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.
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).
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:
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.
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.
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.
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.
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.
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.
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.
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}.
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.
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.
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.
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.
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.