Download as pdf or txt
Download as pdf or txt
You are on page 1of 66

SVEUILITE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAUNARSTVA

ZAVRNI RAD br. 2565

KRIPTOGRAFSKI POSTUPCI KORITENI U


KOMUNIKACIJI
I RAZMJENI INFORMACIJA
Andrea Faltis

Zagreb, lipanj 2012.

Sadraj:
1

Uvod .............................................................................................................................................................. 4

Osnove kriptografije ............................................................................................................................. 5


2.1

Povijest kriptografije .................................................................................................................... 5

2.2

Definicija kriptografije ................................................................................................................. 8

2.3

Enkripcija i dekripcija .................................................................................................................. 9

2.3.1

Simetrini algoritmi .......................................................................................................... 10

2.3.2

Asimetrini algoritmi ....................................................................................................... 11

2.4
3

Klasina kriptografija ........................................................................................................................ 14


3.1

Supstitucijske ifre ..................................................................................................................... 16

3.1.1

Cezarova i afina ifra ........................................................................................................ 16

3.1.2

Vigenereova ifra ............................................................................................................... 18

3.1.3

Playfairova ifra .................................................................................................................. 20

3.1.4

Hillova ifra ........................................................................................................................... 21

3.2
4

Kriptoanaliza ................................................................................................................................. 12

Transpozicijske ifre.................................................................................................................. 22

Moderni simetrini blokovni kriptosustavi ............................................................................ 26


4.1

Data Encryption Standard (DES) ......................................................................................... 26

4.1.1

Opis algoritma DES-a ....................................................................................................... 27

4.2

Trostruki DES ................................................................................................................................ 31

4.3

IDEA ................................................................................................................................................... 32

4.4

CAST-128......................................................................................................................................... 32

4.5

Advanced Encryption Standard (AES) .............................................................................. 34

Kriptografija javnog kljua.............................................................................................................. 40


5.1

Diffie-Hellmanov protokol za razmjenu kljueva ........................................................ 40

5.2

RSA kriptosustav ......................................................................................................................... 43

Kvantna kriptografija ........................................................................................................................ 44


6.1

Kvantni protokoli ........................................................................................................................ 45

6.1.1

BB84 ......................................................................................................................................... 45

6.1.2

B92 ............................................................................................................................................ 50

6.1.3

E91 ............................................................................................................................................ 50

6.2

Strategije prislukivanja .......................................................................................................... 51

Kriptografski programi..................................................................................................................... 53

Oblici napada radi neovlatenog pristupa............................................................................... 54


8.1

Vrste napada .................................................................................................................................. 55

8.1.1

Prislukivanje ...................................................................................................................... 55
2

8.1.2

Prekidanje.............................................................................................................................. 55

8.1.3

Promjena sadraja poruka ............................................................................................ 56

8.1.4

Izmiljanje poruka ............................................................................................................. 56

8.2

Koraci napada ............................................................................................................................... 57

8.3

Metode napada ............................................................................................................................. 58

8.4

Alati za upad u raunalni sustav .......................................................................................... 59

8.4.1

NetBus ..................................................................................................................................... 59

8.4.2

Net Devil ................................................................................................................................. 59

8.4.3

Prorat ....................................................................................................................................... 60

8.4.4

Network Mapper (NMap) ................................................................................................. 61

8.4.5

Nessus ...................................................................................................................................... 62

8.4.6

HoneyNet rootkit ............................................................................................................... 63

3.

Zakljuak .................................................................................................................................................. 64

4.

Literatura ................................................................................................................................................ 65

5.

Saetak ...................................................................................................................................................... 66

1 Uvod
Jedno od kljunih sredstava poslovanja, trgovanja i komunikacije u dananje
vrijeme ine informacije koje se svakodnevno izmjenjuju, pohranjuju i obrauju
putem Interneta. Veliki postotak tih informacija predstavlja vrlo vane ili tajne
podatke neke tvrtke ili organizacije. Kako bi se osigurala njihova sigurnosti razvijaju
se razne metode kriptiranja podataka prije njihova slanja putem mree. Sve metode
koje prouavaju skrivanje informacija spadaju u skupinu postupaka kriptografije.
Napredak u postojeim kriptografskim mehanizmima nastavlja se sa stalno rastuim
tempom, da bi zadovoljio potrebe irenja informacijskog drutva u kojem ivimo.
Teko je danas zamisliti ozbiljnu poslovnu aplikaciju koja u sebi nema rijeen
sigurnosni podsustav, poev od bankarskih aplikacija, internet-duana, pa sve do
samih operacijskih sustava. U ovom radu u poblie objasniti osnovne pojmove
vezane za kriptiranje i algoritme koji su se koristili i koji se koriste kako bi se zatitila
privatnost unutar mree.

2 Osnove kriptografije
2.1 Povijest kriptografije
Povijest kriptografije datira tisuama godina unatrag. ovjek je pokuavao
sakriti znaenje poruka otkad je i izumio pismo. Dokaz toj tvrdnji ostao je uklesan u
kamenu i zapisan na papirusu, pokazujui nam da su mnoge drevne civilizacije,
ukljuujui Egipane, Hebreje i Asirce, razvile svoje kriptografske metode.

Slika 2.1 Poeci kriptografije se mogu pronai u staroegipatskim hijeroglifima


Najstarija poznata upotreba kriptografije moe se pronai u obliku hijeroglifa,
uklesanih u staroegipatske spomenike (piramide) stare oko 4500 godina. Premda se
hijeroglifi ne smatraju pismom ija je namjena bila tajna komunikacija, pokuaji
njihovih tvoraca da u svoje uklesane tekstove unesu dozu mistinosti smatraju se
poecima kriptografije.
Spartanci su 400. g. pr. Kr. koristili kriptografsko pomagalo nazvano Scytale,
kako bi slali tajne poruke izmeu svojih vojskovoa. Sastojalo se od podebljeg tapa
oko kojeg se namatao komad papirusa (ili ivotinjske koe) s napisanom porukom.
Jednom kad bi se papirus odmotao sa tapa, poruka bi bila neitljiva, no ukoliko bi se
namotao na tap jednakih dimenzija, izvorna poruka bi ponovno postala itljiva.
5

Slika 2.2 Kriptografsko pomagalo Scytale


Iako kriptografija ima dugu i bogatu povijest, tek je u 19. stoljeu zapoet
razvoj prvih sloenih kriptosustava i napredne kriptoanalize. Poznato je da su se za
vrijeme Amerikog graanskog rata ifrirale brojne poruke. U to doba su Charles
Babbage i Friedrich Kasiski izumili vlastite kriptoanalitike metode koje se i danas
upotrebljavaju.
Do II. svjetskog rata, mehaniki i elektromehaniki kriptografski strojevi su se
poeli masovno koristiti u vladine svrhe. U to doba je dolo do velikog napretka
u probijanju kriptosustava. Najvee kriptoanalitiko otkrie, u dotadanjoj povijeti
kriptografije, bilo je elektomehaniki rotorski stroj pod nazivom Enigma.

Slika 2.3. Njemaki kriptografski stroj Enigma

Sredinom 1970-ih su se dogodila dva velika dogaaja koja su u potpunosti


promijenila daljnji tijek "javnog" koritenja kriptografije. Prvi dogaaj je bio objava
prijedloga "Standarda za ifriranje podataka", poznatog pod akronimom DES ( Data
Encryption Standard ), 17. oujka 1975. godine. Taj je standard postao najpoznatiji
kriptografski algoritam u povijesti, i jo uvijek se koristi kao uobiajeni nain
osiguravanja elektronikog poslovanja u mnogim financijskim institucijama irom
svijeta.
Mnogi su promatrai 1970.-ih kritizirali veliinu kljua od 56 bita. Kako je
vrijeme prolazilo, tako su i nedostaci postajali sve oitiji, posebice nakon pojave
specijaliziranog raunala za probijanje DES-a. Organizacija EFF (Electronic Frontier
Foundation) je 1998. godine svijetu predstavila raunalo DES Cracker
(Probija DES-a). Raunalo je na demonstraciji uspjelo u 56 sati razbiti poruku
ifriranu DES-om. DES je 2001. godine slubeno zamijenjen Naprednim standardom
za ifriranje poznatim pod akronimom AES.

Slika 2.4 Specijalizirani ip namijenjem probijanju DES ifriranih poruka


No ipak, najvei napredak u povijesti kriptografije donijeli su 1975. Diffie i
Hellman u lanku New Directions in Cryptography, opisujui revolucionarni novi
koncept kriptografije s javnim i privatnim kljuem. Ovaj nain kriptografije rijeio je
mnoge probleme koji su prije postojali s distribucijom kljueva. Iako sami autori
7

lanka nisu predloili konkretni algoritam za realizaciju, ideja je bila prilino jasna i
stvoreni su preduvjeti za razvoj novih i boljih kriptografskih sustava. Ve 1978.
godine Rivest, Shamir i Adleman su objavili prvi praktini algoritam s javnim i
privatnim kljuem, koji se naziva po prvim slovima njihovih imena RSA. Algoritam se
bazira na teko rjeivom matematikom problemu faktoriziranja velikih cijelih
brojeva.
U proteklim stoljeima razvijen je iroki spektar protokola i mehanizama za
zatitu sigurnosti informacije u obliku fizikog dokumenta. esto se cilj zatite ne
moe postii samo matematikim algoritmima ili protokolima, nego trai odreene
postupkovne tehnike i potivanje zakona da bi se dolo do traenog rezultata. Jedan
od osnovnih naina zatite vjerodostojnosti informacije je potpis. To je osnovni
element za mnoge usluge zatite kao to je nemogunost krivog predstavljanja,
provjera porijekla informacije, identifikacija, svjedoenje i druge. Za zatitu
informacije u elektronikom obliku potrebni su protokoli koji e zamijeniti papirnate
protokole i koji e biti barem toliko sigurni kao oni koje zamjenjuju. Da bi se do tog
cilja dolo u modernom elektronikom drutvu, potrebno je rijeiti problem s
tehnoloke i s pravne strane. Tehnoloku stranu predstavlja kriptografija. [4]

2.2 Definicija kriptografije


Kriptografija je znanost koja prouava matematike tehnike povezane sa
sigurnosti infomacije: vjerodostojnost, tajnost, provjera porijekla informacije i
identita korisnika, te dokazivanje odgovornosti korisnika za odreenu radnju. Sama
rije kriptografija je grkog podrijetla i mogla bi se doslovno prevesti kao tajnopis.
Vjerodostojnost se brine o tome da ne doe do neovlatene promjene informacije,
kao to su ubacivanje, brisanje ili zamjena informacije. Da bi se osiguralo, mora
postojati nain provjere da li je informacija promijenjena od strane neovlatene
osobe.
Tajnost osigurava da je sadraj informacije dostupan samo onima koji su za to
ovlateni. Tajnost moemo osigurati fizikim metodama ili pomou matematikih
algoritama koji sakrivaju podatke od neovlatenih osoba.
8

Provjera identiteta se koristi na razini korisnika i na razini informacije. Prije


poetka rada veine operacijskih sustava, zahtjeva se predstavljanje korisnika, da bi
se mogla odrediti doputena sigurnosna razina rada. Predstavljanje na razini
informacije znai da za informaciju koja prolazi komunikacijskim kanalom treba
provjeriti odakle dolazi, tko je vlasnik informacije, kojeg datuma je stigla, kojeg je tipa,
koliko je stara itd.
Dokazivanje odgovornosti je vrlo vano u financijskom svijetu. Primjer za to
moe biti podizanje elektronikog novca iz banke. Nakon to je potroio sav novac,
neodgovrni korisnik moe tvrditi da on nije obavio tu radnju i poeli povrat novca na
svoj raun od banke. Banka u tom sluaju mora imati mehanizam dokazivanja da je
upravo taj korisnik odgovoran za tu radnju. Razrijeenje takvih situacija se najee
postie koritenjem nezavisnog posrednika kojem svi vjeruju. [7]

2.3 Enkripcija i dekripcija


Dvije osnovne operacije koje se koriste u kriptografiji su:
-

kriptiranje ili ifriranje

dekriptiranje ili deifriranje

Enkripcija (encription) ili ifriranje je proces u kriptografiji kojim se vri izmjena


podataka tako da se poruka, odnosno informacije, uine neitljivim za osobe koje ne
posjeduju odreeno znanje (klju).
Dekripcija (decryption) ili deifriranje je postupak u kojem se dobivaju originalni
podaci iz kriptiranih.
Postoje dvije osnovne grupe algoritama za enkripciju podataka. To su:
-

simetrini algoritmi (bazirani na jednom tajnom kljuu)

asimetrini algoritmi (bazirani na tajnom i javnom kljuu)

2.3.1 Simetrini algoritmi


Kod simetrine kriptografije isti klju se koristi i za kriptiranje i dekriptiranje
podataka. Poiljalac kriptira podatke tajnim kljuem i tako kriptiranu poruku alje na
odredite. Primalac poruke istim tajnim kljuem moe dekriptirati poruku odnosno doi do
njenog pravog sadraja. Veliki nedostatak ove grupe algoritama je taj da se poiljatelj i
primatelj na neki nain moraju dogovoriti oko tajnog kljua koji e koristiti za
komunikaciju. Proces dogovora oko tajnog kljua predstavlja poseban problem, budui je
razmjenu kljueva potrebno obaviti nesigurnim putem to moe ugroziti privatnost kljua.
Prednost algoritama ove skupine je ta da su iznimno brzi to je glavni razlog njihove
uestale primjene. [1]

Slika 2.5 Prikaz kriptiranja simetrinim algoritmom

10

Algoritam

Veliina kljua (bit)

Veliina bloka (bit)

Blowfish

448

64

CAST-128

128

64

DES

56

64

Triple DES

112/168

64

IDEA

128

64

RC2

1024

64

RC5

832

64

Safer

128

64

Safer-SK

128

64

Skipjack

80

64

Tablica 2.1 Primjeri simetrinih kriptografskih algoritama

2.3.2 Asimetrini algoritmi


Asimetrini algoritmi svoj rad baziraju na koritenju dva kljua umjesto jednoga.
Svaki korisnik u ovome sluaju posjeduje svoj tajni i javni klju. Kljuevi su meusobno
kompatibilni na taj nain da se poruka kriptirana jednim kljuem moe dekriptirati samo
drugim kljuem istog korisnika. Tajni klju je strogo povjerljiv i poznat je samo njegovom
vlasniku, dok se javni klju slobodno distribuira svim korisnicima s kojima se eli
komunicirati ovim putem.
Postupak razmjene podataka u tom sluaju je sljedei:
1) Poiljalac poruku kriptira javnim kljuem primalaca poruke koji je svima poznat i
dostupan.
2) Primalac poruku dekriptira svojim tajnim kljuem koji je poznat jedino njemu.
Na taj nain svako svakome moe poslati enkripcijom zatienu poruku pod uvjetom
da je poznat javni klju primalaca poruke. Poruku kriptirana javnim kljuem primaoca
moe se dekriptirati jedino odgovarajuim tajnim kljuem koji je poznat iskljuivo
primaocu poruke. Na taj nain omoguena je sigurna i jednostavna razmjena podataka
11

izmeu dva korisnika. Javni kljuevi korisnika najee su dostupni putem web-a ili nekog
drugog servisa kako bi se na taj nain olakala njihova distribucija. Samim time uklonjen
je i problem razmjene kljueva koji se javljao kod simetrine kriptografije.

Slika 2.6 Primjer kriptiranja aismetrinim algoritmom

Algoritam

Veliina kljua (bit)

Diffie-Hellman

1024

DSA

1024

ElGamal

1024

RSA

1024

Tablica 2.2 Primjeri asimetrinih kriptografskih alogritama

2.4 Kriptoanaliza
Kriptoanaliza je znanstvena disciplina koja prouava postupke otkrivanja
otvorenog teksta bez poznavanja kljua, te postupke otkrivanja kljua uz poznavanje
otvorenih i/ili kriptiranih tekstova, ili uz poznavanje nekih informacija o otvorenim
i/ili kriptiranim tekstovima.

12

etiri glavne prijetnje sigurnosti su:


1) prekidanje
2) presretanje
3) modifikacija
4) izmiljanje
Napadi na sigurnost se mogu razdvojiti u pasivne i aktivne napade. Pasivnim
napadom se samo prislukuje poslana poruka. Pasivni napad je puno tee detektirati
nego aktivni napad. Aktivni napad ukljuuje mijenjanje poruke, maskiranje, ponovno
slanje i DoS ('Denial of Service') napade.
Razlikujemo etiri osnovna nivoa kriptoanalitikih napada.
1. Samo ifrat
Kriptoanalitiar posjeduje samo ifrat od nekoliko poruka ifriranih pomou
istog algoritma. Njegov je zadatak otkriti otvoreni tekst od to vie poruka ili u
najboljem sluaju otkriti klju kojim su poruke ifrirane.
2. Poznat otvoreni tekst
Kriptoanalitiar posjeduje ifrat neke poruke, ali i njemu odgovarajui
otvoreni tekst. Njegov zadatak je otkriti klju ili neki algoritam za deifriranje poruka
ifriranih s tim kljuem.
3. Odabrani otvoreni tekst
Kriptoanalitiar ima mogunost odabira teksta koji e biti ifriran, te moe
dobiti njegov ifrat. Ovaj napad je jai od prethodnoga, ali je manje realistian.
4. Odabrani ifrat
Kriptoanalitiar je dobio pristup alatu za deifriranje, pa moe odabrati ifrat,
te dobiti odgovarajui otvoreni tekst. Ovaj napad je tipian kod kriptosustava s javnim
kljuem. Tu je zadatak kriptoanalitiara otkriti klju za deifriranje (tajni klju).
5. Potkupljivanje, ucjena, kraa i slino
Ovaj napad ne spada doslovno u kriptoanalizu, ali je vrlo efikasan i esto
primjenjivan u kombinaciji s "pravim" kriptoanalitikim napadima.
13

3 Klasina kriptografija
Osnovni zadatak kriptografije je omoguiti dvjema osobama komuniciranje preko
nesigurnog komunikacijskog kanala (telefonska linija, raunalna mrea, ...) na nain
da trea osoba, koja moe nadzirati komunikacijski kanal, ne moe razumjeti njihove
poruke. Poruku koju poiljalac eli poslati primaocu zvat emo otvoreni tekst.
Poiljalac transformira otvoreni tekst koristei unaprijed dogovoreni klju. Taj
postupak se naziva ifriranje, a dobiveni rezultat ifrat ili kriptogram. Nakon toga
poiljalac poalje ifrat preko nekog komunikacijskog kanala. Protivnik prislukujui
moe doznati sadraj ifrata, ali ne moe odrediti otvoreni tekst. Za razliku od njega,
primalac koji zna klju kojim je ifrirana poruka moe deifrirati ifrat i odrediti
otvoreni tekst. [8]

Slika 2.5 Shema klasine kriptografije


Kriptografski algoritam ili ifra je matematika funkcija koja se koristi za
ifriranje i deifriranje. Openito, radi se o dvije funkcije, jednoj za ifriranje, a drugoj
za deifriranje. Te funkcije preslikavaju osnovne elemente otvorenog teksta u
osnovne elemente ifrata, i obratno. Funkcije se biraju iz odreene familije funkcija u
ovisnosti o kljuu. Skup svih moguih vrijednosti kljueva nazivamo prostor
kljueva. Kriptosustav se sastoji od kriptografskog algoritma, te svih moguih
otvorenih tekstova, ifrata i kljueva.

14

Kriptosustav je ureena petorka (P, C, K, E, D) za koju vrijedi:


1) P je konaan skup svih moguih osnovnih elemenata otvorenog teksta.
2) C je konaan skup svih moguih osnovnih elemenata ifrata.
3) K je prostor kljueva, tj. konaan skup svih moguih kljueva.
4) D je skup svih funkcija deifriranja.
5) Za svaki K K postoji funkcija ifriranja e E i odgovarajua funkcija d D.
Pritom su e: P C i d: C P funkcije sa svojstvom d(e(x)) = x za svaki otvoreni
teskst x P.
Kriptosustave obino klasificiramo s obzirom na sljedea tri kriterija:
1.Tip operacija koje se koriste pri ifriranju
Imamo podjelu na supstitucijske ifre u kojima se svaki element otvorenog
teksta zamjenjuje s nekim drugim elementom, te transpozicijske ifre u kojima se
elementi otvorenog teksta premjetaju. Postoje i kriptosustavi koji kombiniraju ove dvije
metode.
2. Nain na koji se obrauje otvoreni tekst
Ovdje razlikujemo blokovne ifre, kod kojih se obrauje jedan po jedan blok
elemenata otvorenog teksta koristei jedan te isti klju K, te protone ifre kod koji se
elementi otvorenog teksta obrauju jedan po jedan koristei pritom niz kljueva koji se
paralelno generira.
3. Tajnost i javnost kljueva
Ovdje je osnovna podjela na simetrine kriptosustave i kriptosustave s javnim
kljuem. Kod simetrinih ili konvencionalnih kriptosustava, klju za deifriranje se moe
izraunati poznavajui klju za ifriranje i obratno. Ustvari, najee su ovi kljuevi
identini. Sigurnost ovih kriptosustava lei u tajnosti kljua. Zato se oni zovu
i kriptosustavi s tajnim kljuem. Kod kriptosustava s javnim kljuem ili asimetrinih
kriptosustava, klju za deifriranje se ne moe izraunati iz kljua za ifriranje. Ovdje je
klju za ifriranje javni klju. Naime, bilo tko moe ifrirati poruku pomou njega, ali
samo osoba koja ima odgovaraju klju za deifriranje moe deifrirati tu poruku.

15

3.1 Supstitucijske ifre


3.1.1 Cezarova i afina ifra
Rimski vojskovoa i dravnik Gaj Julije Cezar je u komunikaciji sa svojim
prijateljima koristio se ifrom u kojoj su se slova otvorenog teksta zamjenjivala
slovima to su se nalazila tri mjesta dalje od njih u alfabetu (A

D, B

E, itd.).

Pretpostavljamo da se alfabet cikliki nastavlja, tj. da nakon zadnjeg slova Z, ponovo


dolaze A, B, C. Ako bi smo upotrijebili dananji engleski alfabet od 26 slova, onda bi
poznata Cezarova izreka:
VENI VIDI VICI
bila ifrirana ovako:
YHQL YLGL YLFL.
Cezarovu ifru moemo pregledno zapisati na sljedei nain:
otvoreni tekst :

ABCDEFGHIJKLMNOPQRSTUVWXYZ

ifrat:

DEFGHIJKLMNOPQRSTUVWXYZABC

Danas se Cezarovom ifrom nazivaju i ifre istog oblika s pomakom razliitim od


3.

Ako uvedemo prirodnu korespodenciju izmeu slova alfabeta (A-Z) i cijelih

brojeva (0-25) Cezarovu ifru moemo zapisati:


Neka je P=C=K= Z26. Za 0K25 definiramo:
e ( x ) = ( x + K ) mod 26, d ( y ) = ( y - K ) mod 26.
Da bismo dobili barem malo sigurniju ifru, moemo promatrati funkcije za
ifriranje koje e ukljuivati vie od jednog parametra. Najjednostavnija takva
funkcija je afina funkcija e(x) = ax + b. No, tu se pojavljuje jedan novi problem jer
takva funkcija na skupu Z26 ne mora imati inverz (ne mora biti injekcija). Zato
parametar a ne moe biti proizvoljan, ve mora biti relativno prost s modulom 26.

16

Afinu ifru se moe definirati na sljedei nain:


Neka je P=C= Z26, te neka je
K={(a,b) Z26 x Z26 : (a,26) = 1}.
Za K = (a,b) K definiramo
e(x) = ( ax + b ) mod 26, d(y) = a-1 ( y-b ) mod 26.
Ova ifra se zove afinom zato to su funkcije ifriranja afine. Provjerimo je li
uvjet d(e(x)) = x zadovoljen. Zaista,
d(e(x)) = d(ax + b) = a-1 (ax + b - b) = x.
Ovdje a-1 oznaava multiplikativni inverz broja a u prstenu Z26. Budui da broj
26 nije prost, nemaju svi elementi iz Z26 multiplikativni inverz, ve ih imaju upravo
brojevi koji su relativno prosti s 26, tj. za koje vrijedi da je najvei zajedniki djelitelj
od a i 26 jednak 1 (to piemo: (a, 26) = 1). Prikaimo te brojeve zajedno s njihovim
inverzima:

a-1

21 15

11 15 17 19 21 23 25

19

23 11

17 25

Tablica 3.1 Prikaz brojeva s njihovim inverzima

Cezarova i afina ifra su specijalnu sluajevi supstitucijske ifre, koja je


definirana na sljedei nain:
Neka je P=C= Z26 . Prostor kljueva K se sastoji od svih permutacija skupa
{0,1,2,...,25}. Za svaku pormutaciju K definiramo
e(x) =(x), d(y)=-1(y),
gdje je -1 inverzna permutacija od .

17

Ovdje imamo ak 26! 4 1026 moguih kljueva, tako da je napad ispitivanjem


svih moguih kljueva praktiki nemogu, ak i uz pomo raunala. Meutim,
supstitucijsku ifru je mogue lako dekriptirati koristei statistika svojstva jezika na
kojem je pisan otvoreni tekst. Osnovna metoda je analiza frekvencije slova. Broji se
pojavljivanje svakog slova u ifratu, te se distribucija slova u ifratu usporeuje s
poznatim podatcima o distribuciji slova u jeziku na kojem pretpostavljamo da je
napisan otvoreni tekst. Vrlo je vjerojatno da najfrekventnija slova ifrata odgovaraju
najfrekventnijim slovima jezika. Ta vjerojatnost je to vea to je dulji ifrat. Takoer,
korisni

mogu

biti

podatci

najeim bigramima (parovima

slova)

i trigramima (nizovima od tri slova) u jeziku. Kod nizova od etiri ili vie slova,
frekvencije ve uvelike ovise o sadraju teksta, i najfrekventniji nizovi obino dolaze
od jedne rijei koja se esto ponavlja u tesktu (npr. osobnog imena).

3.1.2 Vigenereova ifra


Kod supstitucijske ifre svakom slovu otvorenog teksta odgovara jedinstveno
slovo ifrata. Takve ifre se zovu monoalfabetske. Vigenreova ifra spada u
polialfabetske kriptosustave. Naime, kod nje svako slovo otvorenog teksta moe se
preslikati u jedno od m moguih slova (gdje je m duljina kljua), u ovisnosti o svom
poloaju unutar otvorenog teksta.
Vigenereova ifra je definirana na sljedei nain:
Neka je m fiksan prirodan broj. Definiramo P=C=K=(Z 26)m. Za klju
K=(k1,k2,...,km), definiramo
e( x1, x2 , ... , xm ) = ( x1+26 k1, x2+26 k2, ... , xm+26 km)
d( y1, y2 , ... , ym ) = ( y1-26 k1, y2-26 k2, ... , ym-26 km)
Dakle, slova otvorenog teksta pomiemo za k1, k2, ... ili km mjesta, u ovisnosti o
tome na kojem se mjestu u otvorenom tekstu nalaze (prezinije, pomak ovisi o ostatku
koji dobijemo kada poziciju slova podijelimo s duljinom kljua m). Kod ove su ifre
osnovni elementi otvorenog teksta i ifrata "blokovi" od po m slova. No, ifriranje se
zapravo provodi "slovo po slovo", pa ovdje nije nuno nadopuniti zadnji blok ako broj
slova u otvorenom tekstu nije djeljiv s m.

18

Ako je m = 4 i kljuna rije BROJ. Njezin numeriki ekvivalent je klju K = (1, 17,
14, 9). Pretpostavimo da je otvoreni tekst KRIPTOLOGIJA. ifriranje se provodi na
sljedei nain:
10 17 8 15

19 14 11 14

1 17 14 9

1 17 14 9

6 8

9 0

1 17 14 9

+26 ______________________________________________________
11 8 22 24

20 5 25 23

7 25 23 9

Dakle, ifrat je LIWYUFZXHZXJ. Uoimo da se prvo slovo O preslikalo u F, a drugo u X.


Vigenreova ifra je jedan od najpopularnijih kriptosustava u povijesti. ak je
1917. u asopisu "Scientific American" objavljeno da je ovu ifru "nemogue razbiti",
to naravno nije bilo tono, jer su kriptoanalitiari ve pola stoljea prije toga
poznavali metode za napad na Vigenreovu ifru.
Prvi korak kod kriptoanalize Vigenereove ifre je odreivanje duljine kljune
rijei. Nju moemo odrediti metodom koja se zove Kasiskijev test. Metoda se zasniva
na injenici da e dva identina segmenta otvorenog teksta biti ifrirana na isti nain
ukoliko se njihove poetne pozicije razlikuju za neki viekratnik od m, gdje
je m duljina kljua. Obrnuto, ako uoimo dva identina segmenta u ifratu, duljine
barem 3, tada je vrlo vjerojatno da oni odgovaraju identinim segmentima otvorenog
teksta. U Kasiskijevom testu u ifrati traimo parove identinih segmenata duljine
barem 3, te zabiljeimo udaljenosti izmeu njihovih poetnih poloaja. Ako na takav
nain dobijemo udaljenosti d1, d2, ... , onda je razumna pretpostavka da m dijeli
veinu di-ova. Nakon to odredimo m, nalazimo se u slinoj situaciji kao kod Cezarove
ifre. Naime, ako pogledamo samo ona slova koja su ifrirana pomakom za k1 slova (a
ako znamo m, onda znamo i koja su to slova), onda su ona ifrirana obinom
Cezarovom ifrom. Situacija je ipak neto tea nego kod obine Cezarove ifre, zbog
toga to to ovdje nisu uzastopna slova u otvorenom tekstu, pa njihovim deifriranjem
neemo dobiti smisleni tekst. Zato emo opisati jo jednu metodu za razbijanje
Vigenreove ifre.

19

Kad odredimo duljinu kljune rijei, samu kljunu rije moemo odrediti
pomou meusobnog indeksa koincidencije dvaju nizova.
Neka su x = x1 * x2 * ... * xn i y = y1 * y2 * ... * yn' dva niza od n, odnosno n' slova.
Meusobni indeks koincidencije od x i y, u oznaci MIc (x, y), definira se kao
vjerojatnost da je sluajni element od x jednak sluajnom elementu od y. Ako
frekvencije od A, B, C, ..., Z u x i y oznaimo s f0 , f1 , ... , f25 , odnosno f0', f1', ... , f25', onda
je:

MIc =

25
=0 fifi

3.1.3 Playfairova ifra


To je bigramska ifra, u smislu da se ifriraju parovi slova i to tako da rezultat
ovisi i o jednom i o drugom slovu. Algoritam za ifriranje se bazira na 5 5 matrici
slova, koja se konstruira koristei kljunu rije. Na primjer, ako je kljuna rije
PLAYFAIR, onda matrica izgleda ovako:
P L A Y F
IJ R B C D
E G H K M
N O Q S T
U V W X Z
Budui da imamo 25 slova, dogovor je da se slova I i J poistovjete. ifriranje se
sada vri na sljedei nain. Najprije podijelimo otvoreni tekst na blokove od po dva
slova. Pritom pazimo da se niti jedan blok ne sastoji od dva jednaka slova, te da je
duljina teksta parna. I jedno i drugo postiemo umetanjem npr. slova X ukoliko je to
potrebno.

20

Kod ifriranja bloka od dva slova, mogu nastupiti tri sluaja, ovisno o poloaju
slova u matrici:
1. Slova se nalaze u istom retku. Tada ih zamijenimo sa slovima koja se nalaze za
jedno mjesto udesno (cikliki, tj. iza najdesnijeg slova dolazi najljevije slovo iz
istog retka). Npr. EH

GK, ST

TN, FP

PL.

2. Slova se nalaze u istom stupcu. Tada ih zamijenimo sa slovima koja se nalaze


za jedno mjesto ispod (cikliki, tj. iza najdonjeg slova dolazi najgornje slovo iz
istog stupca). Npr. OV

VL, KY

SC, PI

IE.

3. U protivnom, pogledamo pravokutnik koji odreuju ta dva slova, te ih


zamijenimo s preostala dva vrha tog pravokutnika. Redoslijed je odreen tako
da najprije doe ono slovo koje se nalazi u istom retku kao prvo slovo u
polaznom bloku. Npr. OC
Ako

ifriramo

otvoreni

SR, RK

CG, PD

FI.

tekst CRYPTOGRAPHY pomou

Playfairove

ifre

kljuem PLAYFAIR dobijemo:


CR YP TO GR AP HY

DB FL NQ OG YL KA

3.1.4 Hillova ifra


Lester Hill je 1929. godine izumio kriptosustav kod kojeg se m uzastopnih slova
otvorenog teksta zamjenjuje s m slova u ifratu. Dakle, radi se o poligramskoj ifri.
Ukoliko broj slova u originalnom otvorenom tekstu nije djeljiv s m, poruku trebamo
nadopuniti da bismo je mogli podijeliti u blokove od po m slova. Kripotsustav je
definiran na sljedei nain:

Neka je m fiksan pririodan broj. Neka je P=C=26


, te

K={ m x m invertibilne matrice nad Z26}.


Za K K definiramo
e(x) = xK, d(y) = yK-1 .

21

Ako je:
5
K= 2

8 22
5 24 ,

10 20 17
a otvoreni tekst UTORAK.
Njegov numeriki ekvivalent je (20, 19, 14, 17, 0, 10). Raunamo:
5

8 22

(20 19 14) 2

5 24 = (278 535 1134) mod 26 = (18 15 16) = SPQ,

10 20 17
5

8 22

(17 0 10) 2

5 24 = (185 200 170) mod 26 = (3 18 14) = DSO.

10 20 17
Dakle ifrat je SPQDSO.
Hillov kriptosustav s 3 3 matricama skriva ne samo sve informacije o
frekvencijama slova, ve i o frekvencijama bigrama. Stoga ve za m 5 moemo Hillov
kriptosustav smatrati gotovo potpuno sigurnim na napad "samo ifrat". Meutim, ovu
ifru je vrlo lako razbiti pomou napada "poznati otvoreni tekst", a pogotovo pomou
napada "odabrani otvoreni tekst". To je i razlog zato ovaj sustav gotovo uope nije
bio u praktinoj uporabi

3.2 Transpozicijske ifre


Svi kriptosustavi koje smo do sada promatrali su ukljuivali supstituciju:
elementi

otvorenog

teksta

zamjenjivani

su

razliitim

elementima

ifrata.

Ideja transpozicijske ifre je da se elementi otvorenog teksta ostave nepromijenjeni,


ali da se promjeni njihov meusobni poloaj. Formalna definicija transpozicijske ifre
je sljedea:

22


Neka je m fiksan prorodan broj. Neka je P=C=26
, te neka se K sastoji od svih

permutacija skupa {1,2,...,m}. Za K definiramo:


e ( x1, x2, ... , xm ) = ( (1) , (2) ... , ( ) ),
d ( y1, y2, ... , ym ) = ( 1 (1) , 1 (2) ... , 1 ( ) ).
U praksi najupotrebljavanija transpozicijska ifra bila je stupana transpozicija.
Kod nje se otvoreni tekst upisuje u pravokutnik po redcima, a zatim se poruka ita po
stupcima, ali s promijenjenim poretkom stupaca. Ako se posljednji redak ne ispuni do
kraja, onda se prazna mjesta popune proizvoljnim slovima (nulama) koja ne mijenjaju
sadraj poruke.
Ako ifriramo otvoreni tekst KRIPTOGRAFIJA I KRIPTOANALIZA stupanom
transpozicijom s kljuem 4 3 1 2 5 7 6 dobijemo:
klju

4 3 1 2 5 7 6
K R I P T O G
R A F I J A I

otvoreni tekst
K R I P T O A
N A L I Z A X
ifrat :

IFILPIPIRARAKRKNTJTZGIAXOAOA

Dekriptiranje ifrata dobivenog stupastom transpozicijom:


AAOSA JRTIE EAAAU SCEAE IANPI
JAJJN FVSOI RZVPH NIONA RNZIJ
INUSS NTRZU TIC
U ifratu imamo 63 slova, pa nam se kao najvjerojatnije nameu dimenzije 7
9 i 9 7 (razumno je pretpostaviti da ni broj stupaca ni broj redaka nisu jako mali - u
prvom sluaju bi anagramiranje bilo trivijalno za obaviti, a u drugom duljina kljua ne
bi bila bitno kraa od duljine otvorenog teksta). Upiemo li ifrat u pravokutnike tih
dimenzija, dobivamo:
23

A
A
O
S
A
J
R
T
I

E
E
A
A
A
U
S
C
E

A
E
I
A
N
P
I
J
A

J
J
N
F
V
S
O
I
R

Z
V
P
H
N
I
O
N
A

I
N
Z
I
J
I
N
U
S

S
N
T
R
Z
U
T
I
C

3:4
3:4
3:4
3:4
2:5
3:4
3:4
3:4
4:3

A
A
O
S
A
J
R

T
I
E
E
A
A
A

U
S
C
E
A
E
I

A
N
P
I
J
A
J

J
N
F
V
S
O
I

R
Z
V
P
H
N
I

O
N
A
I
N
Z
I

J
I
N
U
S
S
N

T
R
Z
U
T
I
C

4:5
3:6
3:6
5:4
3:6
5:4
5:4

Odnos samoglasnika i suglasnika sugerira da je prvi izbor dimenzija


vjerojatniji. Sada ovih 7 stupaca moemo pokuati "anagramirati" tako da dobijemo
smisleni tekst. Tu nam (barem na poetku) moe pomoi frekvencija bigrama.
Bigrami koji u hrvatskom jeziku imaju frekvenciju veu od 0.8% su (abecednim
redom):
AK, AN, AS, AT, AV, CI, DA, ED, EN, IC, IJ, IN,
IS, JA, JE, KA, KO, LI, NA, NE, NI, NO, OD, OJ,
OS, OV, PO, PR, RA, RE, RI, ST, TA, TI, VA, ZA.
Za svaki od parova redaka, pogledajmo koliko se od tako dobivenih 9 bigrama
nalazi meu ovih 36 najfrekventnijih. Tako se dobije sljedea tablica:

| 1
2
3
4
5
6
7
---------------------------------1 |
0
2
2
2
2
4
|
2 | 1
1
3
1
1
4
|
3 | 2
2
1
0
3
2
|
4 | 5
6
5
2
0
0
|
5 | 4
2
1
2
1
1
|
6 | 5
4
2
2
1
0
|
7 | 3
5
4
0
1
1

24

Uoavamo da je broj 6 najvei od svih brojeva u tablici. Stoga krenimo od


pretpostavke da stupci 4 2 dolaze jedan do drugoga (u tom poretku). Vjerojatno je ve
ovo dovoljno da pogodimo rjeenje, ali moemo jo iskoristiti tablicu. Eliminirajmo
sve parove s frekvencijama bigrama 0 ili 1, te one koji su u kontradikciji s izborom 4
2, tj. par 2 4 i parove kojima je 4 na prvom ili 2 na drugom mjestu. Uoavamo kao
vjerojatne parove (najbolji u retku i stupcu) 7 3 i 6 1. Takoer je vrlo vjerojatan par 2
7 (najbolji u retku). ini se da bi 4 2 7 3 mogao biti dio kljua. Iz preostalih vrijednosti
u tablici, kao najvjerojatniji kljuevi se nameu
4 2 7 3 6 1 5,

5 1 6 4 2 7 3,

6 1 5 4 2 7 3.

Sada se lako provjeri da jedino drugi izbor daje suvisli tekst:


ZA RJEAVANJE NEPOZNATIH IFARA NAJVANIJI SU UPORNOST, INTUICIJA I
SREA.
Napomenimo da se sigurnost transpozicijskih ifara moe znatno poveati
koritenjem vie koraka transpozicije. Veina njemakih ifri tijekom prvog svjetskog
rata su bile dvostruke transpozicijske ifre. Ove ifre su vrlo sigurne, ali njihovo
dekriptiranje postaje relativno jednostavno ako kriptoanalitiar raspolae s nekoliko
jednako dugih ifrata ifriranih istim kljuem. Tada se dva ifrata ispiu jedan ispod
drugog na dugim trakama papira, pa se trake okomito razreu tako da po dva slova
(jedno iz svakog ifrata) dou na isti papiri. Ti se papirii sada slau jedan uz drugog,
sve dok se gore i dolje ne pojavi neto nalik na otvoreni tekst.

25

4 Moderni simetrini blokovni kriptosustavi


4.1 Data Encryption Standard (DES)
Godine 1972. ameriki National Bureau of Standards (NBS) inicirao je program za
zatitu raunalnih i komunikacijskih podataka. Jedan je od ciljeva bio razvijanje
jednog standardnog kriptosustava. Godine 1973. NSB je raspisao javni natjeaj za
takav kriptosustav. Taj kriptosustav je trebao zadovoljiti sljedee uvjete:

visoki stupanj sigurnosti

potpuna specifikacija i lako razumijevanje algoritma

sigurnost lei u kljuu, a ne u tajnosti algoritma

dostupnost svim korisnicima

prilagodljivost uporabi u razliitim primjenama

ekonominost implementacije u elektonikim ureajima

efikasnost

mogunost provjere

mogunost izvoza (zbog amerikih zakona)

Na tom natjeaju niti jedan prijedlog nije zadovoljavao sve ove zahtjeve. Meutim,
na ponovljeni natjeaj idue godine pristigao je prijedlog algoritma koji je razvio IBMov tim kriptografa. Jedna od glavnih ideja tog algoritma je alternirana uporaba
supstitucija i transpozicija kroz vie iteracija. Predloeni algoritam je nakon nekih
preinaka, u kojima je sudjelovala i National Security Agency (NSA), prihvaen kao
standard 1976. godine i dobio je ime Data Encryption Standard (DES).

26

4.1.1 Opis algoritma DES-a


DES ifrira otvoreni tekst duljine 64 bita, koristei klju K duljine 56 bitova. Tako
se dobiva ifrat koji ponovo ima 64 bita. Algoritam se sastoji od 3 etape:
1) Za

dani

otvoreni

tekst x,

permutiranjem

pomou

fiksne

inicijalne

permutacije IP dobije se x0.


Zapiemo x0 = IP(x) u obliku x0 = L0R0, gdje L0 sadri prva (lijeva) 32 bita,
a R0 zadnja (desna) 32 bita od x0.
2) Odreena funkcija se 16 puta iterira. Raunamo Li Ri, 1 i 16, po sljedeem
pravilu:
Li = Ri -1
Ri = Li -1
gdje

f (Ri -1, Ki),

oznaava operaciju "ekskluzivno ili" (XOR). Funkciju f emo opisati

kasnije, a K1, K2, ... , K16 su nizovi bitova duljine 48, koji se dobivaju kao
permutacije nekih bitova iz K.
3) Primijenimo inverznu permutaciju IP-1 na R16L16 i tako dobivamo ifrat y.
Dakle, y = IP-1(R16L16). Uoimo inverzni poredak od L16 i R16.

IP

IP-1

58

50

42

34

26

18

10

40

48

16

56

24

64

32

60

52

44

36

28

20

12

39

47

15

55

23

63

31

62

54

46

38

30

22

14

38

46

14

54

22

62

30

64

56

48

40

32

24

16

37

45

13

53

21

61

29

57

49

41

33

25

17

36

44

12

52

20

60

28

59

51

43

35

27

19

11

35

43

11

51

19

59

27

61

53

45

37

29

21

13

34

42

10

50

18

58

26

63

55

47

39

31

23

15

33

41

49

17

57

25

Tablica 4.1 Inicijalna permutacija IP i inverzna permutacija IP-1

27

Slika 4.1 Jedna runda DES-a

Funkcija f za prvi argument ima niz bitova A duljine 32, a za drugi argument ima niz
bitova J duljine 48. Kao rezultat se dobiva niz bitova duljine 32.

Slika 4.2 DES funkcija

28

Funkcija se rauna u sljedea 4 koraka:


1. Prvi argument A se "proiri" do niza duljine 48 u skladu s fiksnom funkcijom
proirenja E. Niz E(A) se sastoji od 32 bita iz A, permutiranih na odreeni
nain, s time da se 16 bitova pojavi dvaput.
E
32

10

11

12

13

12

13

14

15

16

17

16

17

18

19

20

21

20

21

22

23

24

25

24

25

26

27

28

29

28

29

30

31

32

Tablica 4.2 Funkcija proirenja E

2. Izraunamo E(A)

J i rezultat zapiemo kao spoj od osam 6-bitnih nizova


B = B1B2B3B4B5B6B7B8.

3. Sljedei korak koristi 8 tzv. S-kutija (supstitucijskih kutija) S1, ... , S8. Svaki Si je
fiksna 4 16 matrica iji su elementi cijeli brojevi izmeu 0 i 15. Za dani niz
bitova duljine 6, recimo Bj =b1b2b3b4b5b6, raunamo Sj (Bj) na sljedei nain.
Dva bita b1b6 odreuju binarni zapis retka r od Sj (r = 0,1,2,3), a etiri
bita b2b3b4b5 odreuju binarni zapis stupca c od Sj (c = 0,1,2,...,15). Sada
je Sj (Bj) po definiciji jednako Sj (r,c), zapisano kao binarni broj duljine 4. Na
ovaj nain izraunamo Cj = Sj (Bj), j = 1,2,...,8.
4. Niz bitova C1C2C3C4C5C6C7C8 duljine 32 se permutira pomou fiksne zavrne
permutacije P. Tako se dobije P(C), to je po definiciji upravo f(A,J).

29

P
16

20

21

29

12

28

17

15

23

26

18

31

10

24

14

32

27

19

13

30

22

11

25

Tablica 4.3 Zavrna permutacija P

Konano, trebamo opisati raunanje tablice kljueva K1, K2, ... , K16 iz kljua K.
Klju K se sastoji od 64 bita, od kojih 56 predstavlja klju, a preostalih 8 bitova slue
za testiranje pariteta. Bitovi na pozicijama 8, 16, ... , 64 su definirani tako da svaki bajt
(8 bitova) sadri neparan broj jedinica. Ovi bitovi se ignoriraju kod raunanja tablice
kljueva.
1. Za dani 64-bitni klju K, ignoriramo paritetne bitove, te permutiramo
preostale bitove pomou fiksne permutacije PC1.
Zapiemo: PC1(K) = C0D0, gdje C0 sadri prvih 28, a D0 zadnjih 28 bitova
od PC1(K).
2. Za i = 1, 2, ... , 16 raunamo:
Ci =LSi (Ci -1), Di =LSi (Di -1), Ki = PC2(Ci Di).
LSi predstavlja cikliki pomak ulijevo za 1 ili 2 pozicije, u ovisnosti od i. Ako
je i = 1, 2, 9 ili 16, onda je pomak za jednu poziciju, a inae je pomak za dvije
pozicije. PC2 je jo jedna fiksna permutacija.
Deifriranje koristi isti algoritam kao ifriranje. Krenemo od ifrata y, ali
koristimo tablicu kljueva u obrnutom redoslijedu: K16, K15, ... , K1. Kao rezultat
dobivamo otvoreni tekst x.

30

Uvjerimo se da ovako definirana funkcija deifriranja dK zaista ima traeno svojstvo


da je dK(y) = x. Podsjetimo se da smo y dobili kao y = IP-1(R16L16). Stoga se primjenom
inicijalne permutacije na y dobije y0 = R16L16. Nakon prve runde deifriranja, lijeva
polovica postaje L16 = R15, a desna R16

f(L16,K16). No, iz zadnje runde ifriranja

znamo da vrijedi
R16 = L15
Zato je

R16

f(R15,K16) = L15

f(L16,K16)= L15.

f(L16,K16).

Znai, nakon jedne runde deifriranja

dobivamo R15L15. Nastavljajui taj postupak, nakon svake sljedee rudne deifriranja
dobivat emo redom: R14L14, R13L13..., R1L1 i nakon zadnje runde R0L0. Preostaje
zamijeniti poredak lijeve i desne polovice i primijeniti IP-1. Dakle, na kraju postupka
deifriranja dobivamo IP-1(L0R0), a to je upravo otvoreni tekst x, to je i trebalo
dokazati. Vidimo da razlog za zamjenu lijeve i desne polovice prije primjene
permutacije IP-1 lei upravo u elji da se za deifriranje moe koristiti isti algoritam
kao za ifriranje.

4.2 Trostruki DES


Jedna od najpopularnijih zamjena za DES je Trostruki DES (koriste se jo i nazivi
Triple DES i 3DES):
y = eM(dL(eK(x))),
x = dK(eL(dM(y))).
Ovdje je klju duljine 56 3=168 bitova. esto se koristi i verzija u kojoj je M = K,
pa je u njoj duljina kljua 56 2=112, no za nju postoje neki, jo uvijek nedovoljno
praktini napadi, koji koriste njezinu specifinu strukturu. Za Trostruki DES broj
operacija kod napada "susret u sredini" je reda 2112 5 1033 dok je kod
diferencijalne kriptoanalize procijenjen na 1052. Moemo rei da je sigurnost kod
trostrukog ifriranja upravo onakva kakvu bismo moda naivno oekivali kod
dvostrukog. U svakom sluaju, sigurnost 3DES-a je danas i vie nego zadovoljavajua.

31

4.3 IDEA
IDEA koristi 128-bitni klju za ifriranje 64-bitnih blokova otvorenog teksta.
Koristi tri operacije na 16-bitnim podblokovima:
1) XOR

(oznaka

),

2) zbrajanje modulo 216

(oznaka

3) mnoenje modulo 216 + 1

),

(oznaka

).

Mnoenje se ovdje moe smatrati analogonom S-kutija u DES-u. Modul 216+1 je


odabran zbog efikasnije implementacije modularnog mnoenja. IDEA ima 8 rundi i
zavrnu transformaciju. U njima se koristi 52 16-bitnih meukljueva generiranih
pomou polaznog 128-bitnog kljua.

Slika 4.3 IDEA

4.4 CAST-128

CAST ifrira 64-bitne blokove otvorenog teksta koristei klju ija duljina moe
varirati od 40 do 128 bitova. CAST je, isto kao i DES, primjer Feistelove ifre sa 16
rundi. Dvije su razlike od klasine Feistelove ifre:

32

1. dva meukljua u svakoj rundi: 32-bitni Kmi i 5-bitni Kri;


2. funkcija f ovisi o rundi.
Osnovne operacije u CAST-u su:

XOR,

zbrajanje i oduzimanje modulo 232,

lijeva ciklika rotacija od a za b bitova

(oznaka a <<< b).

Slika 4.4 Skica jedne CAST runde

U ovisnosti o rundama, imamo:


runda
f1i
f2i
f3i
f4i
----------------------------------------------------------------1, 4, 7, 10, 13, 16
+
XOR
+
----------------------------------------------------------------2, 5, 8, 11, 14
XOR
+
XOR
----------------------------------------------------------------3, 6, 9, 12, 15
+
XOR
-----------------------------------------------------------------

33

4.5 Advanced Encryption Standard (AES)


Godine 1997. National Institute of Standards and Technology (NIST) objavio je
natjeaj za kriptosustav koji bi trebao kao ope prihvaeni standard zamijeniti DES.
Pobjednik natjeaja dobio bi ime Advanced Encryption Standard (AES). NIST je
postavio sljedee zahtjeve na kriptosustav:
1. mora biti simetrian
2. mora biti blokovni
3. treba raditi sa 128-bitnim blokovima i kljuevima s tri duljine: 128, 192 i 256
bitova.
Jedna od specifinosti AES-a je koritenje konanog polja GF(28). Preciznije,
elementi od GF(28) su polinomi oblika a7x7 + a6x6 + ... +a1x + a0, ai

{0, 1}, a operacije

su zbrajanje i mnoenje polinoma iz Z2[X] modulo fiksni ireducibilni polinom g(x)


= x8 + x4 + x3 + x + 1. Dakle, uzimamo da je GF(28) = Z2[X] / (g(x)). Elemente od GF(28)
moemo prikazati i kao bajtove (nizove od 8 bitova). Npr. polinomu x6 + x4 + x2 + x + 1
odgovara bajt 01010111 ili 57 u heksadecimalnom zapisu.
AES ifrira blokove od 128 bitova = 16 bajtova. Svaki takav blok se moe shvatiti
kao 16 elemenata polja, koji se reprezentiraju pomou 4 4 matrice s elementima iz
GF(28). Tu matricu emo zvati aes-blok. Klju takoer ima 128 bitova (postoje i
varijante sa 192 i 256 bitova). AES ima 10 rundi (uz 128-bitni klju). Svaka runda se
sastoji od 4 operacije:
1) SubBytes
2) ShiftRows
3) MixColumns
4) AddRoundKey

34

Slika 4.5 Jedna runda AES-a

SubBytes - Jedini nelinearni dio algoritma. Ova transformacija ima 2 koraka:


1. svaki element aes-bloka (matrice) se zamjeni svojim inverzom u GF(2 8) (s time
da element 00, jedini koji nema inverz, ostaje nepromijenjen),
2. primjeni se fiksna afina transformacija
b'i = bi

b(i+4) mod 8

b(i+5) mod 8

b(i+6) mod 8

b(i+7) mod 8

c i,

gdje je c = 01100011.
Ovu transformaciju moemo prikazati pomou S-kutije. Svaki element aesbloka zapiemo heksadecimalno. Prvom broju u tom zapisu pridruimo redak, a
drugom broju stupac S-kutije. Na presjeku tog retka i stupca nalazi se heksadecimalni
zapis transformata promatranog elementa aes-bloka.
ShiftRows - Cikliki pomie elemente i-tog retka aes-bloka za i mjesta ulijevo
(i =0,1,2,3).
MixColumns - Stupci matrice se shvate kao polinomi nad GF(2 8). Dakle,
stupac Ai =(a0i, a1i, a2i, a3i) se shvati kao polinom a3ix3 + a2ix2 + a1ix + a0i. Ti se polinomi

35

pomnoe s polinomom 03 x3 + 01 x2 + 01 x + 02 (u skladu s ranije definiranim


operacijama nad polinomima, rezultat se rauna modulo x4 + 1).
AddRoundKey - XOR aes-bloka s meukljuem koji odgovara trenutnoj rundi.
Prve 4 rijei proirenog kljua predstavlja zadani klju. Svaku sljedeu
rije ri dobijemo iz prethodne rijei ri -1 tako da primijenimo XOR s ri -4. Ako
je i viekratnik od 4, onda prije operacije XOR izvrimo operacije RotWord (rotira
rije jedno mjesto ulijevo, tj. [r0r1r2r3] promijeni u [r1r2r3r0]), SubWord (uzima jedan
po jedan bajt iz rijei i na svakog od njih primjeni S-kutiju), te XOR s rijei [02(i 4)/4,00,00,00].

Deifriranje se odvija po istom algoritmu kao i ifriranje, osim to se umjesto


transformacija ByteSub, ShiftRow i MixColumn koriste njihovi inverzi.

ifriranje 128 bitnog bloka s 128-bitnim AES kljuem:


otvoreni tekst: 0x00000000 00000000 00000000 00003037
klju:

0xabc def 01 23456789 98765432 10f ed cba


Zapiimo otvoreni tekst i klju kao AES-blokove po stupcima u 4x4 matrice.

Elemente AES-blokova zapisati emo kao dvoznamenkaste heksadecimalne brojeve.


00 00 00 00
S=

00 00 00 00
00 00 00 30
00 00 00 37

k=

ab

23 98 10

cd

45 76

fe

ef

67 54

ec

01 89 32 8d

36

etiri stupca AES-bloka k proirit emo na ukupno 44 stupca r i iz kojih emo


proitati meukljueve k1, k2,... k10. Prva etiri stupca r0, r1, r, i r3 su stupci AES-bloka
kljua k. Nove stupce ri raunamo prema pravilu:
ri ri-1
ako 4 dijeli i
ri = RotWord(ri)
ri = SubWord(ri)
na prvom bajtu od ri napravi XOR s Rcon(i/4)
ri ri ri-4
RotWord rotira bajtove za jedno mjesto u lijevo, SubWord na bajtovima zadane rijei
rauna vrijednosti AES-ove S-kutije. Operacija Rcon(j) vraa bajt koji dobijemo kad u
GF(28) izraunamo 02254+j i zapiemo razultat kao bajt.

Za r4:
t r3

10fedcba

t SubWord (t)

cabb86f4

t RotWord (t)

bb86f4ca

t t Rcon (1)

bb86f4ca 01000000 = ba86f4ca

t ri r0

bb86f4ca abcde f 01 = 114b1bcb

r4 t
Za r5:
t r4

114b1bcb

t ri r0

320e7c42

r5 t
Meukljuevi AES-a su AES-blokovi od novodobivenih stupaca: stupci [r 4, ..., r7]
ine meuklju k1 , stupci [r8, ..., r11] ine meuklju k12 itd. U sljedeoj tablici nalaze
se heksadecimalno zapisani 128-bitni meukljuevi ki.

37

abcdef01

23456789

98765432

10fedcba

k1

114b1bcb

320e7c42

Aa782870

Ba86f4ca

k2

57f46f3f

65fa137d

Cf823b0d

7504cfc7

k3

A17ea9a2

C484badf

0b0681d2

7e024e15

k4

De51f051

1ad54a8e

11d3cb5c

6fd18549

k5

F0c6cbf9

Ea138177

Fbc04a2b

9411cf62

k6

524c61db

B85fe0ac

439faa87

D78e65e5

k7

0b01b8d5

B35e5879

F0c1f2fe

274f971b

k8

0f891719

Bcd74f60

4c16bd9e

6b592a85

k9

Df6c8066

63bbcf06

2fad7298

44f4581d

k10

5606247d

35bdeb7b

1a1099e3

5ee4c1fe

Tablica 4.4 Heksadecimalno zapisani meukljuevi

Runde AES-a:
Prije prve runde u varijablu stanja s spramamo rezultat operacije
AddRoundKey ulaznog AES-bloka i ljua k:
00 00 00 00
s=sk=

00 00 00 00
00 00 00 30
00 00 00 37

ab

23 98 10

cd

45 76

fe

ef

67 54

dc

01 89 32

ba

ab

23 98 10

cd

45 76

fe

ef

67 54

dc

01 89 32

ba

Sad poinjemo s prvom rundom. AES runda sastoji se od 4 operacije.


1. SubBytes
62 26 46
s = SubBytes(s) =

bd

6e

df

85 20

7c

a7

38

ca

38 bb
ce

23 5d

2. ShiftRows
Elemente u retcima AES-bloka s premjetamo ciklikim rotacijama ulijevo.
62 26 46
s = ShiftBows(s) =

bd

6e

df

85 20

7c

a7

ca

redak bez pomaka

38 bb

pomak ulijevo za jedno mjesto

ce

pomak ulijevo za dva mjesta

23 5d

pomak ulijevo za tri mjesta

3. MixColumns
Stupce AES-bloka s interpretiramo kao polinome s koeficjentima iz GF(2 8):
62 + 6e * x + 20 * x2 + 5d * x3,
26 + 38 * x + ce * x2 + 7c * x3,
...
Rezultat MixColumns(s) operacije je AES-blok iji su stupci rezultat mnoenja ovih
polinoma s fiksnim polinomima 02 + 01 * x + 01 * x 2 + 03 * x3 reduciranih modulo
polinomom x4 + 1:

s = MixColumns(s) =

0b b6 22

f5

83 63

f6

1c

ab

1d

aa

03

52 64

fb

3b

4. RoundKey
Rezultat je XOR AES-bloka s s odgovarajuim meukljuem:

s = AroundKey(s) = s k1 =

1a

84 88

4f

c8

6d

8e

9a

b0 61 82

f7

99 26 8b

f1

Izvrimo jo 9 rundi. U zadnjoj rundi izostavljamo MixColumns operaciju. AES


ifrat nalazi se stupano zapisan u AES-bloku.

39

9e
s=

7f

81

cf

64 99 87 b3
9d

4a

f9

4a

53

c0

36

c5

Traeni ifrat je 9e649d537f994ac08187f936cfb34ac5.

5 Kriptografija javnog kljua


Svi kriptosustavi koje smo do sada prouavali bili su simetrini, tj. sustavi s
tajnim kljuem. Naime, poiljalac i primalac bi tajno izabrali klju K, koji bi onda
generirao funkcije za ifriranje eK i deifriranje dK. Pritom je dK ili isti kao eK ili se iz
njega lako dobije (npr. u DES-u se kod deifriranja samo obrne redoslijed
meukljueva). Za sigurnost ovih kriptosustava nuna je tajnost kljua. No, to je i
njihov veliki nedostatak, budui da prije ifriranja poiljalac i primalac moraju biti u
mogunosti razmijeniti tajni klju preko nekog sigurnog komunikacijskog kanala.
tovie, oni bi morali esto mijenjati kljueve, budui da ifriranje vie poruka istim
kljuem znatno smanjuje sigurnost. To moe biti veliki problem ako npr. poiljalac i
primalac ive u udaljenih mjestima i ele sigurno komunicirati pomou e-maila.

5.1 Diffie-Hellmanov protokol za razmjenu kljueva


Pretpostavimo da se osobe Alice i Bob ele dogovoriti o jednom tajnom sluajnom
elementu u ciklikoj grupi G, kojeg bi onda poslije mogli koristi kao klju za ifriranje
u nekom simetrinom kriptosustavu. Oni taj svoj dogovor moraju provesti preko
nekog nesigurnog komunikacijskog kanala, bez da su prethodno razmijenili bilo
kakvu informaciju. Jedina informacija koju imaju jest grupa G i njezin generator g.
1) Alice generira sluajan prirodan broj a {1,2,...,|G|-1}, te poalje Bobu element
ga.
2) Bob generira sluajan prirodan broj b {1,2,...,|G|-1}, te poalje Alice element
gb.
40

3) Alice izrauna (gb)a = gab.


4) Bob izrauna (ga)b = gab.
Sada je njihov tajni klju K = gab.
Njihov protivnik koji moe prislukivati njihovu komunikaciju preko nesigurnog
komunikacijskog kanala zna sljedee podatke: G, g, ga, gb, te treba iz ovih podataka
izraunati gab. Ako protivnik iz poznavanja g i ga moe izraunati a (tj. ako moe
rijeiti problem diskretnog logaritma), onda i on moe pomou a i gb izraunati gab.
Diffie i Hellman se smatraju zaetnicima kriptografije javnog kljua. Ideja javnog
kljua se sastoji u tome da se konstruiraju kriptosustavi kod kojih bi iz poznavanja
funkcije ifriranja eK bilo praktiki nemogue izraunati funkciju deifriranja dK. Tada
bi funkcija eK mogla biti javna.
Kriptosustav s javnim kljuem sastoji se od dviju familija {eK} i {dK} funkcija za
ifriranje i deifriranje 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.
Ovdje eK nazivamo javnim kljuem, a eK tajnim ili osobnim kljuem.
Ako Alice eli poslati poruku x Bobu, onda Bob najprije poalje Alice svoj javni
klju eB. Potom Alice ifrira svoju poruku pomou eB i poalje Bobu ifrat y = eB(x).
Konano, Bob deifrira ifrat koristei svoj tajni klju dB: dB(y) = dB(eB(x)) = x.
Ukoliko grupa korisnika eli komunicirati na ovaj nain, situacija je jo
jednostavnija. Naime, tada svi korisnici stave svoje javne kljueve u neku javnu, svima
dostupnu datoteku. Sada Bob ne mora slati Alice svoj javni klju, ve Alice
jednostavno proita eB iz datoteke.

41

Slika 5.1 Shema kriptografija javnog kljua

Neki kriptosustavi omoguavaju ak da korisnici digitalno potpiu svoju


poruku. To je vano zbog toga to tada Alice ne moe kasnije zanijekati da je upravo
ona poslala konkretnu poruku. Pretpostavimo da je P = C. Tada Alice moe potpisati
poruku x tako da Bobu poalje ifrat z = dA(y) = dA(eB(x)). Kad Bob primi poruku za
koju pretpostavlja da mu je poslala Alice, on najprije primijeni javni klju eA, a potom
svoj tajni klju dB:
dB(eA(z)) = dB(eA(dA(eB(x)))) = x.
Sada Bob zna sigurno da je poruku poslala Alice, jer je samo ona mogla
upotrijebiti funkciju dA. Da je umjesto te funkcije upotrijebljena neka trea funkcija dC,
kao rezultat ne bi dobili smislenu poruku. Nadalje, ukoliko bi Alice kasnije zanijekala
da je ona autor poruke, Bob bi mogao "sucu" pokazati poruke x i z. Sudac bi provjerio
da vrijedi eB(x) = eA(z) i to bi bio dokaz da je Alice poiljalac.
Ovdje se moe postaviti pitanje kako Bob moe biti siguran da mu je upravo Alice
poslala poruku. Naime, svatko ima pristup funkciji eB, pa se moe lano predstaviti
kao Alice. Dakle, postavlja se pitanje vjerodostojnosti ili autentinosti poruke. To se
moe rijeiti na sljedei nain:
1) Alice doda svojoj poruci sluajan broj a od recimo 10 znamenaka.
2) Bob

generira svoj sluajan 10-znamenkasti broj b, te poalje Alice

poruku eA(a + b).

42

3) Alice izrauna b pomou formule b = dA(eA(a + b)) - a, te sada ponovo poalje

svoju prvu poruku tako da joj doda b, a isto to uini i sa svakom iduom
porukom koju e slati Bobu.

5.2 RSA kriptosustav


Prvi, a ujedno i najpopularniji i najire koriteni kriptosustav s javnim kljuem je
RSA kriptosustav. Njegova sigurnost je zasnovana na tekoi faktorizacije velikih
prirodnih brojeva. Definicija RSA kriptosustava glasi:
Neka je n =pq, gdje su p i q prosti brojevi. Neka je P=C=Zn, te
K={(n,p,q,d,e) : n = pg, de 1 (mod (n))}.
Za K K definiramo
eK(x) = xe mod n, dK(y) = xd mod n,

x,y Zn.

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


tajni klju.
Ovdje je (n) Eulerova funkcija, tj. broj brojeva u nizu 1, 2, ... , n koji su relativno
prosti s n. U naem konkretnom sluaju je
(n) = (pq) = (p - 1)(q - 1)=n-p-q+1.
Ako uzmemo p = 3 i q = 11. Tada je n = 33 i (n) = 20. Eksponent e mora biti
relativno prost s 20, pa recimo da je e = 7. Tada je d = 3. Sada je (n, e) = (33, 7) na
javni klju. Pretpostavimo da nam netko eli poslati poruku x = 17. To znai da treba
izraunati eK(x) = 177 mod 33:
177 = 17 . 172 . 174

17 . 25 . (-2)

43

-25

8 (mod 33).

Dakle, ifrat je y = eK(x) = 8. Kad primimo ovaj ifrat, deifriramo ga pomou tajnog
kljua d:
x = dK(y) = 83 = 8 . 82

8 . (-2)

17 (mod 33).

Dakle, x = 17.

6 Kvantna kriptografija
Kako se razvija potreba za tajnou podataka tako se razvijaju i sustavi koji bi tu
tajnost trebali omoguiti. Danas se najee koriste klasini kriptografski sustavi i
kriptografski sustavi s javnim kljuem. No, niti jedan od tih sustava ne omoguuje
rjeenje uvene kvake 22 kriptografije koja kae da ak ako poiljatelj i primatelj
uspiju razmijeniti klju preko sigurnog komunikacijskog kanala, ne postoji
mehanizam u klasinoj kriptografiji koji moe garantirati da je klju poslan sigurno, tj.
da ga neka trea osoba nije uspjela prislukivanjem komunikacijskog kanala saznati.
Zahvaljujui intenzivnom razvoju kvantne mehanike, u posljednjih 30-ak godina
pojavila se posve nova vrsta kriptografije: kvantna kriptografija. Njezin je najvei
doprinos mogunost otkrivanja prislukivanja komunikacijskog kanala od tree
osobe. Kvantna kriptografija koristi prirodnu neodreenost kvantnog svijeta. Pomou
nje se moe uspostaviti komunikacijski kanal koji nije mogue prislukivati bez
ometanja prijenosa, tj. dva korisnika koja meusobno komuniciraju mogu otkriti
prisustvo tree strane koja pokuava saznati klju. Kvantna kriptografija slui samo
za dobivanje i distribuciju kljua, a ne za prijenos poruka. Tako generirani klju moe
posluiti u nekom kriptosustavu za kriptiranje i dekriptiranje poruke.
Kvantna komunikacija ukljuuje kodiranje informacija u kvantna stanja, ili
qubite, nasuprot klasinoj kriptografiji koji koristi bitove. [2]

44

6.1 Kvantni protokoli


6.1.1 BB84
Poiljatelj (Alice) i primatelj (Bob) su povezani kvantnim komunikacijskim
kanalom koji omoguuje razmjenu kvantnih stanja. U sluaju fotona, taj
komunikacijski kanal je ili optiko vlakno ili slobodan prostor (eter). Takoer, Alice i
Bob su povezani nekim javnim klasinim komunikacijskim kanalom (primjerice
Internetom). Niti jedan od tih kanala ne mora biti siguran. Protokol je dizajniran s
pretpostavkom da trea strana moe prislukivati. Sigurnost protokola dolazi iz
kodiranja informacija u neortogonalnim stanjima. BB84 koristi dva para stanja, gdje
je svaki par konjugiran u odnosu na drugi par a dva stanja unutar jednog para su
ortogonalna jedan prema drugom. Parovi ortogonalnih stanja se zovu baze.
Uobiajena polarizacija stanja je linerana horizontalna linerna vertikalna i linerana
pod 45 stupnjeva linerana pod 135 stupnjeva. Za BB84 se odabiru dvije baze
polarizacije i svakom od stanja u bazama dodijelimo vrijednost 0 ili 1 ime tvorimo
kvantnu abecedu.
Pretpostavimo za poetak da su Alice i Bob odabrali dvije baze polarizacije
koje e koristiti u komunikaciji:
linearna horizontalna/vertikalna (oznaka +)
linearna pod 45/135 stupnjeva (oznaka X)
Dodijelimo polarizacijama u tim bazama znaenja, kao na primjer:
linearna horizontalna (oznaka -) = 0

linearna vertikalna (oznaka |) = 1

linearna pod 45 stupnjeva (oznaka /) = 0

linearna pod 135 stupnjeva (oznaka \) = 1

6.1.1.1 Komunikacija preko kvantnog protokola


U prvoj fazi komunikacije Alice alje Bobu tajni klju preko kvantnog kanala.
Za svaki od bitova proizoljno izabire bilo koju od dvije baze polarizacije. Vjerojatnost
ispravno primljenom Aliceinog bita, prema Heisenbergovom principu neodreenosti,
ne moe biti vea od 75%. Postoji 50% vjerojatnosti da primatelj izabere bazu koju je
izabrala i Alice. U tom sluaju vjerojatnost da e Bob primiti ispravan bit je 1. Ako je
45

Bob odabrao pogrenu bazu, i dalje postoji 50% anse da se primljeni bit protumai
ispravno. Zakoni kvantne mehanike doputaju da i oni fotoni ija polarizacija ne
odgovara orijentaciji detektora budu protumaeni kao ispravni bitovi (ali u tom
sluaju potpuno je sluajno hoe li detektor to protumaiti kao 0 ili 1), pa Bob ne
moe znati koji su bitovi primljeni ispravnom orijentacijom, a koji pogrenom. Iz toga
slijedi proraun:
P = 0,5*1 + 0,5*0,5 = 0,75 = 75%
Razmotrimo sluaj kada bi se u komunikaciju umjeala trea strana (Eve),
itala sve bitove koje alje Alice te ih zatim slala Bobu. Ako Bob sada izabere istu bazu
kao i Alice, on ima samo 75% anse da e primiti ispravan bit (to je vjerojatnost da ga
je Eve prije njega ispravno primila). Ako Bob izabere pogrenu bazu polarizacije i
dalje mu ostaje 50% vjerojatnosti da sluajno primi bit koji je poslala Alice. Dakle
vjerojatnost da e Bob primiti ispravan bit pala je na 62,5% to je vidljivo iz
prorauna:
P = 0,5*0,75 + 0,5*0,5 = 0,625 = 62,5%
Razmotrimo sljedei primjer:

Niz koji Alice eli poslati:

110101101001

Baze koje Alice odabire:

+XX+X+++XX+X

Polarizacije fotona koje Alice alje:

|\ /| /| | - \/ -\

Baze koje Bob odabire:

++X+X+XXX+XX

Polarizacije fotona koje Bob prima:

| |/ |/ | \\\ -/\

Niz koji Bob prima:

110101111001

46

Slika 6.1 Alice alje svoju poruku kroz kvantni kanal uz sluajan odabir baze
polarizacije

Slika 6.2 Bob sluajnim odabirom baza polarizacije detektira fotone koji dolaze
kvantnim kanalom

6.1.1.2 Komunikacija preko javnog kanala


Nakon to je Bob primio niz preko kvantnog kanala, on uspostavlja vezu preko
javnog kanala s Alice te ju obavjetava koje je orijentacije polarizatora koristio za
detekciju fotona. Bitno je primjetiti da Bob nikada ne otkriva i koji su rezultati tih
mjerenja bili. Zatim Alice odgovara Bobu koja su od njegovih mjerenja u skladu sa
polarizacijom koju je ona izabrala. Oni se bitovi, kod kojih se nisu koristile jednake
baze sa obje strane, odbacuju. U naem se primjeru komunikacija odvija ovako:
47

Baze koje je Alice odabrala:

+X X+ X+ ++ X X+ X

Baze koje Bob objavljuje Alice:

++ X+ X+ XX X +X X

Baze koje Alice potvruje:

DNDDDDNNDNND

Niz koji preostaje Bobu:

1 0 1 01

Slika 6.3 Bob alje Alice baze polarizacija koje je koristio za detekciju, a ona mu
odgovara koje od njih odgovaranju njezinim bazama polarizacije

Slika 6.4 Alice i Bob izbacuju, svaki iz svog niza, bitove na mjestima gdje nisu
koritene jednake baze polarizacije na obje strane
Ukoliko nije bilo prislukivanja ni smetnji, nizovi koji su preostali Bobu i Alice
trebali bi biti u potpunosti jednaki. Svako odstupanje od toga pokazuje na prisutnost
Eve. Da bi se to provjerilo, Alice i Bob preko javnog kanala dogovaraju odreeni
48

podskup bitova iz svojih proienih kljueva koji e javno usporediti, a nakon toga
ukloniti iz kljua. Ukoliko se u bilo kojem bitu pojavi nejednakost, otkriveno je
prislukivanje i protokol se ponavlja od poetnog koraka.
Meutim, u realnom sluaju mora se pretpostaviti mogunost greaka u
kanalu. Protokol tada dobiva nekoliko dodatnih koraka. Za poetak, pri izbacivanju
bitova dobivenih koritenjem pogrene baze izbacuju se i one lokacije na kojima je
Bob trebao primiti bit, a nije. Takve rupe mogu biti uzrokovane Eveinim
prislukivanjem ili neosjetljivou Bobovog detektora. U iduem koraku prilikom
usporedbe dogovorenih bitova procjenjuje se koliina greaka u proienom nizu.
Ukoliko ona premauje neku zadanu vrijednost (odreenu kvalitetom veze i
terminalne opreme), cijeli postupak se ponavlja zbog prevelike vjerojatnosti
prisutnosti Eve. U sluaju da je koliina greaka relativno mala, pristupa se postupku
izjednaenja podataka. Alice i Bob se javno dogovore o sluajnoj permutaciji i
primjene je na preostali dio svojih kljueva. Nakon toga, dijele kljueve u podnizove
duljine d, gdje je duljina d izabrana tako da blokovi te duljine vjerojatno ne sadre
vie od jedne greke. Za svaki od tih blokova Alice i Bob javno objavljuju paritete i uz
to eliminiraju posljednji bit u svakom bloku. Svaki puta kada se pariteti ne poklapaju
Alice i Bob poinju binarnu potragu za grekom. To znai da podijele blok u dva
podbloka, usporede njihove paritete i odbacuju krajnju desnu znamenku svakog
podbloka. Podblok u kojem se pariteti ne podudaraju dijeli se dalje dok se ne pronae
i pobrie pogrean bit. Kada se zavri postupak sa svim podnizovima duljine d
postupak se ponavlja. Ponovo se odabire neka permutacija, ponovo se niz dijeli u
podnizove duljine d i ponovo se usporeuju pariteti. Kada se za neki utvreni broj N
uzastopnih ponavljanja ne pronae ni jedna greka u paritetu, Alice i Bob
pretpostavljaju sa vrlo visokom vjerojatnou da je preostali klju bez greaka te
prelaze na zavrni korak poveanja privatnosti.

Slika 6.5 Podjela niza na blokove duljine d i primjer binarne potrage za grekom u
prvom bloku
49

Na osnovu procjene greaka u komunikaciji Alice i Bob dobivaju gornju


granicu k bitova koji bi mogli biti poznati Eve od ukupno n bitova u njihovom
izjednaenom kljuu. Neka je s sigurnosni parametar koji Alice i Bob proizvoljno
odaberu. Zatim javno izaberu r=n-k-s sluajno odabranih bitova bez objave njihovog
sadraja ni pariteta. Odabrani bitovi postaju konani tajni klju. Mogue je dokazati
kako je prosjena informacija koju Eve posjeduje o tom kljuu manja od 2 -s/ln(2) bita.

6.1.2 B92
Za razliku od protokola BB84 koji zahtijeva dvije ortogonalne kvantne abecede
(baze), protokol B92 zahtijeva samo jednu neortogonalnu abecedu. Neka se sa
oznai foton koji je polariziran pod kutem u odnosu na vertikalu, gdje je 0<<450 a
sa ' oznaimo foton polariziran pod kutem u odnosu na vertikalu. Tada im se
pridjele vrijednosti 0 i 1. Kao i kod protokola BB84, Alice i Bob komuniciraju u dvije
faze, prvo preko jednosmjernog kvantnog kanala i drugo preko dvosmjernog javnog
kanala. Kako Alice koristi neortogonalni sustav ne postoji nain koji bi jednoznano
razluio ta dva stanja polarizacije. Bob moe tono detektirati poslani bit ili primiti
dvosmisleni rezultat. Prilikom komunikacije javnim kanalom Bob obavjetava Alice o
rednim brojevima bitova koje je primio nedvosmisleno a ostali bitovi se odbacuju.
Bitovi koji su primljeni nedvosmisleno postaju klju. Ostatak se odvija kao i u
protokolu BB84. Prisutnost Eve se moe otkriti velikim brojem greaka u sustavu.
Ovaj protokol je puno jednostavnije implementirati nego BB84 protokol ali jo nisu
osmiljeni dostatni dokazi koji bi pokazali njegovu sigurnost.

6.1.3 E91
Protokol je dobio ime po Arthuru Ekertu koji ga je 1991. godine izmislio.
Ekertova shema koristi isprepleteni par fotona. Oni mogu biti kreirani od strane Alice,
Boba ili nekog izvora neovisnog o njima, ukljuujui Evu. Fotoni se distribuiraju tako
da Alice i Bob dobiju po jedan foton iz svakog para. Ova se shema zasniva na dva
svojstva isprepletenosti fotona:
-

isprepletena stanja su savreno povezana,


50

bilo koji pokuaj prislukivanja unitava korelaciju izmeu fotona na nain


koji Alice i Bob mogu detektirati.

Alice i Bob neovisno biraju bazu u kojoj e mjeriti primljeni foton, s tim da Ana
biljei izmjereni bit a Bob biljei komplement izmjerenog bita jer je njegov foton
ortogonalan onome koji je primila Ana. U komunikaciji javnim kanalom Alice i Bob
usporeuju koritene baze detekcije i izdvajaju bitove u kojima su koristili jednake
operacije mjerenja. Oni bitovi na kojima su koristili razliite operacije mjerenja ne
odbacuju ve koriste za otkrivanje prisutnosti Eve u komunikaciji. Ostatak protokola
je isti kao i u BB84.

6.2 Strategije prislukivanja


Postoje dvije aktivne strategije prislukivanja koje Eve moe upotrijebiti. Prva
strategija je presretni/poalji. Eve tada radi prekid u kvantnom kanalu, prima
informacije koje alje Alice i pokuava ih ponovo poslati Bobu. No kako smo vidjeli u
opisu BB84 protokola, takva strategija neizbjeno drastino poveava broj greaka na
Bobovoj strani.

Slika 6.6 Strategija prislukivanja presretni / poalji

51

Druga strategija je razdvajanje snopa. Ponekad zbog nesavrenosti opreme


dolazi do odailjanja snopa od nekoliko fotona umjesto samo jednoga. U nekim se
sluajevima to ini ak i namjerno kako bi se poveao domet kvantnog kanala. Tada se
polupropusnim zrcalom dio fotona moe usmjeriti prema Eve, a dio propustiti prema
Bobu. No takvi su sustavi esto kalibrirani tako da je snop jedva dovoljno jak da
dosegne drugu stranu, pa je vjerojatnost da e oslabljeni snop stii do Boba iznimno
mala.

Slika 6.7 Strategija prislukivanja razdvajanjem snopa

52

7 Kriptografski programi
PGP (Pretty Good Privacy)
Slui za kriptiranje:
-

Email-a,

podataka,

tvrdog diska,

razgovora

GNU Privacy Guard


Slui za kriptiranje Email-a.
iOpus Secure Email Attachment
Stvara kriptirani privitak koji moete slati Emailom.
Cryptonite
Slui za kriptiranje teksta.
Steganos LockNote
Ponou njega se mogu svi bitne podaci drati na jednom mjestu, u jednoj datoteci koja
se zatiuje zaporkom.
Safe On
Stvara dva kontejnera od 1 Gb za podatke te iz zatiuje zaporkom.
Cryptainer LE
Kriptira datoteke i mape, prijenosne diskove (USB) zaporkom te stvara kontejner u
koji se spremaju podaci.
LockDisk
Pomou njega se mogu zakljuati, sakriti i zaporkom zatititi sve vrste datoteka i
mapa. Moe se stvoriti i novi virtualni disk (kontejner) u koji se spremaju podaci koji
su osim za program, nevidljivi.
53

Iron Key
Kriptira datoteku i stvara samoraspakiravajuu *.exe datoteku za koju od strane
primatelja nije potreban nikakav software nego samo zaporka.

8 Oblici napada radi neovlatenog pristupa


Napad obuhvaa aktivnosti pojedinaca ili grupa pomou kojih oni pokuavaju
da pristupe, izmjene ili otete raunarske sisteme ili okruenje. U svakom napadu
ostvaruje se neki od sljedea tri cilja:
1) neovlaten pristup raunarskim resursima (pristupni napad, engl.
access atack)
2) neovlatena izmjena podataka u raunarskim sistemima (napad radi
izmjene podataka, engl.modification and repudiation attack)
3) napad radi "guenja" servisa i mrea (engl. denial of service attack DoS).
Napadai svoje aktivnosti mogu provoditi radi "iste" zabave, radi ostvarenja
kriminalnih namjera - pokuaj krae, ali i radi objavljivanja raznih politikih stavova,
pa ak i zbogrealizacije teroristikih aktivnosti.
Pojedine vrste napada uzrokuju razliite oblike naruavanja sigurnosti. Najboljiprikaz
je pomou modela. U normalnim (slika 2.1.) uvjetima komunikacijski kanal prenosi
nesmetano informacije iz izvorita ka odreditu. [5]

54

8.1 Vrste napada


8.1.1 Prislukivanje
Najjednostavniji nain napada na sigurnost je prislukivanje ili presretanje. Ovo
je pasivni napad i teko se otkriva jer ne mijenja podatke i ne utjee na unutarnje
funkcioniranje sustava. Prislukivanjem se djeluje na povjerljivost odnosno tajnost
informacije. Ovakav tip napada je ponekad pripremna faza za neku drugu vrstu
napada. U ostalim napadima uljez mora djelovati na informaciju te se oni zovu
aktivnim napadima.

Slika 8.1 Napad prislukivanjem

8.1.2 Prekidanje
Uljez moe djelovati tako da prekine komunikacijski kanal izmeu izvorita i
odredita. Prekidanjem se naruava raspoloivost, tj. onemoguava se pruanje neke
usluge ili funkcioniranje nekog sustava.

Slika 8.2 Napada prekidanjem

55

8.1.3 Promjena sadraja poruka


Uljez moe prekinuti komunikacijski kanal i lano se predstavljajui kao izvorite
promijeniti sadraj poruke. Promjena sadraja naruava besprijekornost ili integritet.

Slika 8.3 Napad promjenom sadraja

8.1.4 Izmiljanje poruka


Uljez moe uspostaviti komunikacijski kanal s odreditem i lano se
predstavljajui kao izvor slati izmiljene poruke. Izmiljanje poruka naruava, kao i
promjena sadraja, besprijekornost ili integritet informacija.

Slika 8.4 Napad izmiljanjem poruka

56

8.2 Koraci napada


1. Ispitaj i procijeni
Prvi korak koji napada obino preuzima je istraivanje potencijalne mete i
identificiranje i procjena njenih karakteristika. Te karakteristike mogu biti podrani servisi,
protokoli s moguim ranjivostima i ulaznim tokama. Napada koristi informacije
prikupljene na ovaj nain kako bi napravio plan za poetni napad.
2. Istrai i prodri
Nakon istraivanja potencijalne mete, napada istrauje ranjivost da bi uao u
mreu ili sustav. Napada e najlake upasti u sustav kroz isti ulaz koji koriste legitimni
korisnici. Na primjer, moe se upotrijebiti stranica za prijavljivanje ili stranica koja ne
zahtijeva provjeru identiteta.

3. Poveaj privilegije
Nakon to napada uspije ugroziti aplikaciju ili mreu odmah e pokuati poveati
svoja prava. Posebno e pokuati preuzeti administratorske privilegije tj. da ue u grupu
korisnika koji imaju sva prava nad sustavom. Definiranje najmanjeg nunog skupa prava i
usluga koji je neophodno omoguiti korisnicima aplikacije, primarna je obrana od napada
poveanjem privilegija.
4. Odri pristup
Kada prvi put uspije pristupiti sustavu, napada preuzima korake da olaka budue
napade i da prekrije tragove. est nain olakavanja buduih pristupa je postavljanje
programa sa zadnjim vratima ili koritenje postojeih naloga koji nisu strogo zatieni. U
prikrivanje tragova esto spada brisanje dnevnikih datoteka (log files). Uzevi u obzir da
su dnevnike datoteke jedan od objekata koje napada eli modificirati kako bi prekrio
tragove, one se trebaju zatititi i redovno analizirati. Analiza dnevnikih datoteka esto
moe otkriti razne znakove pokuaja upada u sustav, i to prije nego to nastane teta.

57

5. Odbij uslugu
Napadai koji ne mogu pristupiti sustavu ili raunalnoj mrei i ostvariti svoj cilj,
esto preuzimaju napad koji prouzrokuje odbijanje usluge (denial of service attack, DoS),
kako bi sprijeili druge da koriste aplikaciju. Primjer ovakvog napada je SYN flood attack.

8.3 Metode napada


1. Odbijanje usluga (Denial of Service, DoS)
DoS izaziva prestanak rada servisa ili programa, ime se drugima onemoguava rad
s tim servisima ili programima. DoS napad se najlake izvrava na transportnom sloju
slanjem velikog broja SYN paketa, a zatita se postie kontroliranjem broja SYN paketa u
jedinici vremena.
2. Lairanje IP adresa (spoofing)
Napada prati IP adrese u IP paketima i predstavlja se kao drugo raunalo. Kako
DNS ne provjerava odakle dolaze informacije, haker moe izvriti napad lairanjem tako
to DNS servisu daje pogrenu informaciju. Najbolja zatita od ovog napada je
sprjeavanje usmjeravanja paketa na adresama izvora (source address) za koje sigurno
znamo da su neispravne.
3. Njukanje (sniffing)
Napada specijalnim programima presree TCP/IP pakete koji prolaze kroz
odreeno raunalo i pregledava njihov sadraj. Kao se kroz mreu obino kreu neifrirani
podaci, program za njukanje (sniffer) lako moe doi do povjerljivih informacija.

58

8.4 Alati za upad u raunalni sustav


8.4.1 NetBus
Uporabom ovog alata moe se preuzeti kontrola nad raunalom druge osobe
ukoliko se zna njegova IP adresa. Neke radnje koje je mogue izvriti:
-

prikazivanje slika

pokretanje aplikacija

pokretanje zvunih datoteka

gaenje sustava ili odlogiravanje

poveanje i smanjenje glasnoe

otvaranje i zatvaranje CD-ROM-a

Slika 8.5 NetBus

8.4.2 Net Devil


Program koji omoguava pristup rtvinom raunalu. Nakon toga se pomou
njega mogu pregledavati povjerljive informacije, bristi ih, mijenjati ili ih spremiti na
neku treu particiju. Takoer se pomou programa mogu instalirati programi bez
rtvina pristanka ili onemoguiti neki programi kao to su antivirusne zatite.

59

Slika 8.6 Net Devil

8.4.3 Prorat
On otvara port na raunalu koji omoguava klijentu da pristupi i izvodi brojne
operacije na tom raunalu. Radnje koje su omoguene ovim programom:
-

kraa lozinka

potpun pristup datotekama

otvaranje i zatvaranje CD-ROM-a

pomicanje kursora

pisanje po ekranu

pregled informacija o sustavu

preuzimanje i pokretanje programa

60

Slika 8.7 Prorat

8.4.4 Network Mapper (NMap)


To je alat za pretraivanje Interneta. Izraen je da ubrzano pretrauje velike mree.
Nmap koristi IP pakete na nove naine da predvidi koja se raunala slobodna na mrei,
koje prikljune toke nude, koji operacijski sustav koriste, koji tip filtra paketa / vatrozida
je u uporabi i mnotvo drugih karakteristika. Nmap je besplatan program, dostupan s
punim izvornim kodom.

8.8. Network Mapper

61

Poto je Nmap napravljen da skenira veliku koliinu IP adresa, moe se koristiti za sve IP
adrese koritene od organizacije, ili od svih IP adresa kabelskih modema koje koristi
organizacija. Nmap podrava impresivan niz vrsta skeniranja koji doputaju sve od TCP
SYN do Null pretrage. Da bi se pokazale mogunosti Nmap-a, treba pokrenuti skeniranje
na raunalu. Ispis skeniranja prikazuje djelatnosti na raunalu. Nmapova sposobnost da
identificira operacijski sustav je korisna jer moe znaajno skratiti vrijeme napada na
odreeno raunalo.

8.4.5 Nessus
Skener koji trai specifinu slabu toku ili skenira raunalni sustav tragajui za
potencijalnom slabou u sustavu. Za razliku od mnogih ostalih sigurnosnih skenera,
Nessus nita ne zaobilazi pri skeniranju. Ovaj alat omoguava administratorima i
napadaima skeniranje raunalnih sustava i procjenu slabosti u njima. Da bi se pokazale
mogunosti Nessusa, kao i u sluaju Nmap-a, treba pokrenuti skeniranje na raunalu.

Slika 8.9 Nessus

62

8.4.6 HoneyNet rootkit


Termin rootkit opisuje grupu ispisa i izvrnih paketa zajedno, koji dozvoljavaju
napadaima da sakriju bilo kakav dokaz ili trag da su uspjeli ui u sustav. Ovo su neke od
radnji to takvi alati obavljaju:
- modificiraju sustav dnevnikih datoteka da bi izbrisali dokaze o napadakim
aktivnostima
- modificiraju alate sustava da bi se tee otkrile napadake radnje
- kreiraju skrivene ulazne toke sustava
- koriste sustav kao poetnu toku napada na ostale umreene sustave

Alat ima nekoliko vrsta programa koji spadaju u sljedee kategorije:


- program za praenje prometa na mrei (network sniffers)
- program za brisanje zapisa u dnevnikim datotekama (log file cleanup)
- Internet relay chat (IRC) proxy

63

3. Zakljuak
Sigurnost raunalnih sistema postaje sve vanija, jer sve vie korisnika na sve
vie naina koristi sve vie informacija u raunalnom svijetu. U takvom sistemu
postoji i sve vea opasnost od neovlatene uporabe informacija, podmetanja krivih ili
unitavanja informacija. U raunalnim sistamima informacije se prenose razliitim
otvorenim i nesigurnim komunikacijskim putevima. Pristup do tih puteva ne moe se
fiziki zatititi pap svaki neprijateljski nastrojen napada moe naruiti sigurnost
sistema.

Zbog

toga

zatitni

komunikacijski

mehanizmi

nad

nesigurnim

komunikacijskim kanalom postaju najvaniji oblik ostvarenja sigurnosti. Pokazuje se


da je najdjelotvorija zatita poruka njihovo kriptiranje. Sigurno je da e se
kriptografija nastaviti razvijati sve brim i brim koracima. Kvantna raunala i
napredni algoritmi njima prilagoeni samo su jedan nagovjetaj budunosti.

64

4. Literatura
[1]

http://www.cis.hr/www.edicija/index.html

[2]

http://bib.irb.hr/datoteka/397255.mipro2009_kvantna_kriptografija.pdf

[3]
http://www.cis.hr/www.edicija/LinkedDocuments/CCERT-PUBDOC-200909-275.pdf
[4]
http://www.scribd.com/doc/63056328/3/KRATKA-POVIJESTKRIPTOGRAFIJE
[5]

http://bs.scribd.com/nik0la/d/18284213-Sigurnostracunalnihmreza

[6]

http://marjan.fesb.hr/~pravdica/srm/srm_pogl3_1_bez_pozadine.pdf

[7]

Kahate A. Cryptography and network security , second edition, 2008.

[8]

Kumar M. Cryptography and network security, third edition, 2008.

65

5. Saetak
Kriptografski postupci koriteni u komunikaciji i razmjeni
informacija
Kriptografija je znanost koja prouava matematike tehnike povezane sa
sigurnosti infomacije: vjerodostojnost, tajnost, provjera porijekla informacije i
identita korisnika, te dokazivanje odgovornosti korisnika za odreenu radnju. Postoje
dvije osnovne grupe algoritama za enkripciju podataka. To su simetrini algoritmi
(isti klju za enkripciju i dekripciju) i asimetrini algoritmi (bazirani na tajnom i
javnom kljuu). Kriptografiju moemo podijeliti na klasinu, kvantnu i kriptografiju
javnog kljua. Danas se najee koriste klasini kriptografski sustavi i kriptografski
sustavi s javnim kljuem, ali kvantna kriptografija jedina omoguuje otkrivanje
prislukivanja komunikacijskog kanala od tree osobe. Napad obuhvaa aktivnosti
pojedinaca ili grupa pomou kojih oni pokuavaju da pristupe, izmjene ili otete
raunarske sisteme ili okruenje. to se tie napada na informacije koje se
razmijenjuju u mrei, moemo ih podijeliti na: prislukivanje, prekidanje, promjena
sadraja poruka i izmiljanje poruka.

66

You might also like