18
Sveuˇ ciliˇ ste J. J. Strossmayera u Osijeku Odjel za matematiku Preddiplomski studij matematike Antonija ˇ Zivkovi´ c ˇ Skolska kriptografija Zavrˇ sni rad Osijek, 2014.

Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

  • Upload
    doandan

  • View
    227

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Sveuciliste J. J. Strossmayera u Osijeku

Odjel za matematiku

Preddiplomski studij matematike

Antonija Zivkovic

Skolska kriptografija

Zavrsni rad

Osijek, 2014.

Page 2: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Sveuciliste J. J. Strossmayera u Osijeku

Odjel za matematiku

Preddiplomski studij matematike

Antonija Zivkovic

Skolska kriptografija

Zavrsni rad

Voditelj: doc. dr. sc. Ivan Matic

Osijek, 2014.

Page 3: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Sazetak. U ovom radu objasniti cemo razne kriptosustave koji su prilagodeni

razrednoj nastavi. Definirati cemo kriptografiju i pojmove koji su nam potrebni za rad

sa ovim kriptosustavima. Takoder, za svaki kriptosustav navesti cemo primjere kako

bismo sto bolje objasnili njihov princip.

Kljucne rijeci: kriptografija, kriptografija u skoli, kriptosustav, javni kljuc, tajni

kljuc, sifrat, sifriranje, desifriranje.

Abstract. In this work we are going to explain different cryptosystems which are

adapted to classroom teaching. We will define cryptography and concepts that we need

to work with these cryptosystems. Also, we will give an exemple for every cryptosystem

so we could explain better their principle.

Keywords: Cryptography, cryptography in school, cryptosystem, public key, se-

cret key, ciphertext, encryption, decryption.

Page 4: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Sadrzaj

1. Uvod 1

2. Kriptografija - osnovni pojmovi 2

3. Kriptografija u skoli 3

3.1. Cezarova sifra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.2. Vigenereova sifra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.3. Tajni protokol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.4. RSA kriptosustav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.5. Djecji RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.6. Savrsen kod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Page 5: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 1

1. Uvod

Cilj ovog zavrsnog rada je prouciti kriptosustave koji se mogu koristiti u osnovnim i

srednjim skolama, proci kroz tehnike rada tih kriptosustava i navesti primjere. Kako

bi uopce dosli do kriptosustava prvo moramo definirati osnovne pojmove kriptografije

kao znanstvene discipline. Zatim cemo objasniti svrhu kriptografije u skoli, te kroz sest

kriptosustava pokazati da su oni uistinu potrebni u radu s djecom i razvijanju njihove

inteligencije.

Zanimljive metode sifriranja, kao i otkrivanje metoda za razbijanje sustava za

sifriranje, omogucavaju ucenicima da osjete snagu i ljepotu matematike.

Page 6: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 2

2. Kriptografija - osnovni pojmovi

Rijec kriptografija dolazi od grckog pridjeva kriptos sto znaci skriven i glagola grafo

sto znaci pisati.

Definicija 2.1 Kriptografija ili sifriranje je znanstvena disciplina koja se bavi pro-

nalazenjem i analiziranjem metoda pomocu kojih je poruku moguce poslati u obliku u

kojem ju nece moci procitati nitko osim onih kojima je namijenjena.

Osnovni pojmovi kriptografije su posiljatelj - primatelj - protivnik (Alice− Bob−Eve), sifriranje, kodiranje, desifriranje i kljuc. Poruka koju Alice zeli poslati Bobu na-

ziva se otvoreni tekst. Otvoreni tekst moze biti bilo koja rijec, neki znakovi, numericki

podaci ili nesto slicno. Prije slanja Alice transformira otvoreni tekst unaprijed dogo-

vorenim kljucem sifriranja. Na taj nacin otvoreni tekst postaje sifrirani tekst, sifrat

ili kriptogram. Ako slanje poruke presijece Eve, ona vidi sifrat, ali ne moze doci do

otvorenog teksta, odnosno, ne moze desifrirati poruku.

Sifra je ureden par dvije funkcije koje ovise o kljucu, posiljatelju i primatelju. Sifra

se koristi za sifriranje i desifriranje.

Kriptosustav se sastoji od sifri, skupa svih otvorenih tekstova, kljuceva i sifrata.

Kriptosustavi se dijele u dvije skupine, kriptosustave s javnim i kriptosustave s tajnim

kljucem. Jos su stari Grci i Rimljani koristili kriptosustav s tajnim kljucem. Kod ovih

kriptosustava moguce je otkriti kljuc za desifriranje ako je poznat kljuc za sifriranje i

obrnuto. Sva sigurnost ovih kriptosustava lezi u kljucu. Za razliku od kriptosustava s

tajnim kljucem, kod kriptosustava s javnim kljucem svatko moze sifrirati poruku, ali

samo ona osoba koja posjeduje tajni kljuc za desifriranje ju moze desifrirati.

Page 7: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 3

3. Kriptografija u skoli

Kriptografija u skoli znatno doprinosi nastavi matematike. Najprije joj daje kreativ-

nost, dramaticnost i uzbudljivost, sto nastavi matematike najvise nedostaje. Kripto-

grafija je nesto sasvim drugacije od rjesavanja zadataka gotovom formulom, na sto su

ucenici navikli, te u njima budi osjecaj znatizelje. Daje ucenicima da sami pronalaze

vlastite tehnike kljuceva i sifri, a kada dodu do rjesenja zadovoljni su sami sobom sto

su otkrili nesto novo.

Definicija 3.1 Kid Krypto je razvoj kriptografske ideje koja je prihvatljiva i privlacna

onima koji nemaju sveucilisnu matematicku obuku.

3.1. Cezarova sifra

Cezarova sifra je najjednostavniji i najrasprostranjeniji nacin sifriranja. Potjece jos

od Julija Cezara, rimskog vojskovode po kome je dobila ime. On je koristio alfabet s

lijevim pomakom od tri mjesta u vojne svrhe sto je zabiljezeno u Svetonijskom tek-

stu ”Dvanaest Cezara”. Nigdje nije zapisano koliko je Cezarova sifra bila ucinkovita

u njegovo vrijeme, ali se pretpostavlja da je bila dovoljno sigurna buduci da vecina

njegovih neprijatelja nije znala latinski, a i primjena kriptoanalize u tom vremenu bila

je nemoguca. Cezarova sifra koristena je dugo vremena, cak i u 19. stoljecu koristila

ju je ruska vojska zato sto je znatno jednostavnija od ostalih.

Danas Cezarovu sifru nalazimo u djecjim igrama, a pogodna je i za rad u skolama.

Cesto se koristi u izradi slozenijih nacina sifriranja, a suvremenu upotrebu ima u sus-

tavu ROT13.

Cezarova sifra se sastoji od toga da se svako slovo otvorenog teksta zamijeni slovom

koje se nalazi n mjesta dalje u alfabetu. Koristiti cemo se hrvatskim alfabetom od 30

slova (Slika 1).

Sifriranje i desifriranje Cezarovom sifrom mozemo opisati pomocu sljedece dvije

funkcije:

En(x) = (x+ n) mod 30

Dn(x) = (x− n) mod 30

pri cemu je 1 ≤ n ≤ 30, a svako slovo abecede x zamijenili smo pripadnim rednim

brojem.

Pogledajmo sada kako sifrirati neki tekst. Sifrirajmo primjerice rijec POBJEDNIK

s pomakom n = 5. Najprije svakom slovu pridodamo njegov broj. Tada je P =

22, O = 21, B = 2, J = 14, E = 9, D = 6, N = 19, I = 13, K = 15. Zatim, koristeci

gore navedenu funkciju En dobivamo sifrat U T DZ N J G S M NJ.

Razbijanje Cezarove sifre mozemo promatrati kroz dva slucaja. U prvom slucaju

protivnik sumnja da se radi o sifri zamjene, ali nije siguran da se radi o Cezarovoj sifri.

Za razbijanje sifre tada se koristi tehnikama kao sto je frekvencijska analiza slova. Za

Page 8: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 4

ovu tehniku dobro je znati kojim je jezikom tekst pisan. Primjerice, najfrekventnija

slova u hrvatskom jeziku su A, I, O, i E, a najmanje zastupljena su F, C i C. U engleskom

jeziku najfrekventnija su E, T, A, O, I, a u njemackom E, N, I, R, S. U drugom slucaju

protivnik zna da se radi o Cezarovoj sifri, ali ne zna vrijednost pomaka. U ovom slucaju

je najjednostavnije doci do rjesenja zato sto je broj mogucih pomaka mali (u nasem

slucaju je 30).

Na primjer, zelimo li desifrirati tekst D U G R H P C P redom isprobavamo pomake

i uocavamo da s pomakom n = 4 dobivamo rijec FAKULTET.

Cezarova sifra vrlo se lako probija i ne pruza sigurnost u komunikaciji.

Slika 1: Hrvatski alfabet

3.2. Vigenereova sifra

Vigenereova sifra je slicna Cezarovoj sifri. Naime, ona se sastoji od niza Cezarovih sifri

s razlicitim pomacima. Ova metoda otkrivana je vise puta. U 19. stoljecu pripisana

Page 9: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 5

je Blaiseu de Vigenereu te dobila naziv Vigenereova sifra iako ju je prvi opisao Giovan

Battista Bellaso.

Kljuc kod Vigenereove sifre je sacinjen od bloka slova, odnosno od neke rijeci koju

smo sami odabrali. Sifriranje se vrsi sljedecim postupkom. Ako smo za kljuc izabrali

rijec PAS gdje slova imaju pripadne brojeve 22, 1 i 24 u hrvatskom alfabetu, onda prvo

slovo otvorenog teksta pomicemo za 22 mjesta, drugo za 1 mjesto, trece za 24, cetvrto

za 22 mjesta, peto za 1 mjesto i tako redom.

Desifriranje poruke se temelji na pogadanju. Prvo treba pogoditi duljinu kljucne

rijeci. Ako je kljucna rijec sastavljena od tri slova, napravimo frekvencijsku analizu

svakog treceg slova sifrata.

Za sifriranje i desifriranje moze se koristiti i tablica alfabeta zvana Vigenereova

tablica, Vigenereov kvadrat ili tabula recta.

Slika 2: Vigenereov kvadrat

3.3. Tajni protokol

Ovo je jedan od vrlo korisnih kriptosustava u nastavi, ali i u provodenju numerickih

anketa. Pretpostavimo kako ucitelj zeli saznati koliko vremena ucenici kroz tjedan

Page 10: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 6

provode uceci izvan nastave. Ako bi ucitelj upitao to pitanje bilo kojeg ucenika direktno

vrlo vjerojatno ne bi dobio iskrene odgovore. Oni ucenici koji puno uce svoju satnicu bi

smanjili, a oni koji se jedva dotaknu knjige uvecali bi. Zato, ucitelj ovu anketu provodi

tajnim protokolom. Zapocinje tako sto odabere jednog od ucenika, Ivana, koji izabire

”tajni” cijeli broj n. Ivan broj n uvecava za broj sati koji tjedno provodi uceci te

dobiveni zbroj prenosi Mariji. Marija dobiveni broj uvecava za broj sati svoga ucenja

te proslijedi zbroj Sanji. Sanja broju koji je dobila dodaje svoju satnicu i prosljeduje

novi zbroj Filipu. Filip takoder uvecava dobiveni broj za svoje sate utrosene na ucenje

i on svoj zbroj govori Ivanu koji je zapoceo krug. Ivan od broja kojeg je dobio od Filipa

oduzima svoj tajni broj n koji je zamislio na pocetku te dobiva ukupan broj sati koji

ucenici u razredu provode uceci i taj broj prenosi ucitelju.

U ovom slucaju tajni protokol se moze razbiti ako dvoje ili vise ucenika suraduje.

Ako Marija i Filip suraduju, mogu doznati koliko sati uci Sanja. Marija zna svoj broj

koji je proslijedila Sanji, a Filipu je poznat broj koji je dobio od Sanje. Oduzimanjem

broja koji je Marija proslijedila Sanji od broja koji je Filip dobio od Sanje dobivamo

broj sati koje Sanja provede uceci.

3.4. RSA kriptosustav

RSA kriptosustav je kriptosustav s javnim kljucem. To je prvi i najkoristeniji takav

kriptosustav. Izumljen je od strane americkih znanstvenika Ronalda Rivesta, Adija

Shamira i Leonarda Adlemana 1977. godine. Od tada do danas RSA (Rivest - Sha-

mir - Adleman) kriptosustav pripada najrasprostranjenijim kriptosustavima s javnim

kljucem. Ovaj kriptosustav je vrlo siguran, a njegova sigurnost lezi u tezini faktorizacije

velikih prirodnih brojeva.

Definicija 3.2 Neka je n = p · q, gdje su p i q prosti brojevi. Neka je

κ = {(n, p, q, d, e) : n = p · q, p, q prosti, de ≡ 1 (mod ϕ(n))}.

Za K = (n, p, q, d, e) ∈ κ definiramo

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

Vrijednosti n i e su javne,odnosno (n, e) predstavlja javni kljuc,a vrijednosti p, q i d su

tajne, odnosno tajni kljuc je (p, q, d).

U navedenoj definiciji ϕ(n) predstavlja Eulerovu funkciju, a u ovom slucaju ϕ(n) =

ϕ(p · q) = (p− 1)(q − 1). Funkcije eK i dK su medusobno inverzne. Funkciji eK je jako

tesko odrediti inverz ako faktorizacija n = p · q nije poznata. Odabir parametara za

RSA kriptosustav moze se opisati sljedecim postupkom:

1. Izaberemo dva tajna prosta broja p i q slicne velicine do oko 100 znamenaka.

Page 11: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 7

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

3. Odaberemo broj e takav da je (ϕ(n), e) = 1.

4. Kljuc za sifriranje (n, e) stavimo u javni direktorij.

3.5. Djecji RSA

Djecji RSA je pojednostavljeni RSA kriptosustav koji se primjenjuje u srednjoskolskoj

nastavi. Medutim, kako bi nastavnici mogli obradivati ovaj kriptosustav, ucenici mo-

raju biti upoznati s osnovama teorije kongruencija i prikazivanjem brojeva u razlicitim

bazama. Postupak djecjeg RSA promotrimo pomou Alice i Boba.

Alice izabire brojeve a, b, a′, b′ i definira sljedece :

M = ab− 1,

e = a′M + a,

d = b′M + b,

n =(ed− 1)

M= a′b′M + ab′ + a′b+ 1.

Sada ona ima svoj javni kljuc (n, e) i tajni kljuc d. Definiramo sljedece funkcije:

eALICE(x) = ex (mod n)

dALICE(y) = dy (mod n)

gdje otvoreni tekst predstavlja prirodan broj x. Funkcije eALICE i dALICE su medusobno

inverzne. Neka je 0 ≤ x ≤ n, tada je

dALICE(eALICE(x)) ≡ dex ≡ (b′M + b)(a′M + a)x ≡ (a′b′M2 + ab′M + a′bM + ab)x

≡ (Mn+ 1)(x) ≡ x (mod n) = x.

Zatim, Bob bira cijele brojeve a1, b1, a′1, b

′1 te kao i Alice definira:

M1 = a1b1 − 1,

e1 = a′1M1 + a1,

d1 = b′1M1 + b1,

n1 =(e1d1 − 1)

M1

= a′1b′1M1 + a1b

′1 + a′1b1 + 1.

Takoder, analogno definira i funkcije

eBOB(x) = e1x (mod n1)

dBOB(y) = d1y (mod n1).

Page 12: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 8

Bob dobiva svoj javni kljuc (n1, e1) i tajni d1. Pretpostavimo da Alice zeli Bobu poslati

poruku x. Sifriranje vrsi redom racunajuci :

y = dALICE(x)

z = eBOB(y)

i Bobu salje poruku y. Bob primljenu poruku desifrira ovako:

eALICE(dBOB(z)) = eALICE(dBOB(eBOB(y))) = eALICE(y) = x.

Primjerice, pretpostavimo da Alice zeli Bobu poslati poruku ALICE. Prvo poruku

pretvorimo u numericku vrijednost. Kako ne bismo imali prevelike brojeve pretvaranje

obavljamo po blokovima od tri slova. Ako poruka nije visekratnik broja 3, nadopunimo

ju s praznim mjestima. Pretvaranje vrsimo u bazi 27 pri cemu slovu A pridodajemo broj

1, slovu B broj 2, slovu C broj 3, . . . , slovu Z broj 26, a praznom mjestu pridodajemo

vrijednost 0. Najprije sifrirajmo poruku ALI, a zatim CE.

x = (ALI)27 = (1 · 272 + 12 · 27 + 9)10 = (1062)10

Pretpostavimo da je Alice izabrala sljedece brojeve: a = 15, b = 12, a′ = 10, b′ = 11.

Dobila je brojeve: M = 179, e = 1805, d = 1981, n = 19976. Njezin javni kljuc je

(n, e) = (19976, 1805). Jednako kao i Alice, Bob je proizvoljno odabrao brojeve a1 =

10, b1 = 8, a′1 = 15, b′1 = 13 i dobio svoj javni kljuc (n1, e1) = (15656, 1195) i tajni kljuc

d1 = 1035. Alice pri sifriranju prvo koristi svoj tajni kljuc d = 1981 i racuna

y = 1981x (mod 19976) = 6342

te pomocu Bobovog javnog kljuca dobiva

z = 1195y (mod 15656) = 1186.

Kada Bob primi sifrirani tekst, kako bi ga desifrirao prvo koristi svoj tajni kljuc d1,

1035 · 1186 (mod 15656) = 6342 = y

a zatim Alicein javni kljuc (n, e)

1085 · 6342 (mod 19976) = 1062 = x.

Djecji RSA kriptosustav moze se probiti pronalazenjem broja d takvog da je de ≡ 1

(mod n) pri cemu taj broj d ne mora biti Alicein tajni kljuc. Takav broj moguce je

pronaci pomocu Euklidovog algoritma. Medutim, Euklidov algoritam se ne koristi u

srednjim skolama, tako da ucenici nisu u mogucnosti razbiti ovaj kriptosustav. Upravo

ovakva situacija, kao i mnoge druge slicne poticu nastavnike da u svoju nastavu uvedu

pojam Euklidovog algoritma.

Page 13: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 9

Primjer 3.1 Pomocu djecjeg RSA kriptosustava sifrirajmo poruku CVIJET.

Sifrirajmo najprije prvi dio poruke CV I:

x = (CV I)27 = 3 · 272 + 22 · 27 + 9)10 = (2790)10

Izaberemo cijele brojeve: a = 12, b = 8, a′ = 10, b′ = 13, a zatim izracunamo M =

95, e = 962, d = 1243, n = 12587. Sada imamo svoj javni kljuc (n, e) = (12587, 962) i

tajni d = 1243. Primatelj takoder izabire svoje brojeve a1 = 10, b1 = 11, a′1 = 12, b′1 =

13 i dobiva M1 = 109, e1 = 1318, d1 = 992, n1 = 11995. Njegov javni kljuc je (n1, e1) =

(11995, 1318), a tajni d1. Sifriramo tekst koristeci svoj tajni i primateljev javni kljuc:

y = 1243 · 2790 (mod 12587) = 6545

z = 1318 · 6545 (mod 11995) = 1905

i primatelju saljemo sifrat 1905.

Sifrirajmo sada ostatak poruke.

x1 = (JET )27 = (10 · 272 + 5 · 27 + 20)10 = (7445)10

y1 = 1243 · 7445 (mod 12587) = 2690

z1 = 1318 · 2690 (mod 11995) = 6895

Sifrat ovog dijela je 6895.

Primatelj desifrira poruku koristeci svoj tajni i posiljateljev javni kljuc:

992 · 1905 (mod 11995) = 6545 = y

6545 · 962 (mod 12587) = 2790 = x = (CV I)

992 · 6895 (mod 11995) = 2690 = y1

962 · 2690 (mod 12587) = 7445 = x1 = (JET ).

3.6. Savrsen kod

Ovaj kriptosustav spada u kriptosustave s javnim kljucem. Pogodan je za koristenje

u srednjim skolama, a za njegovu primjenu potrebni su neki pojmovi iz teorije grafova

koje cemo navesti.

Definicija 3.3 Graf je skup tocaka koje nazivamo vrhovi, od kojih su neki povezani

crtama koje zovemo bridovi. Susjedstvo danog vrha sastoji se od samog tog vrha, te

svih vrhova koji su njime povezani bridom.

Definicija 3.4 Savrsen kod u grafu je podskup skupa vrhova sa svojstvom da je svaki

vrh grafa u susjedstvu jednog i samo jednog vrha iz tog podskupa. Graf ne mora posje-

dovati savrsen kod, ali grafovi o kojima ce ovdje biti rijec imati ce i vise, a ne samo

jedan savrsen kod.

Opisimo sada kako konstruirati graf sa savrsenim kodom:

Page 14: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 10

1. Nacrtati proizvoljan skup vrhova i numerirati ih. Kod savrsenog koda je najbolje

nacrtati od 15 do 25 vrhova.

2. Odabrati savrsen kod A, odnosno neke od vrhova te ih zapisati. Ovi vrhovi su

nam tajni kljuc. (Slika 3)

Slika 3: Savrsen kod A = {2, 6, 11, 14}

3. Povuci bridove od vrhova iz A prema ostalim vrhovima, ali tako da svaki vrh

bude povezan s tocno jednim vrhom iz A. Ovime smo dobili ”zvijezde” cija su

sredista tocke iz A, a ostali vrhovi su ”vanjske tocke”. Slika 4 prikazuje kako ovo

napraviti na jedan od nacina.

Slika 4: ”Zvijezda”

4. Prekriti formu ”zvijezda” povlacenjem po volji mnogo bridova izmedu vanjskih

vrhova. Bridovi se ne smiju vuci iz sredista ”zvijezda” zato sto bi time pokvarili

Page 15: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 11

savrsen kod. S konstrukcijom smo zavrsili kada sredista ”zvijezda” nisu uocljiva.

Graf koji smo dobili prikazan je na Slici 5 i predstavlja javni kljuc.

Slika 5: Javni kljuc

Pretpostavimo da nam je otvoreni tekst cijeli broj m izmedu 0 i 100. Poruku

sifriramo kroz dva koraka, korak A i korak B.

korak A: Uz svaki vrh grafa napisemo cijeli broj xi tako da je∑xi = m. Ove cijele

brojeve napisati cemo u drugoj boji (u ovom slucaju plavoj) kako bi se razlikovali

od onih kojima su oznaceni vrhovi. (Slika 6)

Slika 6: Cijeli brojevi u boji; otvoreni tekst m = 65

korak B: Zbrojimo sve plave brojeve u susjedstvu svakog vrha ukljucujuci i sam taj

vrh. Dobivene vrijednosti upisemo drugom bojom (crvenom) kao sto se vidi na

Page 16: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 12

Slici 7. Sada smo sifrirali poruku. Sifriranu poruku, odnosno graf na kome se

nalaze crveni brojevi i numeracija vrhova, saljemo otvorenim kanalom. U praksi

se najcesce graf salje bez numeriranih vrhova.

Slika 7: Sifrirana poruka

Poruka se desifrira tako sto se zbroje svi crveni brojevi uz vrhove iz savrsenog koda.

Svaki crveni broj je zbroj plavih brojeva iz njegovog susjedstva. U zbroju crvenih

brojeva svi plavi brojevi pojaviti ce se tocno jednom. Sigurnost ovog kriptosustava je

u dobrom prekrivanju savrsenog koda, ali i u protivnikovom nedovoljnom poznavanju

linearne algebre. Izvornu poruku jednostavno je odrediti ako znamo plave brojeve koje

mozemo izracunati pomocu linearnog sustava:

α1ix1 + α2ix2 + α3ix3 + . . .+ αnixn = zi, i = 1, . . . , n.

gdje su x1, x2, x3, . . . , xn nepoznanice (plavi brojvi), zi je crveni broj pri i-tom vrhu, a

koeficijenti α1i, α2i, α3i, . . . , αni jednaki su 0 ili 1. U slucaju da je j-ti vrh u susjedstvu

i-tog vrha, onda je αji = 1, a u suprotnom je αji = 0. Linearni sustav se sastoji od

onoliko jednadzbi koliko ima vrhova. Navesti cemo neke jednadzbe vezane za graf koji

se nalazi na Slici 7:

x1 + x2 + x4 + x5 = 17 (iz vrha 1),

x1 + x2 + x3 + x4 = 26 (iz vrha 2),...

x7 + x8 + x11 = 18 (iz vrha 8),...

x9 + x11 + x12 + x15 = 5 (iz vrha 15).

Page 17: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 13

Rjesavanjem ovog sustava mozemo odrediti izvornu poruku iako nam pripadni savrseni

kod nije poznat. Medutim, ovakav sustav je tezak za rjesavanje ucenicima u srednjim

skolama.

Page 18: Sveu cili ste J.J.Strossmayera u Osijeku Odjel za ...mdjumic/uploads/diplomski/ŽIV09.pdf · njegovih neprijatelja nije znala latinski, ... gdje su pi qprosti brojevi. ... q prosti;

Kriptografija u skoli 14

Literatura

[1] M. Barun, A. Dujella, Z. Franusic, Kriptografija u skoli, Poucak 33 (2008),

40-52.

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

[3] N. Koblitz, Cryptograpy as a teaching tool, Cryptologia 21 (1997) 317 – 326

[4] Cryptography as a teaching tool, dostupno na:

http://faculty.gvsu.edu/aboufade/web/enigma/School/380term.html

[5] http://hr.wikipedia.org/wiki/Kriptografija