sonja puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/pua02.pdf · 1 1. uvod ljudi su oduvijek...

42
Sveuˇ ciliˇ ste J.J. Strossmayera u Osijeku Odjel za matematiku Sonja Puaˇ c Kongruencije i kriptografija Diplomski rad Osijek, 2011.

Upload: others

Post on 09-Mar-2020

6 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

Sveuciliste J.J. Strossmayera u Osijeku

Odjel za matematiku

Sonja Puac

Kongruencije i kriptografija

Diplomski rad

Osijek, 2011.

Page 2: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

Sveuciliste J.J. Strossmayera u Osijeku

Odjel za matematiku

Sonja Puac

Kongruencije i kriptografija

Diplomski rad

Mentor: Doc. dr. sc. Ivan Matic

Osijek, 2011.

Page 3: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

Sadrzaj

1. Uvod 1

2. Kongruencije 2

2.1. Svojstva kongruencija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3. Klasicna kriptografija 9

3.1. Osnovni pojmovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1.1. Podjela kriptosustava . . . . . . . . . . . . . . . . . . . . . . . . 10

3.1.2. Razine kriptoanalitickih napada . . . . . . . . . . . . . . . . . . 11

3.2. Povijest kriptografije . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.1. Stari vijek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.2. Srednji vijek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2.3. Razdoblje 16. st. - 19. st. . . . . . . . . . . . . . . . . . . . . . . 14

3.2.4. Naprave za sifriranje . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.5. Moderna kriptografija . . . . . . . . . . . . . . . . . . . . . . . 17

3.3. Supstitucijske sifre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.3.1. Cezarova sifra . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.3.2. Afina sifra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.3.3. Kriptoanaliza supstitucijske sifre . . . . . . . . . . . . . . . . . 22

3.4. Vigenereova sifra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.4.1. Kriptoanaliza Vigenereove sifre . . . . . . . . . . . . . . . . . . 27

4. Kriptografija javnog kljuca 31

4.1. RSA kriptosustav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5. Zakljucak 35

Page 4: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

1

1. Uvod

Ljudi su oduvijek zeljeli sigurno komunicirati, ali su bili svjesni da, putujuci

nesigurnim komunikacijskim kanalima, njihove poruke cesto mogu biti prisluskivane.

Bez obzira koji medij komunikacije koristili, prisluskivanje je tesko sprijeciti pa tko god

zeli poslati poruku treba zastiti njezin sadrzaj na neki nacin. Jedan od nacina zastite

je upotreba kriptografije, znanstvene discipline koja se bavi proucavanjem metoda za

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

Cilj ovog rada je prikazati primjenu kongruencija u kriptografiji pa su u drugom

poglavlju dana osnovna svojstva kongruencija. U trecem poglavlju govorimo opcenito

o kriptografiji kao znanstvenoj disciplini, iznosimo povijesne cinjenice o kriptografiji i

napravama koje su se koristile za sifriranje. Takoder je opisana klasicna kriptografija

te su obradene specijalni slucajevi supstitucijske sifre kao i Vigenereova sifra. Na pri-

mjerima je pokazano sifriranje i desifriranje pomocu ovih sifri. U cetvrtom poglavlju

je opisana kriptografija javnog kljuca pomocu RSA kriptosustava. Na primjeru je

pokazano sifriranje ovim kriptosustavom.

Page 5: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

2

2. Kongruencije

Teorija kongruencija bavi se rjesavanjem razlicitih problema vezanih uz djeljivosti

brojeva. Pojam kongruencije prvi je uveo 1801. godine Carl Friedrich Gauss1 u svojem

djelu Aritmeticka istrazivanja. On je takoder uveo i oznaku za kongruenciju koju i

danas koristimo.

Definicija 2.1 Neka su a, b,m 6= 0 cijeli brojevi. Ako m dijeli razliku a − b, onda

kazemo da je a kongruentan b modulo m i pisemo a ≡ b (mod m). U protivnom,

kazemo da a nije kongruentan b modulo m i pisemo a 6≡ b (mod m).

Primjedba 2.1 Zapis a ≡ b (mod m) je ekvivalentan zapisu m | (a − b), odnosno

zapisu a − b = mk, k ∈ Z.

Primjer 2.1 Navedimo nekoliko primjera kongruencija.

a) 52 ≡ 28 (mod 6), jer je 52 − 28 = 24 = 6 · 4, odnosno 6 | 24.

b) 10 ≡ −2 (mod 3), jer je 10 − (−2) = 12 = 3 · 4, odnosno 3 | 12.

c) −6 ≡ 14 (mod 5), jer je −6 − 14 = −20 = 5 · 4, odnosno 5 | −20.

d) 100 ≡ 0 (mod 25), jer je 100 − 0 = 100 = 25 · 4, odnosno 25 | 100.

e) 0 ≡ −30 (mod − 6), jer je 0 − (−30) = 30 = −6 · 5, odnosno −6 | 30.

Napomena 2.1 Buduci da

m | (a − b) ⇐⇒ −m | (a − b),

dovoljno je promatrati samo pozitivne module m, pa cemo ubuduce pretpostaviti m ∈ N.

2.1. Svojstva kongruencija

Nacin na koji zapisujemo kongruencije uvelike podsjeca na jednakosti, pa cemo

pokazati da jednakosti i kongruencije imaju mnoga zajednicka svojstva. Relacija ”biti

jednak” je relacija ekvivalencije. Relacija ”biti kongruentan modulo m” je takoder

relacija ekvivalencije, i to na skupu Z te o tome govori sljedeca propozicija.

Propozicija 2.1 Za a, b, c ∈ Z uvijek vrijede sljedeca svojstva:

1. Refleksivnost: a ≡ a (mod m).

2. Simetricnost: Ako je a ≡ b (mod m), onda je b ≡ a (mod m).

3. Tranzitivnost: Ako je a ≡ b (mod m) i b ≡ c (mod m), onda je a ≡ c (mod m).

1Njemacki matematicar (1777.-1855.) poznat po sirokom doprinosu matematici, geometriji, fizici,atronomiji, optici i geodeziji.

Page 6: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

3

Dokaz :

1. Iz a − a = 0 = 0 · m slijedi a ≡ a (mod m).

2. Ako je a ≡ b (mod m), postoji k ∈ Z takav da je a−b = mk. Sada je b−a = m·(−k),

pa je b ≡ a (mod m).

3. Iz a ≡ b (mod m) i b ≡ c (mod m) slijedi da postoje k, l ∈ Z takvi da je a−b = mk

i b− c = ml. Zbrajanjem ovih dviju jednakosti dobivamo a− c = m(k + l), sto povlaci

a ≡ c (mod m). 2

Jednakosti mozemo zbrajati, oduzimati i mnoziti nekim brojem. Analogna svojstva

vrijede i za kongruencije te su dana u sljedecoj propoziciji.

Propozicija 2.2 Neka su a, b, c, d, k ∈ Z. Ako je a ≡ b (mod m) i c ≡ d (mod m),

onda vrijedi

a + c ≡ b + d (mod m),

a − c ≡ b − d (mod m),

ac ≡ bd (mod m),

ka ≡ kb (mod m).

Dokaz :

Ako je a ≡ b (mod m) i c ≡ d (mod m), postoje k, l ∈ Z takvi da je a − b = mk i

c − d = ml. Zbrajanjem, odnosno oduzimanjem ovih dviju jednakosti dobivamo

(a + c) − (b + d) = m(k + l)

i

(a − c) − (b − d) = m(k − l),

pa je

a + c ≡ b + d (mod m)

i

a − c ≡ b − d (mod m).

Kongruenciju ac ≡ bd (mod m) dokazujemo koristeci cinjenicu da je −bc + bc = 0 pa

imamo

ac − bd = ac + 0 − bd

= ac + (−bc + bc) − bd

= c(a− b) + b(c − d)

= cmk + bml

= m(ck + bl).

Dakle, ac ≡ bd (mod m). Za c = d = k dobivamo i kongruenciju ka ≡ kb (mod m). 2

Page 7: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

4

Primjedba 2.2 Zbrajanje, oduzimanje i mnozenje kongruencija je moguce samo ako

te kongruencije promatramo modulo isti broj, koji pri tome ostaje nepromijenjen.

Primjer 2.2 Zbrojite, oduzmite i pomnozite kongruencije

20 ≡ 13 (mod 7), −14 ≡ 7 (mod 7), 13 ≡ −1 (mod 7).

Rjesenje:

a) Zbrajanjem zadanih kongruencija dobivamo

20 + (−14) + 13 ≡ 13 + 7 + (−1) (mod 7),

odnosno

19 ≡ 19 (mod 7)

sto je tocno jer je 19 − 19 = 0 = 7 · 0.

b) Oduzimanjem zadanih kongruencija dobivamo

20 − (−14) − 13 ≡ 13 − 7 − (−1) (mod 7),

odnosno

21 ≡ 7 (mod 7)

sto je tocno jer je 21 − 7 = 14 = 7 · 2.

c) Mnozenjem zadanih kongruencija dobivamo

20 · (−14) · 13 ≡ 13 · 7 · (−1) (mod 7),

odnosno

−3640 ≡ −91 (mod 7)

sto je tocno jer je −3640 − (−91) = −3549 = 7 · (−507).

Jos neka svojstva kongruencija dana su u sljedecoj propoziciji.

Propozicija 2.3 Neka su a, b, c, d ∈ Z. Ako je a ≡ b (mod m) i c ≡ d (mod m),

onda vrijedi:

1. Ako je a ≡ b (mod m) i d | m, onda je a ≡ b (mod d).

2. Ako je a ≡ b (mod m), onda je ac ≡ bc (mod mc) za svaki c 6= 0.

Dokaz :

1. Ako d | m, postoji e ∈ Z takav da je m = de. Tada iz a − b = mk slijedi

a − b = d · (ek), pa je a ≡ b (mod d).

2. Iz a − b = mk slijedi ac− bc = (mc) · k, pa je ac ≡ bc (mod mc). 2

U prethodnim kongruencijama vidjeli smo da se kongruencije promatrane modulo isti

broj mogu zbrajati, oduzimati i mnoziti pa se postavlja pitanje moze li se u takvim

kongruencijama i kratiti.

Page 8: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

5

Primjer 2.3 Skratite kongruenciju 60 ≡ 20 (mod 5).

Rjesenje: Kracenjem kongruencije 60 ≡ 20 (mod 5) s 10 bismo dobili 6 ≡ 2 (mod 5)

sto nije tocno jer 5 ne dijeli 6 − 2 = 4.

Iz navedenog je primjera ocito da se kongruencije ne mogu proizvoljno kratiti pa stoga

pri kracenju kongruencija koristimo sljedeci teorem.

Teorem 2.1 Vrijedi:

ax ≡ ay (mod m) ako i samo ako x ≡ y (modm

d),

pri cemu je d = (a,m) najveci zajednicki djelitelj brojeva a i m.

Specijalno, ako je ax ≡ ay (mod m) i (a,m) = 1, onda je x ≡ y (mod m).

Dokaz :

Ako je ax ≡ ay (mod m), postoji k ∈ Z takav da je ax − ay = mk. Sada imamo:

a

d(x − y) =

m

dk

odnosnom

d| a

d(x − y).

Brojevia

di

m

dsu relativno prosti, pa zakljucujemo da

m

d| (x− y),

tj. vrijedi

x ≡ y (modm

d).

Obrnuto, ako je x ≡ y (modm

d), po Propoziciji 2.3 dobivamo

ax ≡ ay (modam

d).

No, d je djelitelj od a, pa po Propoziciji 2.3 vrijedi

ax ≡ ay (mod m).

2

Page 9: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

6

Primjer 2.4 Skratite kongruenciju 60 ≡ 20 (mod 5).

Rjesenje:

60 ≡ 20 (mod 5) ⇐⇒ 10 · 6 ≡ 10 · 2 (mod 5) ⇐⇒ 6 ≡ 2 (mod5

(5, 10)).

Dobivamo 6 ≡ 2 (mod 1) sto je tocno jer 1 dijeli 6 − 2 = 4.

Kongruencije mozemo i potencirati. Sljedeci teorem govori upravo o potenciranju kon-

gruencija.

Teorem 2.2 Ako je a ≡ b (mod m) i n ∈ N, onda je an ≡ bn (mod m).

Dokaz :

Ako je a ≡ b (mod m), postoji m ∈ Z takav da je a− b = mk. Buduci da je

an − bn = (a − b)n−1∑

i=0

an−1−ibi

︸ ︷︷ ︸A

= m · (kA),

slijedi da je an ≡ bn (mod m). 2

Primjedba 2.3 Tvrdnja teorema vrijedi i za n = 0.

Sljedeca propozicija govori o generalizaciji navedenog rezultata.

Propozicija 2.4 Ako je f polinom s cjelobrojnim koeficijentima i a ≡ b (mod m),

onda vrijedi f(a) ≡ f(b) (mod m).

Dokaz : Neka je f(x) = cnxn + cn−1xn−1 + · · · + c0, gdje su c0, c1, . . . , cn cijeli brojevi,

polinom n−tog stupnja. Iz a ≡ b (mod m), prema Teoremu 2.2, slijedi da za svaki ci-

jeli nenegativan j vrijedi aj ≡ bj (mod m). Tada je, prema Propoziciji 2.2, cjaj ≡ cjb

j

(mod m) za j = 0 . . . n. Zbrajanjem svih jednakosti dobivamo

cnan + cn−1a

n−1 + . . . + c1a + c0 ≡ cnbn + cn−1b

n−1 + . . . + c1b + c0 (mod m),

odnosno f(a) ≡ f(b) (mod m). 2

Za rjesavanje problema iz teorije djeljivosti vaznu ulogu ima sljedeci teorem.

Page 10: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

7

Teorem 2.3 Brojevi a i b imaju isti ostatak pri dijeljenju brojem m ako i samo ako

je a ≡ b (mod m).

Dokaz : Prema Teoremu o dijeljenju s ostatkom (vidjeti [4]) vrijedi

a = mq1 + r1, 0 ≤ r1 < m, (1)

b = mq2 + r2, 0 ≤ r2 < m. (2)

Pokazimo da r1 = r2 povlaci a ≡ b (mod m). Tada iz (1) i (2) slijedi a−b = m(q1−q2),

sto znaci da m | (a − b), odnosno vrijedi a ≡ b (mod m).

Pokazimo sada da a ≡ b (mod m) povlaci r1 = r2. Buduci da m | (a − b), uvrstimo li

ovdje a i b iz (1) i (2) dobivamo m | m(q1 − q2) + (r1 − r2), sto povlaci m | (r1 − r2).

Kako su r1 i r2 manji od m, to je |r1 − r2| < m, pa m | (r1 − r2) samo onda ako je

r1 − r2 = 0, tj. r1 = r2. 2

Sljedeci primjeri pokazuju kako se pomocu kongruencija rjesavaju razni problemi iz

teorije djeljivosti brojeva.

Primjer 2.5 Dokazite ako je zbroj znamenaka nekog broja djeljiv s 9, onda je i taj

broj djeljiv s 9.

Rjesenje: Uzmimo neki broj N i neka on ima decimalan prikaz

N = cn10n + cn−110n−1 + · · · + c110 + c0.

Promotrimo polinom f(x) = cnxn+cn−1xn−1+· · ·+c1x+c0. Tada je f(10) = N . Zbroj

znamenaka broja N jednak je f(1). Kako je 10 ≡ 1 (mod 9), prema Propoziciji 2.4,

vrijedi f(10) ≡ f(1) (mod 9). Prema pretpostavci je zbroj znamenaka broja N , f(1),

djeljiv s 9, pa iz Teorema 2.3, slijedi da je tada i N = f(10) djeljiv s 9.

Primjer 2.6 Nadite ostatak pri dijeljenju broja 2513 − 731 · 1523 brojem 4.

Rjesenje: Buduci da je

25 ≡ 1 (mod 4),

7 ≡ −1 (mod 4),

15 ≡ −1 (mod 4)

primjenom svojstva o potenciranju kongruencija dobivamo

2513 ≡ 113 (mod 4),

731 ≡ (−1)31 (mod 4),

1523 ≡ (−1)23 (mod 4).

Page 11: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

8

Primjenom svojstava o oduzimanju i mnozenju kongruencija dobivamo

2513 − 731 · 1523 ≡ 113 − (−1)31 · (−1)23 (mod 4).

Iz Teorema 2.3 slijedi da brojevi 2513 − 731 · 1523 i 113 − (−1)31 · (−1)23 = 0 imaju isti

ostatak pri dijeljenju brojem 4. Stoga zakljucujemo da je ostatak pri dijeljenju broja

2513 − 731 · 1523 brojem 4 jednak 0.

Primjer 2.7 Odredite zadnje dvije znamenke broja 20220.

Rjesenje:

Zadnje dvije znamenke zadanog broja su zapravo znamenke ostatka koji se dobije di-

jeljem tog broja sa 100. Zapisemo 20220 kao (2022)10 = 4080410. Kako je 40804 ≡ 4

(mod 100), primjenom svojstva o potenciranju kongruencija dobivamo 4080410 ≡ 410

(mod 100). Sada je trazeni ostatak jednak ostatku koji se dobije dijeljenjem broja 410

sa 100. Zapisemo 410 kao (45)2 = 10242. Kako je 1024 ≡ 24 (mod 100) primjenom

svojstva o potenciranju kongruencija dobivamo 10242 ≡ 242 (mod 20). Zadani broj

20220 ima isti dvoznamenkasti zavrsetak kao i broj 242 = 576 pa su zadnje dvije zna-

menke zadanog broja jednake 76.

Page 12: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

9

3. Klasicna kriptografija

3.1. Osnovni pojmovi

Kriptografija je znanstvena disciplina koja proucava metode za slanje poruka u

oblicima citljivim samo onima kojima su i namijenjene. Rijec kriptografija dolazi od

grckih rijeci kriptos sto znaci tajna i grafein sto znaci pisati pa se stoga moze doslovno

prevesti kao tajnopis. Osnovni zadatak kriptografije je omoguciti posiljatelju i pri-

matelju poruke komuniciranje preko nesigurnog komunikacijskog kanala na nacin da

njihov protivnik ne moze razumjeti njihovu poruku. Poruku koju posiljatelj zeli poslati

primatelju zovemo otvoreni tekst. Posiljatelj transformira otvoreni tekst koristeci una-

prijed dogovoreni kljuc. Taj postupak se naziva sifriranje, a dobiveni rezultat sifrat ili

kriptogram. U trenutku slanja sifrata preko nekog komunikacijskog kanala, protivnik

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

liku od njega, primatelj koji zna kljuc kojim je sifrirana poruka moze desifrirati sifrat

i odrediti otvoreni tekst. Na Slici 1. prikazana je shema klasicne kriptografije.

Slika 1: Shema klasicne kriptografije

Usporedno s razvojem kriptografije razvila se i znanstvena disciplina kriptoanaliza

(dekriptiranje) koja proucava postupke za citanje skrivenih poruka bez poznavanja

kljuca. Kriptologija je znanost koja obuhvaca i kriptografiju i kriptoanalizu.

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

desifriranje. Opcenito, radi se o dvjema funkcijama, jednoj za sifriranje, a drugoj za

desifriranje. Te funkcije preslikavaju osnovne elemente otvorenog teksta u osnovne ele-

mente sifrata, i obrnuto. Funkcije se biraju iz odredene familije funkcija u ovisnosti o

kljucu. Skup svih mogucih vrijednosti kljuceva nazivamo prostor kljuceva. Kriptosus-

tav se sastoji od kriptografskog algoritma, te svih mogucih otvorenih tekstova, sifrata

i kljuceva pa prema tome imamo sljedecu definiciju kriptosustava.

Page 13: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

10

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

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

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

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

4) E je skup svih funkcija sifriranja.

5) D je skup svih funkcija desifriranja.

6) 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.

Najvaznije svojstvo u definiciji je dK(eK(x)) = x, odnosno funkcije sifriranja eK moraju

biti injekcije. Ako bi bilo

eK(x1) = eK(x2) = y

za dva razlicita otvorena teksta x1 i x2, onda primatelj ne bi mogao jedinstveno odrediti

otvoreni tekst.

3.1.1. Podjela kriptosustava

Kriptosustave najcesce dijelimo s obzirom na sljedeca tri kriterija:

1. Tip operacije koja se koriste pri sifriranju

Najcesci tipovi operacija koji se koriste pri sifriranju su supstitucija i transpozicija. U

supstitucijskoj sifri se svaki element otvorenog teksta zamjenjuje se s nekim drugim

elementom, a u transpozicijskoj se elementi otvorenog teksta premjestaju. Ako rijec

MATEMATIKA sifriramo u LZSDLZSHJZ nacinili smo supstituciju, a ako ju sifriramo

u KATEMATIMA nacinili smo transpoziciju.

2. Nacin na koji se obraduje otvoreni tekst

Prema nacinu na koji se obraduje otvoreni tekst razlikujemo blokovne i protocne sifre.

Kod blokovnih sifri se obraduje jedan po jedan blok elemenata otvorenog teksta ko-

risteci jedan te isti kljuc, dok se kod protocnih sifri elementi otvorenog teksta obraduju

jedan po jedan koristeci pritom niz kljuceva koji se paralelno generira.

3. Broj kljuceva koji se koristi

Prema broju kljuceva razlikujemo simetricne i asimetricne kriptosustave. Simetricni

kriptosustavi koriste ili isti kljuc za sifriranje i desifriranje ili se kljuc za desifriranje

moze lako izracunati poznavajuci kljuc za sifriranje i obrnuto. Sigurnost simetricnih

kriptosustava lezi u tajnosti kljuca kojeg izabiru posiljatelj i primatelj poruke pa se

Page 14: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

11

stoga jos i nazivaju kriptosustavi s tajnim kljucem. Tajnost kljuca je ujedno i veliki

nedostatak ovih kriptosustava buduci da posiljatelj i primatelj moraju biti u mogucnosti

razmijeniti tajni kljuc preko nekog nesigurnog komunikacijskog kanala. Za razliku od

simetricnih kriptosustava, asimetricni koriste razlicite kljuceve za sifriranje i desifriranje

poruke. Kljuc za sifriranje je javni kljuc pa se ovi kriptosustavi nazivaju jos i kripto-

sustavi s javnim kljucem.

3.1.2. Razine kriptoanalitickih napada

Osnovna pretpostavka kriptoanalize je da kriptoanaliticar zna koji se kriptosus-

tav koristi. Ova pretpostavka se naziva Kerckhoffsovo nacelo, po Nizozemcu Augustu

Kerckhoffsu, autoru knjige Vojna kriptografija. U ovoj je knjizi Kerckhoffs iznio sest

osnovnih zahtjeva za kriptografiju:

1. Sifirani tekst treba biti neprobojan u praksi.

2. Sustav sifriranja treba biti prikladan za korisnike.

3. Kljuc treba biti lako pamtljiv i promjenjiv.

4. Sifirani tekst treba biti prenosiv telegrafom.

5. Uredaj za sifriranje treba biti lako prenosiv.

6. Uredaj za sifriranje treba biti moguce relativno lako koristiti.

Pokusaj kriptonalize nekog kriptosustava naziva se napad. Razlikujemo cetiri razine

kriptoanalitickih napada, u ovisnosti o tome sto kriptoanaliticar posjeduje.

1. Samo sifrat

Kriptoanaliticar posjeduje samo sifrat od nekoliko poruka sifriranih istim algoritmom.

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 tim

kljucem.

3. Odabrani otvoreni tekst

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

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

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.

Page 15: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

12

(5.) Potkupljivanje, ucjena, krada i slicno

Ovaj napad ne spada doslovno u kriptoanalizu, ali je vrlo efikasan i cesto primjenjivan

u kombinaciji s pravim kriptoanalitickim napadima.

3.2. Povijest kriptografije

Kriptografija postoji vise tisuca godina. Izumom pisma covjek je pokusavao

sakriti znacenje svojih poruka. Razni zapisi na papirusu i zapisi uklesani u kamen

pokazuju da su mnoge drevne civilizacije razvile svoje kriptografske metode.

3.2.1. Stari vijek

Vjeruje se kako je kriptografija stvorena oko 2000. g. pr.Kr. u Egiptu gdje su

se hijeroglifi koristili za ukrasavanje grobnica preminulih faraona. Hijeroglifima su se

opisivali zivoti faraona i velicali uspjesi za vrijeme njihove vladavine. Iako se hijeroglifi

ne smatraju pismom cija je namjera bila tajna komunikacija, pokusaji njihovih tvoraca

da u svoje tekstove unesu misticnost smatraju se pocecima kriptografije.

Slika 2: Hijeroglifi

Kriptografska povijest Mezopotamije je slicna onoj Egipta, u smislu da su se i ovdje

koristili znakovi (klinasto pismo) za sifriranje teksta. Hebrejci su koristili supstitucij-

ske sifre. Najpoznatija hebrejska sifra poznata je pod nazivom atbash te za englesku

abecedu izgleda ovako:

A B C D E F G H I J K L M

Z Y X W V U T S R Q P O N

Osim ove sifre, postoje jos albam sifra

A B C D E F G H I J K L M

N O P Q R S T U V W X Y Z

Page 16: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

13

i atbah sifra

A B C D J K L M E S T U V

I H G F R Q P O N Z Y X W

Ovakav nacin sifriranja je reciprocan, tj. ako se prvo slovo zamijeni s drugim, onda se

drugo slovo zamijeni s prvim. Ove sifre su se koristile izmedu 500. i 600. g. pr.Kr.

Prva zabiljezena upotreba kriptografije u svrhu komuniciranja zabiljezena je kod starih

Grka. Spartanci su u 5. st. pr.Kr. upotrebljavali napravu za sifriranje zvanu skital, dr-

veni stap oko kojega se namotao tanak list papirusa na koji se zatim okomito pisala

poruka. Kada bi se list papirusa odmotao, poruka na njemu bi bila necitljiva, a procitati

bi je mogao samo onaj tko je posjedovao stap istog promjera. Sifre koje su se dobile

sifriranjem skitalom su bile transpozicijske.

Slika 3: Skital

Poznata je jos jedna starogrcka metoda sifriranja koju je razvio grcki povjesnicar Poly-

bius. Ova metoda se sastoji u postavljanju slova abecede u kvadrat dimenzija 5x5.

Redovi i stupci se numeriraju od 1 do 5 tako da svako slovo predstavlja odgovarajuci

par retka i stupca. Takav Polybiusov kvadrat izgleda ovako:

1 2 3 4 51 A B C D E2 F G H I J3 K L M N O4 P Q R S T5 U V W X Y/Z

Sifriranje se obavljalo pridruzivanjem svakom slovu otvorenog teksta odgovarajuci par

retka i stupca pa tako rijec POLYBIUS sifrirana glasi 14 53 23 55 21 42 15 44. Ovo je

prvi sustav kriptiranja koji je smanjio broj simbola koji se koriste za kriptiranje.

Stari Rimljani su koristili zanimljive tehnike fizickog skrivanja poruka, ispod voska na

drvenom stolu ili u obliku tetovaze na glavi roba skrivene pod kosom. Takoder su

poznavali i odredene metode sifriranja. Jedna od najpoznatijih sifri je Cezarova sifra

nazvana po rimskom vojskovodi Gaju Juliju Cezaru.

Page 17: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

14

3.2.2. Srednji vijek

Za vrijeme Srednjeg vijeka, u Europi dolazi do napretka kriptografije zbog

potrebe sigurne komunikacije izmedu veleposlanstava europskih drzava. Kriptografija

je posebno razvijena u talijanskim gradovima. Najraniji kriptosustavi tog razdoblja

su koristili samo zamjenu samoglasnika, dok su suglasnici ostajali nepromijenjeni.

Oko 1379. godine, Gabriele de Lavinde od Parme je napisao prvi europski kriptograf-

ski prirucnik, koji je sluzio Papi Clementu VII. Prirucnik je sadrzavao popis svih

mogucih kljuceva, zamjenskih simbola za slova izvorne poruke, te skracenice za neke

rijeci i imena, koje je mogao koristiti svatko tko je htio sakriti pravo znacenje vlastite

poruke. U Veneciji se 1452. godine osniva drzavna institucija cija je jedina namjena

bila kriptografija. Ocem zapadne kriptologije smatra se Leon Battista Alberti, koji je

1466. godine osmislio polialfabetsku supstituciju, tehnike sifriranja koja je dopustala

da vise razlicitih znakova u sifriranom tekstu predstavlja jedan znak otvorenog teksta.

Arapi su prvi postavili temelje kriptografije kao znanosti, te su medu prvima poceli

primjenjivati kriptoanalicke metode za pronalazenje sakrivenog znacenja unutar sifrirane

poruke. Osmislili su i koristili vlastite supstitucijske i transpozicijske kriptosustave.

Al-Kalka-Shandi je 1412. godine u svojoj enciklopediji Subh al-a’sha opisao nekoliko

kriptosustava, te je takoder dao vrlo jasne upute (s jednostavnim primjerima) kako

kriptoanalizirati sifriranu poruku koristenjem frekvencije slova.

3.2.3. Razdoblje 16. st. - 19. st.

U 16. st. otkriven je jedan od nedostataka dotadasnje kriptografije. Za kriptiranje

poruke koristio se samo jedan kljuc pa se pocinju koristiti sifre koje prilikom kriptiranja

teksta promjene nekoliko kljuceva. Njemacki svecenik Trithemius 1518. godine, u petoj

knjizi iz ciklusa Poligraphia, donosi tablicu koja je ponavljala u svakom redu cijelu

abecedu, samo sto je u abeceda u svakom slijedecem retku bila ciklicki pomaknuta za

jedan znak u desno. Kod kriptiranja, prvo slovo otvorenog teksta se kriptiralo prvim

retkom tablice, drugo slovo drugim retkom tablice, itd. Trithemiusova tablica izgleda

ovako:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

FGUQHXSZACNDMRTVWEJBLIKPYO

OFGUQHXSZACNDMRTVWEJBLIKPY

YOFGUQHXSZACNDMRTVWEJBLIKP

PYOFGUQHXSZACNDMRTVWEJBLIK

KPYOFGUQHXSZACNDMRTVWEJBLI

IKPYOFGUQHXSZACNDMRTVWEJBL

LIKPYOFGUQHXSZACNDMRTVWEJB

Page 18: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

15

BLIKPYOFGUQHXSZACNDMRTVWEJ

JBLIKPYOFGUQHXSZACNDMRTVWE

EJBLIKPYOFGUQHXSZACNDMRTVW

WEJBLIKPYOFGUQHXSZACNDMRTV

VWEJBLIKPYOFGUQHXSZACNDMRT

TVWEJBLIKPYOFGUQHXSZACNDMR

RTVWEJBLIKPYOFGUQHXSZACNDM

MRTVWEJBLIKPYOFGUQHXSZACND

DMRTVWEJBLIKPYOFGUQHXSZACN

NDMRTVWEJBLIKPYOFGUQHXSZAC

CNDMRTVWEJBLIKPYOFGUQHXSZA

ACNDMRTVWEJBLIKPYOFGUQHXSZ

ZACNDMRTVWEJBLIKPYOFGUQHXS

SZACNDMRTVWEJBLIKPYOFGUQHX

XSZACNDMRTVWEJBLIKPYOFGUQH

HXSZACNDMRTVWEJBLIKPYOFGUQ

QHXSZACNDMRTVWEJBLIKPYOFGU

UQHXSZACNDMRTVWEJBLIKPYOFG

GUQHXSZACNDMRTVWEJBLIKPYOF

Rijec TRITHEMIUS kriptirana gornjom tablicom glasi BWSWQOSGMA.

Do pocetka 18. st. u Europi su bili uobicajeni tzv. Mracni uredi. Najpoznatiji je bio

u Becu, a upravitelj mu je od 1749. do 1763. godine bio barun Ignaz de Koch. Ova

se organizacija bavila proucavanjem sve poste koja je stizala stranim veleposlanstvima

u Becu, kopirala ih, ponovno zatvorila te vratila u postanski ured isto jutro. Taj isti

ured se bavio desifiranjem i ostalih presretnutih vojnih i politickih poruka, a katkad bi

procitao i do 100 pisama dnevno. Slicnu ulogu je ima i engleski Mracni ured kojeg je

formirao John Wallis 1701. godine.

General americke vojske tijekom Americkog rata za neovisnost, Benedict Arnold, koris-

tio je sifru kojom se svaka rijec otvorenog teksta zamijenila s brojem koji je oznacavao

njezin polozaj u knjizi. Tako je npr. 4.3.2 znacilo 4. stranica, 3. red, 2. rijec. Svi su-

dionici u takvom razgovoru morali su imati istu kopiju knjige sifri. Spijuni Samuel

Woodhull i Robert Townsend obavjestavali su generala Georgea Washingtona, tijekom

Americkog rata za neovisnost, o kretanju neprijatelja u i oko New Yorka, uz pomoc

knjige sifri. Za dodatnu sigurnost koristili su i nevidljivu tintu.

Page 19: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

16

3.2.4. Naprave za sifriranje

Slijedeci korak u razvoj kriptografije je razvoj uredaja za sifriranje. Oni ce

uciniti procese sifriranja i desifriranja puno brzim i laksim. Najstariju takvu napravu,

Jeffersonov kotac za sifriranje, izumio je americki drzavnik Thomas Jefferson krajem

18. stoljeca. Americka vojska pocela ga je koristiti tek 1922. godine. Jeffersonov kotac

se sastoji od drvenog cilindra s rupom u sredini kroz koju je provucena zeljezna os.

Cilindar je podijeljen na 26 manjih cilindara (diskova) jednakih sirina koji se mogu

neovisno jedan od drugoga okretati oko zajednicke osi. S vanjske strane nalazi se

26 jednakih kvadratica koji se na proizvoljan nacin popunjavaju s 26 slova engleske

abecede, razlicito od diska do diska. Posiljatelj i primatelj imaju dva identicna kotaca.

Slika 4: Jeffersonov kotac za sifriranje

Da bi sifrirao otvoreni tekst, posiljatelj mora podijeliti tekst na blokove od po 26 slova.

Blok se sifrira tako da se rotiranjem diskova u jednom od 26 redaka dobije otvoreni

tekst. Tada se za sifrat moze izabrati bilo koji od preostalih 25 redaka. Primatelj

desifrira sifrat tako da rotiranjem diskova u jednom retku dobije sifrat, a medu pre-

ostalih 25 redaka potrazi onaj koji sadrzi neki smisleni tekst. Taj redak predstavlja

originalni otvoreni tekst.

Amerikanac Edward Hugh Hebern izumio je 1915. godine elektricni stroj za kodiranje.

To je bio elektricni uredaj kojim su se dva elektricna pisaca stroja spajala pomocu

26 zica, ali s razbacanim rasporedom, pa kad bi se udarila tipka na pisacem stroju za

otvoreni tekst, drugi bi stroj otipkao sifrat tog slova. Hebern je 1921. godine osnovao

tvrtku Hebern Electric Code, sto je bila prva americka tvrtka za proizvodnju naprava

za sifriranje, ali nije bila uspjesna u prodaji svojih proizvoda.

U 20. st. Drugi svjetski rat ima veliku ulogu u razvoju kriptografije. Jedno od naj-

poznatijih kriptografskih postignuca tog vremena je naprava za sifriranje nazvana

ENIGMA koju je izumio Nijemac Arthur Schrebius 1920. godine. ENIGMA je bila

elektromehanicka naprava koja se sastojala od tipkovnice s 26 tipki pisaceg stroja,

zaslona s 26 zaruljica za prikaz sifriranog izlaza, tri mehanicka rotora i elektronicke

prespojne ploce. Pritiskom na tipku, kroz mrezu kontakata rotora i prespojne ploce,

Page 20: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

17

Slika 5: Hebernov elektricni stroj za kodiranje

zatvorio bi se strujni krug i upalila bi se odgovarajuca zaruljica koja oznacava sifrirano

slovo.

Slika 6: ENIGMA

Nakon nekoliko razlicitih modela, njemacka mornarica 1926. godine uvodi ENIGMU kao

standardni nacin kriptiranja, a zatim ju usvajaju i njemacko zrakoplovstvo i kopnena

vojska. ENIGMU su uspjeli dekriptirati dvije grupe kriptoanaliticara, poljska grupa

pod vodstvom Mariana Rejewskog i britanska pod vodstvom Alana Turinga. Pret-

postavlja se da je Drugi svjetski rat skracen za par godina jer su Saveznici uspjesno

desifrirali mnoge poruke Nacisticke Njemacke.

3.2.5. Moderna kriptografija

Nakon izuma prvih kompjutera, razvijeni su simetricni kriptosustavi koji pred-

stavljaju pocetak moderne kriptografije. Prvi simetricni kriptosustav, nazvan Lucifer,

razvijen je u IBM-ovom laboratoriju. 1976. godine usvojen je americki standard za

sifriranje podataka pod imenom DES (engl. Data Encryption Standard) koji postaje

Page 21: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

18

jedan od najpoznatijih kriptosustava. Ubrzo nakon razvoja simetricnih, razvijaju se i

asimetricni kriptosustavi. Whitfield Diffie i Martin Hellman smatraju se zacetnicima

kriptografije javnog kljuca. Prvi asimetricni kriptosustav razvijen je 1977. godine. Naz-

van je RSA kriptosustav, po inicijalima prezimena svojih autora (Rivest, Shamir, Adle-

man).

3.3. Supstitucijske sifre

Kod supstitucijske sifre svaki se element otvorenog teksta zamjenjuje s nekim

drugim elementom pa svakom slovu otvorenog teksta odgovara jedinstveno slovo sifrata.

Takve se sifre zovu monoalfabetske. U ovom radu ce biti prikazani specijalni slucajevi

supstitucijske sifre, Cezarova i afina sifra.

3.3.1. Cezarova sifra

Cezarova sifra je dobila ime po poznatom rimskom vojskovodi Gaju Juliju Cezaru

koji je u komunikaciji sa svojim generalima koristio sifru kojom su se slova otvorenog

teksta zamjenjivala slovima sto su se nalazila za tri mjesta udesno u abecedi (A → D,

B → E, C → F itd.). Takoder se pretpostavlja da se abeceda ciklicki nastavlja, tj. da

nakon zadnjeg slova Z, ponovo dolaze slova A, B, C. U daljnjim primjerima koristit

cemo englesku abecedu od 26 slova. Ako otvoreni tekst bude pisan hrvatskim jezikom,

onda cemo slova C i C zamijeniti slovom C, a slova D, Dz, Lj, Nj, S, Z redom slovima

DJ, DZ, LJ, NJ, S, Z. Koristimo li englesku abecedu od 26 slova, otvoreni tekst i sifrat

dobiven Cezarovom sifrom mozemo zapisati na sljedeci nacin:

Otvoreni tekst: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Sifrat: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Poznata Cezarova izreka

VENI VIDI VICI

sifrirana ovom sifrom glasi

YHQL YLGL YLFL.

Da bismo Cezarovu sifru precizno definirali u smislu Definicije 3.1, uvest cemo prirodnu

korespodenciju izmedu slova alfabeta (A - Z) i cijelih brojeva (0 - 25).

Skup {0, 1, 2, . . . , 25} oznacavat cemo sa Z26 i pretpostavljat cemo da su na njemu

definirane operacije zbrajanja, oduzimanja i mnozenja na isti nacin kao u skupu cijelih

brojeva, ali tako da se rezultat, ukoliko nije iz skupa {0, 1, 2, ..., 25}, zamijeni s njegovim

ostatkom pri dijeljenju s 26. Koristit cemo oznake a +26 b i a −26 b za zbrajanje i

oduzimanje u skupu Z26. Sada Cezarovu sifru mozemo definirati na sljedeci nacin.

Page 22: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

19

Definicija 3.2 Neka je P = C = K = Z26. Za 0 ≤ K ≤ 25 definiramo

eK(x) = (x + K) mod 26, dK(y) = (y − K) mod 26.

Provjerimo je li uvjet dK(eK(x)) = x zadovoljen. Zaista,

dK(eK(x)) = dK(x + K) = (x + K − K) = x.

Buduci da koristimo 26 slova, svakom slovu abecede pridruzujemo njegov numericki

ekvivalent:

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

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

Tablica 1: Korespodencija izmedu slova abecede i cijelih brojeva

U Cezarovoj su sifri osnovni elementi otvorenog teksta slova (odnosno njihovi numericki

ekvivalenti), a kljuc K odreduje za koliko mjesta (udesno) cemo pomicati slova pri

sifriranju. Za K = 3 dobiva se originalna Cezarova sifra. Postoje naznake da je Cezarov

necak, prvi rimski car August, koristio najjednostavniju verziju ove sifre, pomicuci slova

samo za jedno mjesto u alfabetu, tj. uzimajuci da je K = 1.

Primjer 3.1 Dekriptirajte sifrat OSRKVYIRGMNI dobiven Cezarovom sifrom.

Rjesenje: Zadani sifrat cemo dekriptirat primjenom metode ”grube sile”, odnosno ispi-

tivanje svih mogucih kljuceva redom sve dok ne dobijemo neki smisleni tekst. Ova je

metoda opravdana jer je broj kljuceva mali. Kljuceva ima upravo onoliko koliko je

i slova, ima ih 26. Primijenimo li funkciju desifriranja dK(y) = (y − K) mod 26 na

zadani sifrat te ispitivanjem kljuceva dobivamo redom:

O S R K V Y I R G M N I K=0N R Q J U X H Q F L M H K=1M Q P I T W G P E K L G K=2L P O H S V F O D J K F K=3K O N G R U E N C I J E K=4

Dakle, kljuc je K = 4, a otvoreni tekst je KONGRUENCIJE.

Kriptoanaliza Cezarove sifre je vrlo jednostavna jer kriptoanaliticar treba samo ispitati

sve moguce kljuceve sto ovu sifru cini vrlo nesigurnom za koristenje. Nije poznato koliko

je Cezarov kriptosustav sluzio svrsi u to doba, no vrlo je vjerojatno da se smatrao vrlo

sigurnim iz razloga da je rijetko tko od Cezarovih neprijatelja bio pismen, a i za te

rijetke nema pisanog traga da su uspjeli probiti ovaj kriptosustav.

Page 23: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

20

3.3.2. Afina sifra

Da bismo dobili sigurniju sifru od Cezarove, mozemo promatrati funkcije za

sifriranje koje ce ukljucivati vise od jednog parametra. Najjednostavnija takva funkcija

je afina funkcija e(x) = ax + b. Afina sifra definira se na sljedeci nacin.

Definicija 3.3 Neka je P = C = Z26, te neka je

K = {(a, b) ∈ Z26 × Z26 : (a, 26) = 1}.

Za K = (a, b) ∈ K definiramo

eK(x) = (ax + b) mod 26, dK(y) = a−1(y − b) mod 26.

Provjerimo je li uvjet dK(eK(x)) = x zadovoljen. Zaista,

dK(eK(x)) = dK(ax + b) = a−1(ax + b − b) = x.

No, tu se javlja problem jer nemaju svi elementi iz Z26 multiplikativni inverz a−1, ele-

ment za koji vrijedi a ·26 a−1 = a−1 ·26 a = 1. Samo brojevi relativno prosti s 26 imaju

multiplikativni inverz. U sljedecoj tablici prikazani su ti brojevi zajedno sa svojim

inverzima.

a 1 3 5 7 9 11 15 17 19 21 23 25a−1 1 9 21 15 3 19 7 23 11 5 17 25

Tablica 2: Multiplikativni inverzi elemenata iz skupa Z26

Primjer 3.2 Neka je K = (5, 7). Sifrirajte otvoreni tekst MATEMATIKA.

Rjesenje: Za svako slovo otvorenog teksta prvo odredimo njegov numericki ekvivalent.

M A T E M A T I K A12 0 19 4 12 0 19 8 10 0

Primjenom funkcije sifriranja eK(x) = (ax + b) mod 26 na zadani otvoreni tekst dobi-

vamo:

5 · 12 + 7 ≡ 15 (mod 26),5 · 0 + 7 ≡ 7 (mod 26),

5 · 19 + 7 ≡ 24 (mod 26),5 · 4 + 7 ≡ 1 (mod 26),5 · 8 + 7 ≡ 21 (mod 26),

5 · 10 + 7 ≡ 5 (mod 26).

Page 24: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

21

Svaki svaki numericki ekvivalent poistovjetimo sa slovom i dobivamo sifrat PHYB-

PHYVFH.

Buduci da sada imamo 12 · 16 = 312 kljuceva (12 parova (a, a−1) i 26 vrijednosti

parametara b), dekriptiranje sifrata bez poznavanja kljuca ispitivanjem svih mogucih

kljuceva, kao u Primjeru 3.1, bilo bi dugotrajno. Postoji i drugi nacin dekriptiranja

pomocu frekvencijske analize slova. Za ovu metodu je korisno znati kojim je jezikom

tekst pisan, jer se frekvencije slova u razlicitim jezicima razlikuju. Najfrekventnija

slova hrvatskog jezika su redom A, I, O, E, N.

U daljnim cemo primjerima zbog preglednosti sifrata stavljati razmak nakon svakog

petog slova, ali to nema nikakve veze s razmacima u otvorenom tekstu.

Primjer 3.3 Afinom sifrom s kljucem K je iz otvorenog teksta na hrvatskom jeziku

dobiven sljedeci sifrat:

YTKTM BKBYK DMQTJ DBNPE PQTOT VCLFH TVFLW PCIDE

QTVTC LAEDH TEPEP HDHTI OCMBO KDMBN BCWLI BQLFI

DQELF CPMBI BDNPC BJHBW CTILC DIQBF IBIJD HBDHT

VDWPQ DVTQB HDMFD VCDMB

Odredite kljuc K = (a, b) i dekriptirajte sifrat frekvencijskom analizom slova.

Rjesenje: U zadanom su sifratu najfrekventnija slova B i D pa mozemo ocekivati da

su ova dva slova sifrati od A, I, O, E ili N. Imamo

eK(A) = a · 0 + b = b,

eK(I) = a · 8 + b.

Sada pretpostavimo da je eK(A) = D i eK(I) = B pa dobivamo da je b = 3 i

8a+3 ≡ 1 (mod 26). Kongruenciju rjesavamo tako da uvrstavamo sve dopustive inver-

tibilne a-ove, te provjeravamo koji od njih zadovoljava kongruenciju. Tako dobivamo

da je a = 3. Dakle, funkcije sifriranja i desifriranja su redom

eK(x) = 3x + 3 (mod 26),

dK(y) = 9(y − 3) (mod 26).

Primjenom funkcije desifriranja na zadani sifrat, dobivamo otvoreni tekst s umetnutim

dijakritickim znakovima, razmacima i interpunkcijom:

Holod ili Hladnoca ime je novog ruskog supertajnog oruzja koje je kako

tvrdi Vladimir Putin, u stanju srediti americki proturatni stiti, cak i ako

ga Pentagon ikad sagradi.

Page 25: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

22

3.3.3. Kriptoanaliza supstitucijske sifre

Kriptoanaliza supstitucijske sifre vrsi se analizom frekvencije slova. Frekvencije

slova sifrata se usporeduje s frekvencijama slova u jeziku na kojem je napisan otvoreni

tekst. Vrlo je vjerojatno da najfrekventnija slova sifrata odgovaraju najfrekventnijim

slovima jezika. Takoder, korisni su i podaci o najcescim bigramima (parovima slova)

i trigramima (nizovima od tri slova) u jeziku. Buduci da radimo s otvorenim tekstom

na hrvatskom jeziku, u nastavku cemo dati podatke o frekvencijama slova, bigrama i

trigrama u hrvatskom jeziku.

A I O E N S R J T U D115 98 90 84 66 56 54 51 48 43 37

K V L M P C Z G B H F36 35 33 31 29 28 23 16 15 8 3

Tablica 3: Frekvencija slova u hrvatskom jeziku u promilima

Najfrekventniji bigrami u hrvatskom jeziku su JE (2.7%), NA (1.5%), RA, ST, AN, NI,

KO, OS, TI, IJ, NO, EN, PR (1.0%), a najfrekventniji trigrami IJE (0.6%), STA, OST,

JED, KOJ, OJE, JEN s frekvencijama izmedu 0.3% i 0.4%. Najfrekventniji reciprocni

bigrami su NA (1.5 %) i AN (%) te NI (1.3 %) i IN (0.9 %).

Primjer 3.4 Dekriptirajte sifrat

TQCWT QCKIQ RWNOQ OBCEW OQVKB UKAPK OQOQB CQPQA

JGDUQ EQORW TSJGR WEQKY WGTWC JKRBI KZGVO GBQ

dobiven supstitucijskom sifrom ako je poznato da je otvoreni tekst na hrvatskom jeziku.

Rjesenje: Dekriptiranjem zapocinjemo frekvencijskom analizom slova i bigrama tako

da za svako slovo u abecedi napisemo sve njegove sljedbenike u sifratu. Za zadnje slovo

u sifratu stavljamo znak *. Na ovaj nacin dobivamo sljedecu tablicu:

A | P, J

B | C, U, C, I, Q

C | W, K, E, Q, J

D | U

F |

G | D, R, T, V, B

H |

I | Q, K

J | G, G, K

Page 26: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

23

K | I, B, A, O, Y, R, Z

M |

N | O

O | Q, B, Q, Q, Q, R, G

P | K, Q

Q | C, C, R, O, V, O, B, P, A, E, O, K, *

R | W, W, W, B

S | J

T | Q, Q, S, W

U | K, Q

V | K, O

W | T, N, O, T, E, G, C

X |

Y |

Z | G

Iz tablice sada lako iscitavamo najfrekventnija slova s pripadnim frekvencijama:

Q (13), K (7), O (7), W (7), B, C, G, R, T, E, J,

te najfrekventnije bigrame:

OQ (4), QO (3), RW (3), BC, EQ, JG, QC, TQ, WT.

Buduci da je u hrvatskom jeziku najfrekventnije slovo A, a u zadanom sifratu slovo

Q, pretpostavimo da je e(A) = Q. Takoder uocavamo reciprocne bigrame OQ i QO,

sto nas navodi na e(N) = O. Vecina pojavljivanja slova R vezana je uz bigram RW,

a W je jedno od najfrekventnijih slova, pa pretpostavimo da je e(J) = R i e(E) =

W . Pokusajmo otkriti sifrat cestog bigrama ST. Najozbiljniji kandidat je bigram BC.

Uzmimo da je e(S) = B i e(T ) = C. Od najfrekventnijih slova hrvatskom jeziku, jos

nismo odgonetnuli sifrate slova I i O. Glavni kandidati su slova K i G pa uzmimo da

je e(I) = K i e(O) = G. Rezimirajmo ono sto smo dosad pretpostavili:

otvoreni tekst A E I J N O S Tsifrat Q E K R O G B C

Ubacimo ove pretpostavke u polazni sifrat:

TQCWT QCKIQ RWNOQ OBCEW OQVKB UKAPK OQOQB CQPQA

ate ati a je na nst e na is i i nanas ta a

JGDUQ EQORW TSJGR WEQKY WGTWC JKRBI KZGVO GBQ

o a anje oj e ai eo et ijs i o n osa

Page 27: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

24

Sada vec imamo dovoljno elemenata otvorenog teksta da mozemo postupno odgoneta-

vati citave rijeci. Konacno dobivamo otvoreni tekst:

Matematika je znanstvena disciplina nastala proucavanjem brojeva i ge-

ometrijskih odnosa.

Alfabet sifrata izgleda ovako:

Q S U V W X Y Z K R I P T O G A F J B C D E H L M N

Uocavamo pojavljivanje rijeci ”kriptografija” unutar alfabeta sifrata. Ovdje se radi o

varijanti supstitucijske sifre koja se naziva Cezarova sifra s kljucnom rijeci. U njoj kljuc

predstavlja kljucna rijec (u ovom slucaju KRIPTOGRAFIJA), te broj (u ovom slucaju

8) koji oznacava poziciju (izmedu 0 i 25) na kojoj pocinjemo pisati kljucnu rijec (bez

ponavljanja slova).

3.4. Vigenereova sifra

Vigenereova sifra je dobila ime po francuskom diplomatu Blaiseu de Vigenereu jer

se u 19. st. otkrice sifre pogresno pripisalo njemu2. Vigenere je objavio 1586. god. knji-

gu Traicte de Chiffres u kojoj se nalazilo sve sto se u to vrijeme znalo o kriptografiji.

Takoder je u toj knjizi opisao sifru koja je kasnije po njemu dobila ime i sifru s auto-

kljucem koju je sam otkrio. Vigenereovu sifra spada u polialfabetske sifre kod kojih se

svako slovo otvorenog teksta moze preslikati u vise razlicitih slova sifrata te je definirana

na sljedeci nacin.

Definicija 3.4 Neka je m fiksan prirodan broj i P = C = K = Zm26. Za kljuc

K = (k1, k2, . . . , km), definiramo

eK(x1, x2, . . . , xm) = (x1 +26 k1, x2 +26 k2, . . . , xm +26 km),

dK(y1, y2, . . . , ym) = (y1 −26 k1, y2 −26 k2, . . . , ym −26 km).

Elementi otvorenog teksta i sifrata su u ovoj sifri blokovi od po m slova.

Primjer 3.5 Sifrirajte otvoreni tekst KRIPTOSUSTAV ako je kljucna rijec OSIJEK.

Rjesenje: Sifriranje zadanog otvorenog teksta zapocinjemo tako da kljucnu rijec ispisu-

jemo onoliko puta koliko je potrebno da se popuni duljina otvorenog teksta. Ilustra-

tivno to mozemo ovako prikazati:

Kljuc: O S I J E K O S I J E KOtvoreni tekst: K R I P T O S U S T A V

2Giovan Battista Bellaso prvi spominje ovu sifru 1553.godine.

Page 28: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

25

Numericki ekvivalent kljucne rijeci je kljuc K = (14, 18, 8, 9, 4, 10), a numericki ekviva-

lent otvorenog teksta (10, 17, 8, 15, 19, 14, 18, 20, 18, 19, 0, 21). Sifriranje provodimo

slovo po slovo, zbrajanjem numerickih ekvivalenata slova po modulu 26.

14 18 8 9 4 10 14 18 8 9 4 1010 17 8 15 19 14 18 20 18 19 0 21

+26

24 9 16 24 23 24 6 12 0 2 4 5

Dobivene numericke ekvivalente poistovjetimo sa slovom i dobivamo sifrat YJQYXYG-

MACEF. Primijetimo da se slovo S, koje se pojavljuje dva puta u otvorenom tekstu,

u sifratu prvi puta preslikalo u G, a drugi puta u A.

U ovom primjeru smo kljuc ponavljali za svaki blok od m slova pa prema nacinu na

koji se obraduje otvoreni tekst, ova sifra spada u blokovne sifre. Postoji i varijanta

Vigenereove sifre koja spada u protocne sifre. To je Vigenereova sifra s autokljucem u

kojoj otvoreni tekst generira kljuc. Kljucna rijec se koristi samo za sifriranje prvih m

slova, dok se za sifriranje ostalih slova koriste redom slova od pocetka otvorenog teksta

(npr. kao kljuc za sifriranje (m + 1)-vog slova koristi se prvo slovo otvorenog teksta,

za (m + 2)-go slovo koristi se drugo slovo, itd.).

Primjer 3.6 Sifrirajte otvoreni tekst KRIPTOSUSTAV s autokljucem. Kljucna rijec

je OSIJEK.

Rjesenje: Za sifriranje prvog bloka od 6 slova KRIPTO koristimo kljucnu rijec OSI-

JEK, dok za preostali blok slova SUSTAV koristimo dio otvorenog teksta KRIPTO.

Ilustrativno to mozemo prikazati ovako:

Kljuc: O S I J E K K R I P T OOtvoreni tekst: K R I P T O S U S T A V

Sada je numericki ekvivalent kljucne rijeci kljuc K = (14, 18, 8, 9, 4, 10, 10, 17, 8, 15, 19, 14),

a numericki ekvivalent sifrata ostaje isti (10, 17, 8, 15, 19, 14, 18, 20, 18, 19, 0, 21).

Sifriranje provodimo zbrajanjem numerickih ekvivalenata slova po modulu 26.

14 18 8 9 4 10 10 17 8 15 19 1410 17 8 15 19 14 18 20 18 19 0 21

+26

24 9 16 24 23 24 2 11 0 8 19 9

Dobivene numericke ekvivalente poistovjetimo sa slovom i dobivamo sifrat

YJQYXYCLAITJ.

Pri sifriranju mozemo koristiti tzv. Vigenereov kvadrat koji se sastoji od 26 redaka. U

svakom retku je napisana abeceda, ali tako da je u svakom sljedecem retku abeceda

Page 29: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

26

pomaknuta za jedno mjesto ulijevo u odnosu na prethodni redak, tako odgovarajuci

svim kombinacijama Cezarove sifre. Sifriranje se odvija tako da se sifrirano slovo, za

odredeno slovo kljuca i odredeno slovo otvorenog teksta, dobije na presjeku retka u

kojem se nalazi slovo kljuca i stupca u kojem je slovo otvorenog teksta.

U prethodnom smo primjeru slovo K sifrirali kljucem O. Pogledamo stupac koji pocinje

slovom K i redak koji pocinje slovom O. U presjeku je prvo slovo sifrata Y. Zatim slovo

R sifriramo kljucem S na analogan nacin i dobivamo drugo slovo sifrata J. Postupak

ponavljamo i dobivamo sifrat YJQYXYCLAITJ kao i u proslom primjeru.

Desifriranje se odvija tako da slovo kljuca odreduje redak u kojem se nalazi slovo

otvorenog teksta. Polozaj slova sifriranog teksta u tom retku odreduje stupac u kojoj

je slovo otvorenog teksta, a slovo otvorenog teksta se nalazi na vrhu tog stupca. U

prethodnom primjeru prvo slovo sifrat Y smo dobili sifriranjem kljucem O. Pogledamo

redak koji pocinje slovom O te u tom retku pronademo slovo Y. Slovo Y se nalazi u

stupcu koje zapocinje slovom K pa je slovo K prvo slovo otvorenog teksta. Postupak

ponavljamo i dolazimo do otvorenog teksta KRIPTOSUSTAV.

Page 30: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

27

3.4.1. Kriptoanaliza Vigenereove sifre

Kriptoanaliza Vigenereove sifre frekvencijskom analizom slova je vrlo otezana.

Za slovo koje se najvise puta ponavlja u sifratu ciji je otvoreni tekst na hrvatskom,

moze se pretpostaviti da odgovara slovu A, jer je slovo A najcesce u hrvatskom jeziku.

Koristenjem Vigenereove sifre, slovo A ce se zamjenjivati razlicitim slovima abecede

i tako onemoguciti frekvencijsku analizu. Buduci da je u razdoblju sifriranja ovom

sifrom jedini dostupan alat za kriptoanalizu bila frekvencijska analiza, Vigenereova

sifra je nazvana ”sifrom koju je nemoguce razbiti”.

Prvi korak kriptoanalize Vigenereove sifre je odredivanje duljine kljucne rijeci metodom

koja koristi tzv. indeks koincidencije. Taj je pojam uveo 1920. god. William Friedman

u knjizi Indeks koincidencije i njegove primjene u kriptografiji, koja se smatra jednom

od najvaznijih u povijesti kriptologije.

Definicija 3.5 Neka je x = x1x2 . . . xn niz od n slova. Indeks koincidencije od x, u

oznaci Ic(x), definira se kao vjerojatnost da su dva slucajna elementa iz x jednaka.

Neka su f0, f1, . . . , f25 redom frekvencije slova A,B,C, . . . , Z u x. Vjerojatnost da je

prvo odabrano slovo A je f0

n, a vjerojatnost da je drugo odabrano slovo A je f0−1

n−1.

Vjerojatnost da prvo odabrano slovo B je f1

n, a vjerojatnost da je drugo odabrano slovo

B je f1−1n−1

. Stoga vrijedi formula

Ic(x) =

∑25i=0 fi(fi − 1)

n(n − 1).

Neka je x neki tekst na hrvatskom jeziku. Oznacimo ocekivane vjerojatnosti pojavlji-

vanja slova A,B, . . . , Z u hrvatskom jeziku redom s p0, p1, . . . , p25 (vidjeti tablicu s

frekvencijama slova u hrvatskom jeziku). Ako je n dovoljno velik, indeks koincidencije

teksta napisanog na hrvatskom jeziku ce biti

Ic(x) ≈25∑

i=0

p2i ≈ 0.064.

Za potpuno slucajni niz r indeks koincidencije ce biti

Ic(r) ≈ 26 · ( 1

26)2 ≈ 0.038.

Ocito je da pomocu indeksa koincidencije lako mozemo razlikovati slucajan tekst od tek-

sta pisanog na hrvatskom jeziku i sifriranom monoalfabetskom supstitucijskom sifrom.

Pretpostavimo sada da imamo sifrat y = y1y2 . . . yn koji je dobiven Vigenereovom

sifrom. Rastavimo y na m podnizova z1, z2, . . . , zm tako da podniz z1 sadrzi sva slova

sifrata, podniz z2 sadrzi svako drugo slovo sifrata, podniz z3 sadrzi svako trece slovo

Page 31: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

28

sifrata itd. Ako je m jednak duljini kljucne rijeci, onda su elementi istog podniza

sifrirani pomocu istog slova kljuca te bi indeksi koincidencije Ic(zi), za i = 1, . . . ,m ,

trebali biti priblizno jednaki 0.064. U suprotnom, ako m nije duljina kljucne rijeci, onda

ce zi-ovi izgledati kao slucajni nizovi slova, buduci da su dobiveni pomacima pomocu

razlicitih slova kljuca. Iz toga slijedi da samo trebamo izracunati indekse koincidencija

dobivenih podniza dobivenih za svaki moguci m te ih usporediti sa vrijednoscu indeksa

koincidencije za pretpostavljeni jezik na kojem je napisan otvoreni tekst. Ukoliko se

vrijednosti indeksa priblizno jednaki, pogodili smo duljinu kljucne rijeci.

Nakon utvrdivanja duljine m kljucne rijeci, odredivanje same kljucne rijeci postize se

koristenjem medusobnog indeksa koincidencije dvaju nizova.

Definicija 3.6 Neka su x = x1x2 . . . xn i y = y1y2 . . . yn dva niza od n, odnosno n′

slova. Medusobni indeks koincidencije od x i y, u oznaci MIc(x, y), definira se kao

vjerojatnost da je slucajni element od x jednak slucajnom elementu od y. Ako frekven-

cije od A,B,C, . . . , Z u x i y oznacimo s f0, f1, . . . , f25, odnosno f ′0, f

′1, . . . , f

′25, onda

je

MIc =

∑25i=0 fif

′i

nn′ .

Fiksirajmo jedan podniz, neka to bude z1. Ostale podnizove zj (j = 1 . . .m) sifrirajmo

slovima A,B, . . . , Z, odnosno pomacima za 0, 1, . . . , 25 mjesta. Tako dobivene nizove

oznacimo sa zgj , g = 0, 1 . . . , 25. Sada racunamo medusobni indeks koincidencije pod-

niza z1 sa svakim od nizova zgj po formuli

MIc(z1, zgj ) =

∑25i=0 fif

′i−g

nn′

pri cemu su f ′i−g frekvencije u zg

j (g = 0, 1 . . . , 25).

Modifikacija ove metode se sastoji u tome da umjesto od podniza z1, krecemo s nizom

x koji odgovara tekstu napisanog na hrvatskom jeziku. To znaci da su frekvencijefi

n≈ pi. Medusobni indeks koincidencije niza x i nizova zg

j (g = 0, 1 . . . , 25) racunamo

po formuli

MIc(x, zgj ) =

∑25i=0 pif

′i−g

n′ .

Za g ≡ −kj (mod 26) ovi indeksi ce biti priblizno 0.064.

Prema tome, da bismo odredili j-to slovo kj kljucne rijeci K racunamo za g = 0, 1 . . . , 25

MIc(x, zgj ) =

∑25i=0 pif

′i−g

n′ .

Odredimo h takav da je Mh = max{Mg : g = 0, 1 . . . , 25}, te stavimo kj ≡ −h

(mod 26).

Page 32: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

29

Primjer 3.7 Dekriptirajte sifrat

ZMHRZ BKLDI YAYNZ JTKOD ZSMEW EEUSFM JHIQT MLOBN

TDCQZ SLFIH RDNAD VLSVN DVTFF OGIEZN DKFMO WKIHC

DJVEF HRJNN RVJSR RJJDP RCVNK RRZRTL TZTAP EIHCN

OAUOM STH

dobiven Vigenereovom sifrom iz otvorenog teksta na hrvatskom jeziku.

Rjesenje:

Odredujemo duljinu kljucne rijeci pomocu indeksa koincidencije. Indeksi koincidencije

su sljedeci:

m = 1 m = 2 m = 3 m = 4 m = 50.010 0.045 0.036 0.047 0.063

0.041 0.043 0.034 0.0400.039 0.044 0.080

0.042 0.0490.071

Ocito je da se indeksi koincidencije za m = 5 razlikuju od ostalih, pa zakljucujemo da

je duljina kljucne rijeci jednaka 5. Sada odredujemo kljucnu rijec. Za j = 1, 2, 3, 4, 5

izracunavamo vrijednosti M1,M1, . . . ,M25. Izracunate vrijednosti dane su u sljedecoj

tablici.

j=1 0.0374 0.0684 0.0298 0.0247 0.0330 0.0479 0.03690.0456 0.0328 0.0396 0.0423 0.0358 0.0299 0.04500.0428 0.0404 0.0351 0.0378 0.0298 0.0399 0.02790.0478 0.0459 0.0405 0.0209 0.0331

j=2 0.0507 0.0402 0.0356 0.0307 0.0392 0.0337 0.03200.0397 0.0415 0.0387 0.0260 0.0389 0.0394 0.03730.0320 0.0392 0.0490 0.0435 0.0336 0.0288 0.04080.0447 0.0415 0.0321 0.0415 0.0446

j=3 0.0323 0.0512 0.0459 0.0409 0.0312 0.0363 0.04380.0398 0.0378 0.0415 0.0357 0.0355 0.0254 0.03430.0380 0.0480 0.0269 0.0405 0.0382 0.0511 0.02530.0226 0.0378 0.0757 0.0362 0.0272

j=4 0.0576 0.0417 0.0268 0.0305 0.0411 0.0382 0.03370.0353 0.0386 0.0448 0.0322 0.0377 0.0457 0.03680.0174 0.0315 0.0514 0.0478 0.0340 0.0248 0.03780.0473 0.0486 0.0331 0.0378 0.0426

j=5 0.0448 0.0429 0.0225 0.0358 0.0450 0.0607 0.03000.0267 0.0351 0.0658 0.0466 0.0327 0.0351 0.04410.0420 0.0383 0.0249 0.0231 0.0397 0.0361 0.03190.0469 0.0376 0.0239 0.0247 0.0378

Page 33: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

30

Iz tablice iscitavamo redom:

Za j = 1 imamo h = 1, M1 = 0.0684, pa je k1 = −1 mod 26 = 25.

Za j = 2 imamo h = 0, M0 = 0.0507, pa je k2 = 0 mod 26 = 0.

Za j = 3 imamo h = 23, M23 = 0.0757, pa je k3 = −23 mod 26 = 3.

Za j = 4 imamo h = 0, M0 = 0.0576, pa je k4 = 0 mod 26 = 0.

Za j = 5 imamo h = 9, M9 = 0.0658, pa je k5 = −9 mod 26 = 17.

Kljucna rijec je ZADAR, a trazeni otvoreni tekst, s umetnutim dijakritickim i inter-

punkcijskim znakovima te razmacima glasi:

Americki drzavnik Thomas Jefferson je izumio kotac za sifriranje. Vise od

sto godina nakon otkrica, Jeffersonov stroj se poceo koristiti u americkoj

vojsci.

Na ovom primjeru pokazali smo da je razbijanje ”sifre koju je nemoguce razbiti” danom

metodom prilicno jednostavno. Medutim, za duze tekstove racunanje indeksa koinci-

dencije bi zahtijevalo puno vremena, stoga je uvodenje racunala u kriptoanalizu Vi-

genereove sifre uvelike pomoglo.

Page 34: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

31

4. Kriptografija javnog kljuca

Ideju jednog kriptosustava, potpuno drugacijeg od simetricnog kriptosustava,

iznijeli su 1976. godine Whitfield Diffie i Martin Hellman. Nazvali su ga kriptosustav

javnog kljuca. Ideja se sastoji u tome da se koristi kljuc za sifriranje iz kojeg je prakticki

nemoguce, u nekom razumnom vremenu, izracunati kljuc za desifriranje. U tom slucaju

je kljuc za sifriranje javni. Bilo tko moze sifrirati poruku pomocu njega, ali samo osoba

koja ima odgovarajuci kljuc za desifriranje moze desifrirati tu poruku.

Slika 7: Shema kriptografije javnog kljuca

U svrhu realizacije ideje kriptosustava s javnim kljucem, koriste se tzv. osobne jedno-

smjerne funkcije.

Definicija 4.1 Za funkciju f kazemo da je jednosmjerna funkcija, ako je f lako izracunati,

ali je f−1 tesko izracunati. Ako je f−1 lako izracunati ukoliko nam je poznat neki do-

datni podatak, onda za funkciju f kazemo da je osobna jednosmjerna funkcija.

Kriptosustav s javnim kljucem se definira na sljedeci nacin.

Definicija 4.2 Kriptosustav s javnim kljucem se sastoji od dviju familija funkcija za

sifriranje {eK} i desifriranje {dK}, gdje K prolazi skupom svih mogucih korisnika, sa

svojstvima:

1. Za svaki K je dK inverz od eK.

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

3. Za svaki K je eK osobna jednosmjerna funkcija.

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

Ako osoba A zeli poslati poruku x osobi B, onda prvo osoba B posalje, potpuno

otvoreno, osobi A svoj javni kljuc eB. Pomocu eB, osoba A sifrira svoju poruku i

osobi B posalje sifrat y = eB(x). Na kraju, osoba B desifrira sifrat pomocu svojeg

tajnog kljuca dB i dobiva otvoreni tekst dB(y) = dB(eB(x)) = x.

Page 35: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

32

Ako grupa korisnika zeli medusobno komunicirati na ovaj nacin, tada svi korisnici stave

svoje javne kljuceve u neku javnu, svima dostupnu, datoteku. Sada osoba B ne mora

slati svoj javi kljuc osobi A, vec je dovoljno da osoba A iz datoteke procita njegov javni

kljuc i izvrsi sifriranje.

4.1. RSA kriptosustav

Ideju koju su iznijeli Diffie i Hellman, iskoristili su Ronald Rivest, Adi Shamir i

Leonard Adleman i 1977. godine izumili prvi i najsire koristen kriptosustav s javnim

kljucem - RSA kriptosustav. Sigurnost ovog kriptosustava lezi u cinjenici da je fak-

torizacija velikih prirodnih brojeva na produkt dva prosta broja izuzetno teska. RSA

kriptosustav definiramo na sljedeci nacin.

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

neka je

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

Za K ∈ K definiramo

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

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

kljuc.

Sigurnost RSA kriptosustava je u cinjenici da je eK(x) = xe (mod n) jednosmjerna

funkcija. Dodatni podatak koji omogucava desifriranje je poznavanje faktorizacije

n = pq.

Ovdje je ϕ(n) Eulerova funkcija, koja prirodnom broju n pridruzuje broj prirodnih

brojeva manjih od n, koji su relativno prosti s n. U ovom slucaju je

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

Provjerimo sada jesu li funkcije eK i dK jedna drugoj inverzne. U dokazu koristimo

Eulerov teorem:

xϕ(n) ≡ 1 (mod n), za (x, n) = 1.

Imamo

dK(eK(x)) ≡ (eK(x))d ≡ (xe)d ≡ xde (mod n).

Page 36: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

33

Kako je de ≡ 1 (mod ϕ(n)), postoji prirodan broj t takav da je de = t · ϕ(n) + 1 pa

imamo

xde = xt·ϕ(n)+1 = xt·ϕ(n) · x = [xϕ(n)]t · x.

U ovisnosti od n i x imamo 2 slucaja:

1. (x, n) = 1

Tada je prema Eulerovom teoremu xϕ(n) ≡ 1 (mod n) pa dobivamo

xde ≡ 1t · x ≡ x (mod m).

2. (x, n) 6= 1

Ako je (x, n) = n, tada je xde ≡ 0 ≡ x (mod n). Ako je (x, n) = p, onda je xde ≡ 0 ≡ x

(mod p). Kako je (x, pq) = p, gdje su p i q prosti brojevi, to je (x, q) = 1 pa je prema

Eulerovom teoremu

xϕ(q) = xq−1 ≡ 1 (mod q).

Sada je

xde = (xq−1)(p−1)·t · x ≡ x (mod q).

Konacno je xde ≡ x (mod pq), tj. xde ≡ x (mod n). Slucaj (x, n) = q je analogan. U

svakom slucaju je xde ≡ x (mod n), pa vrijedi dK(eK(x)) = x. 2

Izbor parametara u RSA kriptosustavu vrsimo na sljedeci nacin:

1. Tajno izaberemo dva velika prosta broja p i q, od kojih svaki ima barem 100

znamenki. Obicno se izaberu tako da jedan od njih ima nekoliko znamenki vise od

drugog.

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

3. Odaberemo broj e takav da je relativno prost s ϕ(n). Obicno se uzme da je e < ϕ(n).

4. Racunamo broj d takav da je de ≡ 1 (mod ϕ(n)) pomocu prosirenog Euklidovog

algoritma.

Ilustrirajmo na sljedecem primjeru sifriranje i desifriranje u RSA kriptosustavu na

malim parametrima radi jednostavnosti.

Page 37: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

34

Primjer 4.1 Osoba A salje osobi B poruku x = 12.

Osoba B bira proste brojeve p = 5 i q = 7 te racuna n = pq = 35 i ϕ(n) = 24. Zatim

odabire broj e koji mora biti relativno prost s 24. Neka je e = 11. Sada racuna broj d iz

kongruencije 11 · d ≡ 1 (mod 24) primjenom prosirenog Euklidovog algoritma (vidjeti

[8]) na brojeve 11 i 24 :

24 = 11 · 2 + 2

11 = 2 · 5 + 1

2 = 1 · 2

Krenuvsi od pretposljednjeg retka

1 = 11 − 2 · 5 = 11 − (24 − 11 · 2) · 5 = 11 − 24 · 5 + 11 · 2 · 5 = 11 · 11 − 24 · 5

osoba B zakljucuje da d = 11 zadovoljava uvjet de ≡ 1 (mod n). Vrijednosti p, q, d

zadrzava za sebe, a vrijednosti n i e salje osobi A ili ih upisuje u javnu datoteku iz koje

ih osoba A moze procitati. Osoba A sada racuna eK(x) = 1211 (mod 35):

1211 = 122 · 123 · 123 · 123 ≡ 4 · 13 · 13 · 13 ≡ 3 (mod 35).

Dakle, dobiveni sifrat je y = eK(x) = 3 te ga osoba A salje osobi B. Osoba B pomocu

broja d racuna dK(x) = 311 (mod 35):

311 = 33 · 34 · 34 ≡ 27 · 11 · 11 ≡ 12 (mod 35)

i dobiva originalnu poruku x = 12.

Buduci da je vrijednost broja n javna, kriptoanaliza RSA kriptosustav je moguca fak-

torizacijom broja n na produkt dva prosta broja sto je izuzetno tesko jer se uzimaju

prosti brojevi od kojih svaki ima barem 100 znamenki. Ako napadac uspije faktori-

zirati broj n, tada moze izracunati ϕ(n) te broj d rjesavajuci kongruenciju de ≡ 1

(mod ϕ(n)). Pretpostavimo da napadac zna sifrat te na sljedecem primjeru pokazimo

kriptoanalizu RSA kriptosustava.

Primjer 4.2 Napadac je doznao da je sifrat y = 793 i n = 1189.

Napadac faktorizira n kao 1189 = 29 · 41 te racuna ϕ(n) = 1120. Zatim odabire broj e

relativno prost s 1120. Neka je e = 23. Sada racuna broj d iz kongruencije 23 · d ≡ 1

(mod 1120) i dobiva d = 487. Sifrat y = 793 desifrira pomocu tajnog kljuca d = 487:

dK(x) = 793487 (mod 1189)

i dobiva originalnu poruku x = 15.

Page 38: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

35

5. Zakljucak

Ljudi su od davnina zeljeli sigurno komunicirati pa su stoga razvili metode za

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

proslog stoljeca to su bile metode sifriranja olovkom i papirom ili nekim jednostavnim

pomagalom. Pocetkom 20. stoljeca, izumom slozenih mehanickih i elektromehanickih

uredaja, omoguceno je sofisticiranije i efikasnije sifriranje. Daljnjim izumom elektro-

nickog racunala doslo je do uporabe jos slozenijih kriptografskih metoda. Usporedno

s razvojem kriptografije, razvila se i znanstvena disciplina kriptoanaliza. Daljnim

napretkom tehnologije napredovat ce i kriptografija i kriptoanaliza te se moze ocekivati

razvoj novih metoda i usavrsavanje starih postupaka za provodenje kriptoanalize.

Page 39: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

36

Literatura

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

[2] B. Ibrahimpasic, RSA kriptosustav, Osjecki matematicki list, 5(2005), 101.–112.

[3] N. Koblitz, A course in number theory and cryptography; Graduate Texts in Math-

ematics Springer-Verlag, New York, 1994.

[4] B. Pavkovic, B. Dakic, P. Mladinic, Elementarna teorija brojeva, Element, Zagreb,

1994.

[5] J. Stillwell, Elements of Number Theory; Undergraduate Texts in Mathematics

Springer-Verlag, New York, 2003.

[6] http://os2.zemris.fer.hr/algoritmi/simetricni/2005 skoric/seminar/index.html

[7] http://web.math.hr/ duje/kript/kriptografija.html

[8] http://web.math.hr/ duje/utb/utblink.pdf

[9] http://web.zpr.fer.hr/ergonomija/2005/galinovic/PovijestKriptografije.pdf

Page 40: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

37

Sazetak

Osobama koje sudjeluju u komunikaciji nije uvijek dostupan siguran komunikacijskikanal pa svoje poruke moraju zastititi. Jedan od nacina zastite je upotreba kripto-grafije, znanstvene discipline koja se bavi proucavanjem metoda za slanje poruka utakvom obliku da ih samo onaj kome su namijenjene moze procitati. U radu je opisanaklasicna kriptografija i kriptografija javnog kljuca. Na primjerima je prikazana prim-jena kongruencija u kriptografiji.

Page 41: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

38

Abstract

Persons involved in communication don’t have a secure communication channel alwaysso their messages must be protected. One method of protection is the use of crypto-graphy, the scientific discipline that studies methods for sending messages, in a formthat only the person, to whom the message was intended to, can read it. This workdescribes classical cryptography and public key cryptography. Examples that representappliance of the congruence in cryptography are given in this work.

Page 42: Sonja Puaˇc - mathos.unios.hrmdjumic/uploads/diplomski/PUA02.pdf · 1 1. Uvod Ljudi su oduvijek ˇzeljeli sigurno komunicirati, ali su bili svjesni da, putuju´ci nesigurnim komunikacijskim

39

Zivotopis

Rodena sam 12. veljace 1986. godine u Osijeku. ”Osnovnu skolu Antuna Mihanovica”zavrsila sam 2000. godine. Iste godine upisala sam ”I. Gimnaziju” u Osijeku koju samzavrsila 2004. godine. Nakon zavrsetka srednje skole, upisala sam ”Preddiplomski studijmatematike” na Odjelu za matematiku. Po zavrsetku trogodisnjeg studija, 2007. godineupisujem diplomski studij sa smjerom ”Financijska i poslovna matematika”, takoderna Odjelu za matematiku.