Professional Documents
Culture Documents
US - Kriptologija I PDF
US - Kriptologija I PDF
&
Ds
^
KRIPTOLOGIJA I
O s n o ve za a n a l i zu i s i ntezu
i fa rs k i h s i ste m a
W
Beograd, 2013.
D^
Lektura:
>D
d
^
Dizajn korica:
D
Godina izdanja:
2013.
d
400 primeraka
tampa:
D'
>
/^E
h^
/
Z
II
SADRAJ
III
IV
VI
VII
Predgovor
VIII
IX
Autori
1. UVOD
1.1.
CILJEVI I PRAVILA
Moderna kriptologija reava veliki broj problema. Najvaniji od svih problema i dalje
je ostvarivanje bezbedne komunikacije preko nesigurnih komunikacionih kanala. Da
bismo lake predstavili ovaj problem, definisaemo odreene pojmove: poiljaoc
(eng. Sender - S) i primaoc (eng. Receiver - R) koji ele da uspostave komunikaciju
11
Slika 1.1 Kriptologija tei dostizanju idealnog komunikacionog kanala izmeu poiljaoca
primaoca
Idealni komunikacioni kanal. Zamislimo nae dve strane kako komuniciraju kroz
neprobojnu i zvuno nepropustivu cev, kroz koju poiljalac moe da apne poruku i
primalac da je uje. Niko drugi ne moe da uje njihov razgovor niti da izmeni bilo ta
u njemu. Ova cev predstavlja savreni komunikacioni kanal, dostupan samo
poiljaocu i primaocu, kao da su sami na svetu. Sa stanovita bezbednosti ovaj
komunikacioni kanal je savren. Na alost, u stvarnom ivotu ne postoje idealni
komunikacioni kanali izmeu strana koje bi elele da komuniciraju. Najee se takve
komunikacije obavljaju preko javnih mrea, kao to je Internet. Osnovni cilj
kriptologije jeste da omogui komunikaciju koja ima slina svojstva sa idealnim
komunikacionim kanalima.
Svi aspekti idealnog kanala se ne mogu dostii, tako da kriptolozi imaju jo neke
ciljeve kojima konstantno ele da se priblie. Prvi cilj je privatnost. Obezbediti
12
Slika 1.3 Simetrino ifrovanje. Poiljalac i primalac imaju isti klju, . Protivnik nema klju.
je otvoreni tekst, a je ifrat.
15
kupi, 1 ili 0. To znai da protivnik ima 50% ansi da pogodi poruku. Treba imati na
umu i ovakav sluaj.
Takoe, treba da budemo toga svesni da protivnik najee nije neko ko nema
dovoljno znanja i ne ulae dovoljno energije u napade. Uglavnom je protivnik neko ko
je veoma moan. Pored toga, u kriptologiji, preciznije u kriptoanalizi poznat je jedan
princip koji kae da e napada uloiti onoliko sredstava u napad, koliko vredi
informacija do koje eli da doe.
Autentinost i integritet poruke. Poruka poslata primaocu od strane poiljaoca esto
je poslata kroz nesigurni komunikacioni kanal (npr. kao to je Internet). elimo da
obezbedimo primaocu mogunost da sa sigurnou utvrdi da je poruka poslata od
strane poiljaoca, a ne od protivnika i da nije izmenjena prilikom prenosa. Najee
korieni nain za reavanje problema autentinosti poruke je primena koda za
autentinost poruke (eng. message authentcation code - MAC).
Kada poiljalac eli da poalje poruku , kreira se dodatak (eng. hash) koji se ifruje
odgovarajuim algoritmom i kljuem . Dobijeni ifrovani dodatak dodaje se
otvorenom tekstu i alje se poruka . Primalac dobija poruku koja moe biti
izmenjena zbog uticaja uma u komunikacionom kanalu . Verifikacija se
sprovodi nad dobijenom porukom primenom istog algoritma za deifrovanje i kljua
. Ako je izlaz verifikacionog algoritma 1, on prihvata poruku kao autentinu, a ako
nije, on poruku smatra kao prevaru. Njegova reakcija se moe ogledati u ignorisanju
16
Javno Privatno
PK_Bob SK_Bob
Slika 1.5 Primer asimetrinog modela.
17
poruku tako to emo potraiti neke informacije u javno dostupnoj bazi i ifrovati
poruku na nain tako da samo on moe da je deifruje. Tvorcima ideje o kriptografiji
sa javnim kljuem smatraju se Whitfield Diffie i Martin Hellman3.
Digitalni potpisi. Nain za potvrivanje autentinosti i integriteta poruke u
asimetrinom modelu jeste digitalni potpis (eng. Digital signature). U ovom sluaju,
poiljalac ima javni klju i odgovarajui tajni privatni klju .
Pretpostaviemo da primalac zna javni klju koji pripada poiljaocu, strani
koja potpisuje. Takoe, smatramo i da protivnik ima javni klju. Kada poiljalac eli da
poalje poruku , on njoj isto dodaje dodatne bitove, , koji se nazivaju potpis ( eng.
signature ) te poruke. Tanije, nastaje tako to se najpre izrauna saetak poruke
(hash), a zatim se saetak ifruje primenom asimetrinog algoritma na bazi privatnog
kljua. Na prijemu, primalac odreuje da li je poruka autentina na osnovu dobijenih
i i javnog kljua poiljaoca primenjujui ih na verifikacioni (eng. verification) algoritam. Ako je poruka prihvaena, primalac je smatra kao autentinu, ako
nije, smatra je kao pokuaj prevare.
Javno
Privatno
PK_Alisa SK_Alisa
Slika 1.6 ema digitalnog potpisivanja je odreena na osnovu algoritma za generisanje kljua,
algoritma potpisa i algoritma potvrde.
Whitfield Diffie i Martin Hellman, ameriki kriptolozi, jesu pioniri kriptografije sa javnim kljuem. U
naunom radu objavljenom 1976. godine New Directions in Cryptography uveli su potpuno novu
metodu za distribuciju kriptolokih kljueva.
18
Jedna od razlika izmeu MAC i digitalnog potpisa je neporecivost (eng. nonrepudiation). Sa MAC, svako ko moe da potvrdi autentinost poruke, kojoj je MAC
dodeljen, moe i da napravi takvu poruku. Na primer, tako zatiena poruka ne bi
mogla biti iskoriena na sudu. Meutim, sa digitalnim potpisom jedino strana koja
potpisuje moe da napravi poruku koja se moe verifikovati javnim kljuem PK . I to
se moe iskoristiti kao dokaz na sudu.
1.1.3. REZIME
U nastojanju da to bolje oponaamo osobine savrenog kanala, postavljamo dva
osnovna cilja: obezbeivanje privatnosti poruke i obezbeivanje autentinosti I
integriteta poruke. Dva osnovna naina za postizanje tih ciljeva jesu upravo simetrini
i asimetrini ifarski sistemi.
Tabela 1: Rezime osnovnih osobina simetrinog i asimetrinog modela.
1.2.
Simetrini model
Asimetrini model
Privatnost poruke
Simetrino ifrovanje
(tajni klju)
Asimetrino
ifrovanje (javni klju
strane primaoca)
Autentinost i
integritet poruke
Kod autentinosti
poruke (MAC)
ema digitalnog
potpisivanja (privatni
klju poiljaoca)
U kriptologiji postoji mnogo ciljeva. Neki se odnose na one koje smo ve opisali.
Osnova za sve ifarske sisteme jesu generatori sluajnih nizova. Za praktine sisteme
zatite, cilj kriptologa je sinteza kvalitetnih generatora pseudoslujanih nizova. Pri
realizaciji tei se ka jednoznanoj autentifikaciji strana u komunikaciji.
19
Na Internetu postoji skup javno dostupnih testova za ocenu sluajnosti generatora sluajnih i
pseudosluajnih nizova. Najkompletniji testovi su se mogu nai kod NIST-a (National Institute of Standards and Technology) - Ameriki nacionalni institut za standarde i tehnologiju.
5
Generatori sluajnih impulsa koji se mogu pozvati iz nekog programskog jezika najee su
pseudosluajni generatori. Za istu ulaznu inicijalnu sekvencu (seed) dobija se isti izlaz iz generatora.
20
1.2.2. AUTORIZACIJA
Uobiajeno je da dve strane ele da uspostave bezbednu komunikaciju. Pod
bezbednom komunikacijom smatramo onu u kojoj su strane sigurne da komuniciraju
jedna sa drugom i da je njihova komunikacija sakrivena od bilo koje tree strane.
Jedan takav sluaj je, na primer, kada Alisa eli da se sa odreene udaljenosti prijavi
na svoj raunar. Ili komunikacija izmeu klijenta i servera u elektronskom bankarstvu,
gde klijent npr. ima mogunost da izvri elektronsko plaanje, tj. prenos sredstava sa
svog rauna na neki drugi raun. Po definiciji autorizacija se odnosi na dozvole
pristupa pojedinim resursima sistema i dozvole za odreene akcije nad resursima
kojima se pristupa. U principu, pun pristup svim resursima sistema se ne daje svim
korisnicima. Samo privilegovan korisnik, poput administratora, mogao bi dobiti
dozvolu da instalira softver. Autorizacija je skup postupaka i tehnika za ograniavanje
rada autentifikovanih korisnika.
21
1.3.
22
Protokoli se razlikuju prema problemima koje reavaju. Nije isto reenje za protokole
za simetrino ifrovanje i za protokole kojima se vri autentifikacija strana u
komunikaciji.
Protivnik predstavlja izvor problema u kriptologiji. On nastoji da iskoristi potencijalne
slabosti protokola i da bez kriptoanalize doe do otvorene poruke najee
varanjem druge strane u komunikaciji. Nasuprot tome, protokol nastoji da odbije bilo
kakve napade protivnika. U sutini to je igra u kojoj pobeuje onaj ko je pametniji
poznavalac protokola.
Kriptografija je najvie fokusirana na protivnika. Prouavajui o tome ta on moe da
uradi, a ta ne. Ako se ne pronau adekvatni odgovori na ova pitanja dalji rad ne bi
dao neke znaajnije rezultate. Kao to smo rekli, protivnik bi mogla biti stvarna
osoba, ali takoe moe biti i samostalni program za napad, konkurentska kompanija,
kriminalna organizacija, vladina institucija, grupa hakera ili nekolicina nesrenih
okolnosti zajedno.
Ako zamislimo monog protivnika, mi zauzimamo pesimistian stav prema
dogaajima koji mogu krenuti loe. Trudimo se da uspemo iako neko eli da osujeti
nae planove. Moda niko to ne eli. U tom sluaju treba ostvariti bar visoku
pouzdanost u zatiti.
23
sistem i koriste na nalog, da uzmu nae podatke ili upropaste neki rad. Ovo su zadaci
bezbednosti sistema.
Kriptoloki protokol je samo deo slagalice. Ako je loe projektovan, protivnik e to
iskoristiti. Na primer, ako protokol alje vau ifru nezatienu, tako da je svako moe
razumeti, onda je to problem protokola, a ne sistema.
Bezbednost sistema je dobra onoliko koliko je jaka i njegova najslabija karika. Ovo je i
razlog zato je teko projektovati siguran sistem. Da bismo postigli bezbednost koja
nam je potrebna, neophodno je da se posvetimo svim problemima: kako da zatitimo
nae maine od napadaa, kako da projektujemo dobar protokol itd.
Obezbeivanje bezbednosti je teak zadatak. Takoe, razliiti sistemi zahtevaju
razliite vrste zatite, a time inei ovu oblast jo obimnijom. Jedini nain reavanja
ovih problema je deljenje problema sigurnosti na vie manjih, lake reivih problema.
protivnik mora preskoiti. Zato ita otkrivati? Neke organizacije imaju druge razloge
zato ne ele da otkriju svoje mehanizme u koje se ubraja irenje kriptografskog
znanja, ili strah od razotkrivanja sposobnosti (ili nesposobnosti) same organizacije.
1.4.
Razmotrimo ukratko istoriju kriptologije i njena dva razvojna pravca. Razvoj kroz
kriptoanalizu i razvoj kroz dokaze.
2. Ponueno je reenje;
3. Traganje za nainom napada na ponueno reenje;
4. Kada se pronae potencijalna slabost reenja, vraamo se na korak 2 i
ponavljamo proces.
Trei korak se naziva kriptoanaliza.
Po nekima, kriptografija se odnosi na kreiranje kriptografskih mehanizama,
kriptoanaliza se odnosi na napade na te mehanizme, a kriptologija obuhvata obe
pomenute. Mi smo esto koristili re kriptografija tamo gde bi re kriptologija bila
adekvatnija. Mnogi kriptolozi ne pridaju znaaja ovoj razlici, pa neemo ni mi.
Postoje neki problemi u razvoju kriptografije kroz kriptoanalizu. Oigledan problem je
to to se nikada ne zna da li je posao do kraja obavljen kako treba i kada je posao
zavren. Pomenuti proces bi trebalo da se ponavlja sve dok projektant ne oseti da je
proizvod adekvatan. Ali projektant mora da prihvati da greke mogu biti otkrivene u
bilo kom trenutku. Uz malo sree, napadi nee biti fatalni, mada se moe se desiti i da
budu. ak se moe desiti da projektant shvati da je popravka sistema teka ili ak
nemogua.
Kriptoanaliza zahteva visoku inteligenciju. Smatra se da kriptoanaliza ne moe biti
nauena, ve da dobar kriptoanalitiar mora imati jak oseaj za matematiku i
veoma razvijen intelekt. Iz tog razloga su kriptoanalitiari veoma cenjeni.
26
Da bismo imali apsolutnu tajnost simetrinog ifarskog sistema, duina kljua treba
da odgovara duini poruke koja se ifruje. Meutim, u praktinoj primeni
kriptografije, jedan klju esto se koristi za ifrovanje velikih koliina podataka koji se
prenose ogromnim brzinama. To znai da se u najveem broju dananjih praktinih
reenja za prenos ne moe postii enonova apsolutna tajnost. Zbog toga moramo da
prihvatimo sisteme koji nisu savreni, ali su ipak dovoljno dobri i odgovaraju za
raunarsku primenu.
27
29
2. KLASINA KRIPTOGRAFIJA
ifre
ifre
transpozicije
supstitucije
Transpozicija
kolona
Dvostruka
transpozicija
kolona
One-time pad
Kodne knjige
ifre proste
zamene
(monoalfabetske
ifre)
Poligramske
ifre
Polialfabetske
zamene
2.1.
IFRE TRANSPOZICIJE
30
Difuzija je definisana kao nain irenja statistike otvorenog teksta i ifrata. Ideja o
primeni principa difuzije nala je primenu i kod modernih ifara.
Prva ifra ovog tipa je Skitala. Koristili su je Spartanci (500 god.). Princip rada ifre je
jednostavan. Obavija se kona traka oko tapa, zatim se poruka pie na tako
dobijenom omotau du tapa. Kada je poruka napisana, kona traka se razmota i
dobije se ispremetan ili skremblovan tekst. Znakove je mogao proitati samo onaj ko
je imao tap jednake debljine. Sada moemo da zakljuimo da je kompletna tajnost
ove ifre odreena debljinom tapa, tj. klju je zapravo debljina tapa.
Slika 2.2, Alisa i Bob koriste Skitalu za ifrovanje poruke. Alisa generie otvoreni tekst i
odreuje klju (debljina tapa). Na drugoj strani Bob dobija ifrat, poseduje isti klju i
uspeno deifruje poruku.
1. PRIMER:
Pretpostavimo da je matrica dimenzije [3 x 7]:
U N
D U N U M
32
V E R U N Z I
U R I V N E Z
U N I V E R Z
T S I I T N E , I I E T T S N I T E T S I N
U N U G I M D
G U D U I N M
G I D U N U M
Iz ovog primera kriptoanalize vidimo da je jedino mogue reenje za Trudi potpuna
pretraga prostora kljueva. Ako Trudi izabere tanu matricu [3 x 7] i zapone potpunu
pretragu kljua, u nekom momentu e dobiti smisleni tekst ili poruku. Ako je prostor
kljua dovoljno veliki, takav napad ne moe da se zavri za prihvatljivo vreme. Tanije,
verovatnoa uspeha je veoma mala. Za sigurnost bilo koje ifre (kriptografskog
mehanizma) neophodan je veliki prostor kljueva, to i nije dovoljan uslov.
33
4. PRIMER:
ifrovanje dvostrukom transpozicijom.
Otvoreni tekst: UNIVERZITET SINGIDUNUM
kolone
red 0
red 1
red 2
U N I V E R Z
I T E T S I N >>>
G I D U N U M
kolone
red 1
red 0
red 2
T I N E S T I
N U Z I E V R
I G M D N U U
34
2.2.
ifre zamene ili supstitucije mogu se porediti sa ifrom transpozicija. Kod ifre sa
transpozicijama, slovima otvorenog teksta se menja raspored, dok vrednosti
originalnih slova ostaju iste. Nasuprot tome, kod ifri sa zamenom, raspored slova
otvorenog teksta ostaje nepromenjen, ali slova teksta menjaju svoju vrednost, tj.
preslikavaju se u druga slova. Sa aspekta kriptoanalize pretpostavimo da napada
poznaje algoritam, ali ne zna klju. Koliko kljueva mora da isproba? Odgovor je 26!.
Ovo bi znailo da je potrebno 5 milijardi godina, ako svaka osoba na Zemlji troi jednu
sekundu za testiranje jednog kljua.
Postoji vie tipova ifara zamene. Monoalfabetska ifra koristi fiksnu zamenu tokom
cele poruke. Homofone ifre predstavljaju unapreenje ifre prostih zamena, uvodei
element sluajnosti. Poligramske ifre rade na principu zamena nad veim grupama
slova u otvorenom tekstu. Polialfabetske ifre koriste veliki broj zamena na razliitim
pozicijama u poruci, u kojoj se slovo iz otvorenog teksta preslikava u jednu od
nekoliko mogunosti u ifratu.
K L M N O P Q R S T
K L M N O P
U V W X Y Z
Q R S T U V W X Y Z
A B C
35
Prvi red u tabeli posmatramo kao otvoreni tekst, a drugi red kao ifrat za pomeranje
alfabeta otvorenog teksta za 3 pomeraja. Cezarova ifra funkcionie tako to se
svakom od 26 slova u alfabetu otvorenog teksta dodeli broj od 0 do 25. A je 0, B je 1,
C je 2, ..., Z je 25.
Cezarov algoritam za ifrovanje/deifrovanje:
x
ci
pi K E (mod 26)
pi
5. PRIMER:
Kriptografski sistem baziran na Cezarovoj ifri.
Alisa i Bob koriste Cezarovu ifru za ifrovanje poruke. Alisa generie otvoreni tekst i
odreuje klju 3. Na drugoj strani Bob dobija ifrat, poseduje isti klju i uspeno
deifruje poruku.
ifrovanje:
ci (U )
pi K E (mod 26)
Deifrovanje:
pi ( X )
36
T U V Q K L D E F G R S W
37
Trudi zna da je primenjena prosta zamena, ali nema mogunost da isproba svih 288
kljueva. U tom sluaju koristi statistiku ili statistiku strukturu srpskog jezika. Meri se
frekvencija pojavljivanja pojedinih slova u ifratu. Zatim poreenjem dobijenih
frekvencija iz ifrata, odreuje se koje slovo je sa kojim zamenjeno. Svaki svetski jezik
poseduje svoju jedinstvenu distribuciju slova u rei.
6. PRIMER:
Frekvencije slova u Srpskom jeziku.
Za sada nam je poznata samo injenica da su najfrekventnija slova u srpskom jeziku
A, I, O, E, N, R i T. Na osnovu izabranog uzorka teksta iz srpskog jezika, izraunaemo
frekvencije slova koje vae za srpski jezik. Slika 2.4. frekvencije slova u srpskom jeziku.
7. PRIMER:
Kriptoanaliza Cezarove ifre na osnovu frekvencije slova.
Alisa i Bob koriste Cezarovu ifru za ifrovanje poruke. Klju je jedna od permutacija
26 slova. Trudi je uspela da presretne ifrat i pokuava pomou statistike da deifruje
poruku, Slika 2.5 Frekvencije slova u ifratu na srpskom jeziku. Ne postoji drugi
povoljan nain, ukoliko Trudi zna na kom je jeziku napisan otvoreni tekst.
Pretpostavimo da je u ovom sluaju otvoreni tekst napisan na srpskom jeziku.
38
, [A, B, M, C, X, Y, Z, H, I, J, N, O, P, T,
39
8. PRIMER:
ifrovanje homofonom ifrom.
A
04 05 08 01 02 06 11 12 13 14 15 07 03 09 10 16
N N O O P Q R R S
T U V W X Y Z
20 17 28 29 30 21 22 23 24 18 19 25 26 27 31 32
U datoj matrici slova predstavljaju otvoreni tekst. ifrovanjem otvorenog teksta svako
slovo otvorenog teksta se preslikava u izabrani broj. Dobijeni brojevi predstavljaju
ifrat homofone ifre.
Otvoreni tekst: UNIVERZITET SINGIDUNUM (slova N, E i I se ponavljaju)
ifrat je dobijen pojedinanom zamenom slova iz otvorenog teksta na osnovu brojeva
koji su odreeni za svako slovo alfabeta, prikazano u tabeli iznad.
ifrat: [19,20,15,25,06,22,32,07,18,11,18,24,15,17,13,07,02,19,20,19,16]
40
anse da doe do kljua ili otvorenog teksta na osnovu ifrata. Kriptografi ulau velike
napore da se uspeno bore sa napadima zasnovanim na statistikim metodama.
Ako je m1 = m 2 , tada se vri umetanjem neutralnog (null) karaktera (na primer, X ) izmeu m1 i m 2 ;
Ukoliko poruka otvorenog teksta ima neparan broj slova tada se na kraj
poruke dodaje neutralni (null) karakter.
41
9. PRIMER:
Postupak ifrovanja Plejfer ifrom.
Klju: Generisana matrica [5 x 5] za izabranu kljunu re SING;
S I N G A
B C D E F
H K L M O
P Q R T U
V W X Y Z
Otvoreni tekst:
ifrat:
SI
IN
NG
GA
ID
NC
UN
RA
UM
TO
42
Analiza:
R.B.
Bigrami
Frekvencija (%)
Broj
Frekvencija (%)
Broj
ri
2.0836
1989
GC
2.3561
1449
je
1.9966
1906
NW
1.7138
1054
st
1.5933
1521
QN
1.7138
1054
na
1.5640
1493
NI
1.6699
1027
ko
1.5493
1479
GN
1.6569
1019
en
1.5190
1450
DG
1.6553
1018
an
1.5179
1449
SG
1.5789
971
ra
1.5085
1440
GS
1.3968
859
ti
1.3744
1312
NS
1.3350
821
10
ij
1.3283
1268
UN
1.3187
811
11
no
1.3053
1246
LH
1.3090
805
12
pr
1.2225
1167
GP
1.2764
785
13
om
1.2099
1155
QG
1.1903
732
14
me
1.2089
1154
KN
1.1138
685
15
ni
1.1953
1141
QT
1.0911
671
16
re
1.1314
1080
NG
1.0716
659
17
va
1.1282
1077
AL
1.0439
642
18
po
1.0559
1008
TM
0.9984
614
19
tr
1.0318
985
SN
0.9951
612
43
to
1.0308
984
TD
0.9659
594
21
ta
1.0277
981
LF
0.9285
571
22
ov
1.0235
977
HZ
0.9008
554
23
or
1.0088
963
AQ
0.8976
552
24
is
0.9983
953
HA
0.8829
543
25
te
0.9805
936
GU
0.8797
541
26
ja
0.9638
920
HO
0.8764
539
27
da
0.9491
906
GK
0.8748
538
28
od
0.9239
882
UT
0.8732
537
29
ma
0.9187
877
AK
0.8716
536
30
ne
0.9156
874
UM
0.8667
533
Ukoliko je dobijeni ifrat isuvie mali, analizom frekvencija nije mogue uraditi
kriptoanalizu datog ifrata kao to je to prikazano u prethodnom primeru. U ovakvim
sluajevima mogue je primeniti metod "poznata re ili verovatna re", koja je
sadrana u ifratu. Metod se sastoji u tome da se pretpostave rei ija je verovatnoa
visoka da e se pojaviti u ifratu. Primer: "Univerzitet", "Singidunum". Zatim se u
ifratu trai struktura koja odgovara pretpostavljenoj rei i na taj nain se postupno
rekonstruie matrica na osnovu koje je generisan ifrat.
10
03
20
17
13
03
16
02
23
03
21
02
13
01
21
01
18
19
STUD blok1 = ,ENTIblok2 =
20
3
4
13
;
19
8
45
10
03
20
17
13
03
16
02
23
03
21
02
13 18
01 19
u
21 20
01 3
826
174
1147
387
16
18
(mod 26)
3
23
Q
S
D
X
22
12
(mod 26)
23
10
W
M
X
K
10
03
20
17
13
03
16
02
23
03
21
02
13 4
01 13
u
21 19
01 8
750
116
855
140
ifrat: [AVXOWMXK]
Proces deifrovanja sa Hilovom ifrom:
16
18
AVXOblok1 = ,WMXKblok2 =
3
23
Klju: inverzna matrica [4 X 4];
K 1
46
5
19
25
13 16 2
14 19 16
13 23 11
11 8 17
22
12
;
23
10
5
19
25
13 16 2 16
14 19 16 18
u
13 23 11 3
11 8 17 23
408
981
956
757
18
19
(mod 26)
20
3
S
T
U
D
5
19
25
13 16 2 22
14 19 16 12
u
13 23 11 23
11 8 17 10
654
1183
1345
654
4
13
(mod 26)
19
8
E
N
T
I
47
"Vinerova ifra". ifra je imala veliku primenu kod klasinih ifarskih sistema.
Koriena je u Drugom svetskom ratu. Vinerova ifra predstavlja "Multi-Cezarovu"
ifru. U Vinerovoj ifri svako slovo otvorenog teksta se preslikava u jedno od n
moguih slova ( k -duina kljune rei) u zavisnosti od pozicije u tekstu.
Klju Vinerove ifre je u formi K
ci
ci ki (mod n) mod 26 .
18,8,13,6,8
I
8
I
8
16
Q
N
13
N
13
0
A
G
6
G
6
12
M
I
8
I
8
16
Q
D
3
S
18
21
V
U
20
I
8
2
C
N
13
N
13
0
A
U M
20 12
G I
6
8
mod(26)
0
20
A U
A
0
N
13
13
N
M
12
G
6
6
G
Q
16
I
8
8
I
V
21
S
18
3
D
C
2
I
8
20
U
A
0
N
13
13
N
A
0
G
6
20
U
ifrat: [KQAMQVCAAU]
Deifrovanje:
K
10
- S
18
18
S
48
Q
16
I
8
8
I
U
20
I
8 mod(26)
12
M
n0
2
25
1
ni ni 1
n n 1 i 0
49
1
26
, tada bi
p02 p12 .... p252 | 0.03846 . Ujedno I | 0.03846 vai za polialfabetske ifre
vrlo dugakih kljunih rei.
Sad kad imamo ove rezultate moemo da odredimo duinu kljune rei u Vinerovoj
ifri. Ako je duina kljune rei k, a duina poruke n , u tom sluaju upisujemo ifrat u
matricu sa k kolona i n / k redova. Selektujemo dva slova iz istih kolona,
ekvivalentno odabiru u sluaju proste zamene, zatim selektujemo dva slova iz
razliitih kolona, ekvivalentno odabiru sluajnih slova.
Kada pretpostavimo k kolona i n / k redova, odreujemo priblian broj poklopljenih
parova iz iste kolone i dva razliita reda:
n
0.065 k k
2
1 n n
0.065 1 k
2 k k
n n k
0.065
2k
Priblian broj poklopljenih parova iz dve razliite kolone i bilo koja dva reda, dat je
izrazom:
k n
0.03846
2 k
50
0.03846
n 2 k 1
2k
I|
0.03846
n 2 k 1
2k
0.065
n nk
2k
n
2
0.03846n k 1 0.065 n k
k n 1
k|
0.2654n
0.065 I n I 0.03846
51
enon koristi entropiju kao veliinu koja meri prosenu koliinu informacije sadrane
u porukama. Za optimalno ifrovanje poruka koje se alju preko komunikacionog
kanala vano je opisati i koliinu informacije koja je sadrana u pojedinanim
porukama. Koliina informacije koja je sadrana u pojedinanim porukama direktno
zavisi od verovatnoe. to je verovatnoa poruke vea, koliina informacije u poruci
je manja i to je verovatnoa poruke manja, koliina informacije u poruci je vea.
Funkcija koja zadovoljava oba zahteva je logaritam. U tom sluaju informacioni
sadraj neke poruke x se definie na sledei nain:
Ix log 2
1
px
pi log pi
i 0
12. PRIMER:
Poruka P sadri simbole verovatnosnog skupa simbola S
verovatnoe pxi
IP
I x1 I x2 I x3 2 2 1 5bitova
Ukoliko imamo poruku P koja koja je u formi binarnog niz, tada entropija zavisi od
verovatnoe poruka 0 i 1. Ako je verovatnoa prve poruke jednaka p , onda je
53
H
13. PRIMER:
BN1 {0.25,0.75} i (2) BN2 {0.50,0.50}, duina nizova je 1000 bitova. Zatim
odrediti (3) ukupnu koliinu informacije sadrane u svakom nizu.
(1) Entropija prvog niza:
H BN 1
0.8113bit
(2) Entropija drugog niza:
H BN 2
1bit
(3) Ukupna koliina informacije za BN1 i BN2 :
Iz ovog primera moemo da zakljuimo da binarni niz BN1 od ukupno 1000 bitova,
sadri 811 bitova informacije i 189 bitova redudanse, dok niz BN2 identine duine,
sadri 1000 bitova informacije i 0 bitova redudanse. Binarni niz BN2 je informacijski
jai i njega emo verovatno koristiti za klju kod OTP ifre.
Ovaj primer predstavlja samo prvi korak analize sluajnosti kod binarnih nizova.
Pretpostavimo sluaj u kome niz BN2 sadri redom 500 bitova jedinica, a potom 500
bitova nula. Verovatnoe nula i jedinica e davati maksimalnu vrednost entropije
H | 1 . Da li je ovo sluajan niz? Naravno da nije, neophodno je proveriti uniformnost
ovog binarnog niza. Preimo na sledei primer.
54
14. PRIMER:
(1)Odrediti entropiju binarnog niza BN1 duine 50 bitova u odnosu na njegovu
uniformnu distribuciju. Niz je generisan na sluajan nain, a kao izvor korien je
atmosferski um.
BN1 =[10000110100011000111011000101010111110001010100010]
U prvom koraku, prebrojaemo sve parove sainjene od nula i jedinica. Ukupan broj
parova je 4. Parove emo tretirati kao poruke ovog verovatnosnog skupa
S {00,01,10,11} .
(1) Vrednosti koje smo predstavili sa psi su verovatnoe poruka S u binarnom
nizu.
pS00
0.24, pS01
0.12, pS10
0.48, pS11
0.16;
(1) Entropiju sada odreujemo na nain kao u primeru 13, zatim dobijenu
vrednost delimo sa dva da bismo dobili vrednost entropije za jedan bit.
ps00 log 2( ps00 ) ps01 log 2( ps01 ) ps10 log 2( ps10 ) ps11 log 2( ps11 )
0.24 log 2(0.24) 0.12 log 2(0.12) 0.48 log 2(0.48) 0.16 log 2(0.16)
1.7925 / 2 0.8962bit
Rezultat H od 0,8962 bita predstavlja koliinu informacije koja je sadrana po jednom
bit-u u datom binarnom nizu. Ako pomnoimo ukupan broj bita iz niza sa dobijenom
vrednosti entropije H=0,8962, dobiemo ukupno 44.81 bita informacije. Moemo da
zakljuimo da ovaj niz nije apsolutno sluajan, ako je jedinica mere za koliinu
informacije 1 bit.
Sada nam je moda malo jasnije zato je toliko teko pronai informacioni izvor koji
e generisati isto sluajne binarne nizove. U praksi je to uglavnom sluaj da se
koriste pseudo sluajni generatori. Pseudo generatori otklanjaju sva prirodna
nesavrenstva pravih sluajnih nizova. U tom sluaju dobijamo i pseudo sigurnost. Za
potvrdu ispravnosti pseudo generatora, neophodno je sprovesti niz testova koje je
predloio NIST, za proveru postojanja osbina sluajnih nizova.
55
56
15. PRIMER:
ifrovanje i deifrovanje sa OTP ifrom i kriptoanaliza.
ifrovanje: Otvoreni tekst (SINGIDUNUM) klju = ifrat (NGDUUMSIGD)
Otvoreni
tekst
Klju
ifrat
S
I
N
G
I
D
U
N
U
M
000 001 010 011 001 100 101 010 101 110
010 010 110 110 100 010 101 011 110 010
010 011 100 101 101 110 000 001 011 100
N
G
D
U
U
M
S
I
G
D
N
G
D
U
U
M
S
I
G
D
010 011 100 101 101 110 000 001 011 100
010 010 110 110 100 010 101 011 110 010
000 001 010 011 001 100 101 010 101 110
S
I
N
G
I
D
U
N
U
M
N
G
D
U
U
M
S
I
G
D
010 011 100 101 101 110 000 001 011 100
001 010 110 100 101 011 010 000 011 001
011 001 010 001 000 101 010 001 000 101
G
I
N
I
S
U
N
I
S
U
16. PRIMER:
Predstavljen je sluaj sa ponovljenim kljuem kod OTP-a. Kriptoanalitiar saznaje
otvoreni tekst druge poslate poruke na osnovu snimljenih ifrata za obe poruke i
poznatog otvorenog teksta prve poruke.
59
17. PRIMER:
ifarnik Cimermanovog telegrama. Za svaku re je bila odreena ifra.
Rei/ifre
Februar/13605
Fest/13732
Finanzielle/13850
Folgender/13918
Frieden/17142
Friedenschluus/17149
Britanci su uz pomo Rusa delom rekonstruisali kodnu knjigu, a zatim deifrovali
delove telegrama. Na slici ispod nalazi se jedan deo telegrama. Kodne knjige su
podlone statistikoj analizi. Slino kao i kod ifara zamene, ali je za napad potrebno
mnogo vie ifrata. U toku Drugog svetskog rata, kodne knjige su bile veoma
popularne. Problem je bila skupa zamena, a sa druge strane i teko izvodljiva. Da bi
ostale u upotrebi, uvedene su dodatne aditivne kodne knjige. Aditivna kodna knjiga je
dodatna knjiga koja sadri mnogo sluajnih brojeva. Sekvence sluajnih brojeva se
sabiraju sa kodnim reima i formiraju konani ifrat. Poetna pozicija iz aditivne
knjige treba da se dogovori izmeu poiljaoca i primaoca.
ifrovanje
Otvoreni
tekst
(Februar )
Kod iz kodne
knjige
(13605)
Kodna re
(13605)
Kodna re
(13605)
Kod iz
aditivne
knjige (500)
ifrat
(14105)
Kod upotrebe aditivnih kodnih knjiga poetno mesto u kodnoj knjizi odreuje
poiljalac. Odreenom mestu alje se nezatieno "otvoreno" uz ifrat. Drugi naziv za
poetno mesto je indikator poruke. Za deifrovanje, pored kljua neophodan je i
indikator poruke. Savremeni izraz koji se koristi za indikator poruke kod modernih
ifara je "inicijalni vektor". Na ovaj nain se poveava sigurnost kodne knjige. Ako se
indikator poruke koristi samo jednom za jednu poruku, ifra postaje One-time pad.
60
61
Razmotrimo principe rada dva poznata algoritma sekvencijalnih ifara: A5/1 i RC4.
Algoritam A5/1 korien je u mobilnoj telefoniji i predstavlja klasu sekvencijalnih
ifara zasnovanih na hardveru i takozvanim neuniformno taktovanim linearnim
pomerakim registrima. RC4 se koristi na mnogim mestima, ukljuujui SSL i WEP
protokole. RC4 je jedinstven meu sekvencijalnim iframa poto je dizajniran tako da
se efikasno implementira u softveru.
Kod blokovskih ifara razmotriemo DES jer je relativno jednostavan (po standardu
blokovskih ifri) i najstariji od svih, blokovska ifra sa kojom se sve ostale porede.
Takoe, razmotrie se nekoliko drugih popularnih blokovskih ifara. Na kraju emo
diskutovati o primeni blokovskih ifara za ostvarivanje poverljivosti i integriteta
podataka. Slika 3.1, data je osnovna podela moderne kriptografije, sa iframa koje
predstavljaju istaknute predstavnike odreenog tipa ifre.
Moderna
kriptografija
Asimetrina
kriptografija
Simetrina
kriptografija
Kriptografija sa
javnim kljuem
Sekvencijalne
ifre
Digitalni potpis
A5/1
DES
RC4
TDES
Blokovske ifre
AES
TEA
62
Slika 3.2, prikazan je prirodni informacioni izvor koji se koristi kao generator sluajnih
Proces ifrovanja se svodi na XOR operaciju nad bitovima otvorenog teksta i bitovima
pseudosluajne sekvence (radnog kljua). Deifrovanje se vri identinim
pseudosluajnim nizom na prijemu koji se XOR-uje sa dobijenim ifratom C .
64
SK ( K ) S
gde je K klju, a S predstavlja rezultujui pseudosluajni niz.
Za dati pseudosluajni niz S
generie se ifrat C
p0 p1 ... pi
C {c0
p0 s0 ; c1
p1 s1; ci
pi si };
P { p0 c0 s0 ; p1 c1 s1; pi
ci si };
Poznato nam je da ifrat kod One-time pad-a nastaje tako to se primeni XOR
operacija nad otvorenim tekstom i kljuem. Iz ovoga vidimo da duina kljua K mora
biti ista duini otvorenog teksta. Osnovna ideja je bila da se zameniti sluajni niz ili
klju K sa pseudosluajnim nizom ili radnim kljuem (klju koji se koristi za
ifrovanje). Ovo zahteva projektovanje generatora pseudosluajnih brojeva (PRNG).
Dobijeno je vie reenja za projektovanje PRNG-a. Jedno od reenja je primena
linearnih pomerakih registara sa povratnom spregom (LPR).
Linearni pomeraki registri obuhvataju dve funkcije. Prva se odnosi na funkciju
pomerakog registra duine n bita koji se u svakom taktu pomera za jedno mesto u
desno. Druga funkcija je funkcija povratne sprege koja odreuje (na osnovu
odreenih bitova u registru) koji bit e se upisati na prvo mesto. Funkcija moe biti
linearna. Izlaz iz pomerakog registra je jedan bit, najee krajnji desno. Izlazni bit je
odreen na osnovu poetnog stanja i povratne sprege. Perioda pomerakog registra
je broj bita izlazne sekvence, pre nego to pone da se ponavlja.
65
izlaznog niza od 2 1 bita. Generisani izlazni niz ima osobine pseudosluajnog niza
to znai da sadri osobinu periodinosti.
n
poetnom stanju. Na osnovu poznavanja svih 2 bita izlaza jednog generatora moe
se rekonstruisati generator. Sa aspekta kriptoanalize, uspeh kriptoanalitiara bio bi
zagarantovan.
18. PRIMER:
Primer jednog LPR za generisanje radnog kljua.
Klju K : n
3 o k0k1k2 100
k0 k2 , ki
reprezentacija polinoma x x 1 .
3
66
Tabela 3, sadri stanja datog registra. Za svako stanje kao ulaz u naredni takt prikazan
je izlaz veliine 1 bit kao izlaz iz takta. Izlazi zajedno ine radni klju maksimalne
duine 2 1. Na osnovu vrednosti takta 7 za stanje 100 oznaeno crvenom bojom,
vidimo da je registar periodian. Njegova perioda je 7.
n
19. PRIMER:
Primer jednog LPR za generisanje radnog kljua sa loom povratnom spregom koja
prouzrokuje malu periodu.
Klju K : n
3 o k0k1k2 101
k0 k1, ki
reprezentacija polinoma x x 1.
2
67
Bitovi
n
3
4
5
6
7
8
9
10
11
68
x3 x 2 1
x 4 x3 1
x5 x3 1
x 6 x5 1
x7 x6 1
x8 x6 x5 x4 1
x9 x5 1
x10 x7 1
x11 x9 1
Binaran reprezentacija
Period
polinoma povratne sprege (takt) n 1
110
7
1100
15
10100
31
110000
63
1100000
127
10111000
255
100010000
511
1001000000
1023
10100000000
2047
20. PRIMER:
Konstruisati jedan linearni pomeraki registar (LPR) za n 8 bitova, sa maksimalnom
periodom. Povratna sprega za najveu periodu, odreena je sa polinomom
x8 x6 x5 x4 1 , tabela 5.
3.1.1. A5/1
Prva sekvencijalna ifra koja e se razmatrati je A5/1. ifra se koristi za kriptografsku
zatitu podataka kod GSM zatitnog protokola. Korien je za obezbeivanje sigurne
komunikacije izmeu telefona i bazne stanice. Algoritam je dran u tajnosti, ali je
spletom okolnosti dospeo u javnost. Kasnije se pokazalo da dizajn algoritma ima
69
ozbiljnih slabosti. Ovaj algoritam ima algebarski opis, ali takoe moe biti prikazan
kroz relativno jednostavan dijagram.
A5/1 koristi tri linearna pomeraka registra sa povratnom spregom (LPR), koje emo
mi nazvati X , Y i Z . Registar X se sastoji od 19 bitova, koje emo oznaiti sa
sastoji od 23 bita Z
vrednosti vezane za stepen broja 2, tako da nije sluajno da sva tri registra zajedno
imaju 64 bita.
Klju K je takoe duine 64 bita. Klju se koristi kao inicijalna vrednost koja se
smeta u ova tri registra. Odnosno, klju se koristi za postavljanje poetnog stanja u
sva tri registra. Klju K zbog svoje uloge u praksi naziva se unutranji klju. Kada je
klju postavljen u registre, linearni registri kreu u produkciju pseudosluajnih nizova.
Generisani pseudosluajni nizovi u praksi se nazivaju radni kljuevi.
Imajui u vidu da se radni klju generie na osnovu K upotrebom generatora radnog
kljua, generator radnog kljua mora zadovoljiti stroge kriptografske zahteve.
Zasnovanost generatora na matematikom aparatu zahteva detaljnu statistiku
analizu da bi se potvrdilo da su osobine dobijenog radnog kljua to slinije
osobinama nekog sluajnog niza K .
Projektovani pseudosluajni generator - PRNG (eng. pseudo random number generator), na osnovu sluajnog poetnog stanja K duine 64 bita, generie mnogo dui niz
pseudosluajnih bitova. Oekivana koliina sluajnih bitova je priblino | 2 za
duinu unutranjeg kljua K od 64 bita ili inicijalnog stanja pseudosluajnog
generatora. Od dizajna linearnog pomerakog registra sa povratnom spregom
zavisie duina radnog kljua ili veliina njegove periode.
19
Pre nego to opiemo kako se radni klju generie, rei emo neto vie o ovim
linearnim registrima X , Y i Z . Broj bita ili perioda radnog kljua koji se generie
na osnovu 64-bitnog kljua je veoma veliki. Kriptografski sistemi koji koriste
pomerake registre se najee realizuju hardverski. Softverska realizacija je mogua,
ali esto je manje efikasna. Savremeni procesori omoguavaju prihvatljivo reenje u
nekim sluajevima. Pomeraki registri su i danas osnova za realizaciju ifarskih
70
U svakom koraku: m
Ako je x8
Ako je y10
xi1 za i 18,17,...,1 i x0 t
Ako je Z10
y20 y21
yi 1 za i 21, 20,...,1i y0 t
zi 1 za i 22, 21,...,1i z0 t
Vidimo da je svaka vrednost ( x8 , y10 , z10 ) jedan bit radnog kljua. Unutranji klju
odreuje poetno stanje registra. Pomeranje ili ifrovanje registra zavisi od vrednosti
( x8 , y10 , z10 ) . Bit radnog kljua se u svakom trenutku dobija XOR-om poslednjih
bitova registra x18 y21 z22 .
21. PRIMER:
Generisnaje jednog bit-a radnog kljua za m
Takoe, broj bita radnog kljua koji moe biti generisan iz jednog unutranjeg kljua
od 64 bita je praktino neogranien, ali ono to je sigurno jeste da e se u jednom
momentu ponoviti.
A5/1 algoritam je predstavnik velike klase ifara koje su bazirane na pomerakim
registrima i imlementirane u hardver. Ovi sistemi su nekada bili kraljevi simetrinih
kriptografskih sistema, ali poslednjih godina su im blokovske ifre preuzele tu titulu.
Danas kad se sekvencijalne ifre koriste, koristi se RC4 algoritam o kome emo
govoriti u sledeem poglavlju.
Zato se tako masovno prelo sa sekvencijalnih ifara na blokovske ifre? U prolosti
sekvencijalne ifre bazirane na pomerakim registrima, bile su potrebne da bi se
drao korak sa bitskim brzinama podataka u razliitim komunikacionim kanalima.
Kada se sa zatite tekstualnih podataka prelo na zatitu kompleksnijih podataka
(npr. kao to su audio fajlovi) problem zatite podataka u realnom vremenu je postao
jo izraeniji. U telekomunikacijama su sve vie poele da se koriste reenja za prenos
podataka na visokim bitskim brzinama. U prolosti, softver baziran na kriptografskim
algoritmima nije mogao da generie bitove kljua dovoljno brzo za takve aplikacije.
Danas postoji samo nekoliko aplikacija za koje kriptografski baziran softver nije
odgovarajui. Kao dodatak, blokovske ifre je lako napraviti i one mogu da rade isto
to i sekvencijalne, ak i mnogo vie. Ovo su neki od glavnih razloga zato su
blokovske ifre sada dominantne.
3.1.2. RC4
RC4 je sekvencijalna ifra koja se u svojoj osnovi razlikuje od A5/1. Algoritam RC4 je
napravljen za softversku implementaciju, dok je A5/1 dizajniran za hardver. RC4
generie bajt radnog kljua u jednom taktu, dok A5/1 proizvodi u jednom taktu samo
jedan bit radnog kljua. Sa aspekta vremenskih performansi, generisanje bajta u
jednom taktu je mnogo bolje od generisanja jednog bita.
RC4 algoritam je veoma jednostavan zato to je njegova osnova tabela koja sadri
permutaciju svih moguih vrednosti od 0-255 bajtova. Sutina je u sledeem: svaki
put kada se generie bajt radnog kljua, tabela se modifikuje na takav nain da uvek
73
sadri permutaciju od {0,1,...,255} . Zbog ovog stalnog menjanja ili samomodifikovanja, tabela i sama ifra za kriptoanalitiara predstavlja pokretnu metu.
Kompletan dizajn RC4 algoritma radi nad bajtovima podataka. Prva faza algoritma
inicijalizuje tabelu koristei klju. Oznaiemo klju kao klju[i] za i
0,1,..., N 1 ,
gde je svaki klju[i] jedan bajt. Oznaiemo tabelu S[i] , gde je S[i] takoe bajt.
Pseudokod za inicijalizovanje permutacije S dat je u tabeli 1.
Jedna interesantna odlika RC4 algoritma jeste da klju moe biti bilo koje duine od 1
do 256 bajtova. Najea duina kljua je izmeu 5 i 40 bajta. Klju se koristi samo da
bi se inicijalizovala permutacija S . Moemo da zapazimo da se 256 bajt-ni niz K
dobija prosto ponavljajui klju dok se niz ne napuni.
Nakon faze inicijalizovanja, svaki bajt radnog kljua se generie na osnovu
pesudokoda, Tabela 6. Izlaz koji smo oznaili kao jedan bajt radnog kljua je bajt nad
kojim e se primeniti XOR sa bajtom otvorenog teksta ako je faza ifrovanja ili XOR sa
bajtom ifrata ako je faza deifrovanja.
Tabela 6 Faza ifrovanja
za i = 0 do 255
S[i] = i
K[i] = klju[i mod N]
sledei i
j = 0
zar i = 0 do 255
j = (j + S[i] + K[i]) mod 256
zamena_mesta(S[i],S[j])
sledei i
i = j = 0
RC4 algoritam se moe posmatrati kao samo-modifikujua tabela. Vrlo je sofisticirano
reen, jednostavan i softverski efikasan. Meutim, postoje napadi koji su izvodljivi, ali
samo pod nekim uslovima. Ukoliko je algoritam implementiran na adekvatan nain,
napad nee biti lako izvodljiv, a to znai da je prvih 256 bajtova radnog kljua
odbaeno.
74
i = (i + 1) mod 256
j = (j + S[i]) mod 256
zamena_mesta(S[i], S[j])
t = (S[i] + S[j]) mod 256
radni_klju = S[t]
RC4 se danas koristi u mnogim aplikacijama, ukljuujui zatitne protokole SSL i WEP.
Google danas koristi RC4 algoritam u TLS zatitnom protokolu za obezbeivanje
sigurne komunikacije izmeu klijenta i servera u servisu za elektronsku potu
(gmail.com). U dananje vreme, u pruanju ovakvih usluga je neophodno koristiti
kriptografsku zatitu. Ne zaboravimo da je i RC4 ifra pseudo-One-time pad ifra i da
su njene visoke performanse stvorile konkurentsku prednost nad ostalim modernim
iframa. Zbog ogromnog broja Internet korisnika i zahtevane brzine odziva, Google je
izabrao RC4 algoritam zbog svih svojih dobrih karakteristika.
Meutim, algoritam je veoma star i nije optimizovan za 32-bitnu arhitekturu
procesora. Moemo zakljuiti na osnovu izgleda njegovog dizajna da je prilagoen
starim 8-bitnim procesorima. Kako je ugraen u velikom broju savremenih
raunarskih protokola i aplikacija, jo uvek ima znaaj sa kriptografskog aspekta.
Sekvencijalne ifre su nekada bile primarne, ali su sada relativno retke u poreenju sa
blokovskim iframa. Neki su otili toliko daleko da su proglasili i njihovo ieznue i
kao dokaz naveli su da u poslednjih par godina nije bilo napora da se razvije ni jedna
nova sekvencijalna ifra. Ipak, danas se javlja povean broj znaajnih aplikacija za koje
su sekvencijalne ifre mnogo pogodnije nego blokovske. Primer za takve aplikacije su
beini ureaji (beine mree), ureaji sa ogranienom procesorskom snagom i
75
76
77
P (LOT , DOT ) ,
i za svaku novu rundu i
Li
Di 1 , Di
Li 1 F ( Di 1, Ki ) ,
C (Ln , Dn ) .
78
22. PRIMER:
Fejstel, primer ifrovanja u tri runde.
U prvom koraku delimo neki otvoreni tekst u blokove fiksne duine od 64 bita. Zatim
uzimamo jedan blok otvorenog teksta i delimo ga na dva dela P0
(L0 , D0 ) . Nakon
79
Svakako, potrebno je sada deifrovati dobijeni blok ifrata. Lepota Fejstel ifre jeste
da mi moemo deifrovati ifrat, bez obzira na pojedinanu funkciju runde Fi . Da bi
to mogli uraditi, reava se jednaina:
Li
Di 1 , Di
Li 1 F ( Di 1, Ki )
Di1
Li , Li 1
Di F ( Di 1, Ki ) ,
P (LOT , DOT ) .
Svaka funkcija runde F e raditi u Fejstel ifri ako izlaz funkcije F obezbeuje
ispravan broj bitova. Posebno je dobro to ne postoji potreba da funkcija F bude
inverzna. Meutim, Fejstel ifra nee biti kriptografski sigurna za neke funkcije F .
Primetiemo da se sva pitanja vezana za sigurnost Fejstel ifre svode na pitanja o
funkciji runde F i rasporedu podkljua Ki . Raspored kljua obino nije bitna stvar
tako da se najvei fokus daje analizi funkcije F .
3.2.2. DES
Data Encryption Standard, poznat kao DES je razvijen u mranom dobu
kompjuterske ere 1970-ih godina. Dizajn je baziran na takozvanoj Lucifer ifri,
Fejstel ifri razvijenoj od strane tima u IBM-u. DES je iznenaujue jednostavna
blokovska ifra, ali pria o tome kako je od Lucifer ifre nastao DES je sve, samo ne i
jednostavna.
Do sredine 1970-ih bilo je jasno ak i birokratama u amerikoj vladi da postoji
legitimna komercijalna potreba za sigurnom kriptografijom. U to vreme,
80
ifra. Funkcija F runde je kompozicija proirene permutacije, zbira podkljua, Skutije i P-kutije, kao to je dato u navedenom poglavlju Fejstel ifre.
Poto je DES Fejstel ifra, ifrovanje prati pravila prikazana u jednaini:
82
ifrovanje:
x Svaki blok se transformie u 16 rundi zamena i permutacija;
x Permutacije unose difuziju u podatke, zamene konfuziju (enonovi principi);
x U svakoj rundi se koristi 48 bitova podkljua;
x Inicijalna i inverzna permutacija ne doprinose jaini ifre.
Deifrovanje:
x
83
Na Slika 3.12. prikazana je ema izvrenja 16 rundi DES algoritma. Kao to je prikazano
u emi, izlaz iz svake runde XOR-uje se sa odgovarajuim podkljuem.
84
>@
>@
85
>@
>@
B >1@ 110110
k k kk
10 1 21 0 20
2;
1011 1
23 0
22 1
21 1
20 11;
S kutija[red ][kolona] [2][11] 7;
R1
86
0111
>@
kutija. Matrica P sadri konstantne vrednosti, koje predstavljaju nove pozicije bitova
iz matrice R .
Iz ovog primera vidimo da funkcija F ima sopstvenu tabelu zamena. Na kraju,
funkcija F (funkcija S-kutije) na izlazu daje F (Di 1, Ki ) veliine 32 bita koja se XORuju sa levom polovinom Li .
S-kutije su originalno bile zatiene od objavljivanja iz ega proizilazi da je nesumnjiv
cilj bio da one ostanu tajna. Meutim, kao to se i moglo predvideti, S-kutije u DES-u
bile su reversno analizirane i postale su javno poznate skoro odmah.
P-kutije (Inicijalna permutacija)
DES P-kutija predstavlja niz permutacija nad 64-bitnim blokom otvorenog teksta. Pkutija doprinosi maloj sigurnosti ifre i njena prava svrha se izgubila u magli istorije.
Jedno od moguih objanjenja jeste da su dizajneri eleli da uine DES mnogo teim
87
matrica iste veliine. Ulazni bitovi otvorenog teksta se preureuju prema inicijalnoj
permutaciji. Zapravo, brojevi u permutacionoj matrici odreuju poloaj ulaznih bita,
tako da svaki bit bude na svom mestu. Krajnji rezultat P-kutije je permutovani ulaz.
K-kutija (kutija za generisanje podkljua)
DES K-kutije donekle predstavljaju kompleksan proces, ali konani rezultat je
generisan podklju Ki , duine 48 bitova, na osnovu kljua K ' , duine 56 bitova. Za
svaku rundu i od ukupno 16 rundi, bira se novi Ki za svako i
{1,...,16} . Detaljno
88
{1,...,16} ,
89
ovoj fazi koristi se izabrana permutacija (PC2). Matrica permutacije (PC2) sadri 48
pozicija. Za date pozicije izdvojiemo bitove iz kljua K ' (odreen u drugoj fazi).
Krajni rezultat je prvi podklju K1 . Druga i trea faza se ponavljaju za sve vrednosti i
definisane u tabeli Slika 3.18, a zavise od reda runde.
sve kombinacije kljueva dok ne naiu na onu pravu, odnosno, primenjuju potpunu
pretragu kljueva.
56
Neke institucije su tada verovatno ve posedovale takav hardver. Neizbean zakljuak
jeste da su DES dizajneri znali ta rade.
Istorijski znaaj DES-a je veliki. DES se moe posmatrati kao pokreta za razvoj
savremene kriptografije sa simetrinim kljuevima, tako da postoji doza ironije
budui da je NSA, dodue nevoljno, doprinela njegovom stvaranju. U nastavku,
objasniemo trostruki DES koji je korien za efikasno proirenje duine kljua kod
DES-a. Zatim e uslediti kratak pregled jo nekoliko blokovskih ifara. Na kraju e se
92
dati prikaz dananjeg standarda za blokovske ifre pod nazivom AES (eng. Advanced
Encryption Standard) koji se koristi u veini realizacija.
24. PRIMER:
Slika 3.22, Jo jedna realizacija DES algoritma u Java programskom jeziku.
93
C E( P, K ) ,
a odgovarajue obeleavanje deifrovanja:
P D(C, K ) .
Primetiemo da su za isti klju, ifrovanje i deifrovanje inverzne operacije, odnosno:
D( E ( P, K ), K )
E ( D(C , K ), K )
P z D( E ( P, K1 ), K 2 )
C z E ( D(C , K1 ), K 2 )
kada je:
K1 z K2
U jednom trenutku, DES je bio sveprisutan, ali njegova duina kljua je danas
nedovoljna. Medjutim, postoji nain da se DES koristi sa veom duinom kljua.
Intuitivno, u prvom koraku se pretpostavlja da bi dvostruki DES bio dovoljan, pa sledi:
C E(E(P, K1 ), K2 ) .
94
Ovo bi nudilo pogodnosti kljua od 112 bitova (dva DES kljua po 56 bitova), ali jedina
mana bi bila gubitak efikasnosti zbog dve DES operacije.
Meutim, postoji napad tipa eng. meet-in-the- middle na dvostruki DES koji ga ini
manje-vie slinim sa obinim DES-om. Iako je ovaj napad nepraktian, veoma je blizu
da bismo se opustili. Ovo je napad izabranog otvorenog teksta gde se pretpostavlja
da napada uvek bira odreeni otvoreni tekst P i dobija odgovarajui ifrat C .
Pretpostavimo da e Trudi da izabere odreenu otvorenu poruku P i dobije
odgovarajui ifrat C , to je za dupli DES:
C E(E(P, K1 ), K2 ) .
Trudi ima cilj da pronae klju klju K1 i K 2 . Ona prvo preraunava tabelu veliine
D(C , K )
D(C , K )
E ( P, K )
E ( E ( P, K ), K ) .
K1 K i K 2
K.
95
Ovaj napad na dvostruki DES zahteva da Trudi prerauna, sortira i smesti ogromnu
56
tabelu od 2 elemenata. Ali raunanje tabele se radi samo jednom, a ako koristimo
tu tabelu vie puta (napadajui dvostruki DES), posao za raunanje tabele moe biti
amortizovan preko broja napada. Zanemarujui posao potreban za preraun tabele,
posao se sastoji od raunanja D(C, K ) dok ne pronaemo odgovarajue poklapanje
56
u tabeli. Ovo zahteva posao od 2 kao napad potpunom pretragom kljua na obian
DES. Tako da, uopteno govorei, dvostruki DES nije nita sigurniji od obinog DES-a.
Poto dvostruki DES nije siguran, da li e se trostruki DES pokazati bolje? Pre nego to
krenemo da razmatramo napade, moramo definisati trostruki DES. ini se da bi
logian pristup trostrukom DES-u bio:
C E(E(E(P, K1 ), K2 ), K3 ) ,
ali to nije nain na koji se to radi. Umesto toga, trostruki DES se definie kao:
C E(D(E(P, K1 ), K2 ), K1 ) .
Primetiete da trostruki DES koristi samo dva kljua za ifrovanje-deifrovanjeifrovanje ili EDE se koristi umesto ifru-ifruj-ifruj EEE. Razlog zato se koriste samo
dva kljua je taj to je 112 bitova dovoljno, ali zato EDE? Iznenaujue, odgovor je
povratna kompatibilnost.
Ako se 3DES koristi sa K1
96
97
3.2.4. AES
Tokom 1990-tih shvatili su svi, pa i amerika vlada da je DES nadiveo svoju korisnost.
Presudan problem sa DES-om jeste da je duina kljua od 56 bitova osetljiva na napad
potpunom pretragom kljua. Posebno razvijeni programi za razbijanje DES-a mogu da
otkriju DES kljueve za nekoliko sati, a i distribuirani napadi koristei raunare
dobrovoljnih uesnika na Internetu, uspeli su da pronau DES kljueve.
Poetkom 1990-ih, Nacionalni institut za standarde i tehnologiju (NIST) koji je danas
inkarnacija NBS-a, izdao je zahtev za kriptografski predlog algoritma (Advanced Encryption Standard) ili AES. Za razliku od zahteva za DES pre dvadeset godina, NIST je
bio preplavljen kvalitetnim predlozima. Broj kandidata se sveo na pregrt finalista i
algoritam poznat pod nazivom Rijndael (izgovara se neto slino kao eng. Rain doll)
je bio odmah izabran.
AES nadmetanje je voeno na fer nain i za razliku od DES nadmetanja, NSA je bila
javno prisutna kao jedan od sudija. Zbog toga, ne postoje verodostojne tvrdnje da su
neka "zadnja vrata" ubaena u AES. AES je visoko rangiran u kriptografskoj zajednici.
amir je izjavio da e AES sa kljuem od 256 bitova biti siguran zauvek bez obzira na
predstojee napretke u raunarskoj tehnologiji.
Kao i DES, AES je iterativna blokovska ifra. Ali za razliku od DES-a, AES algoritam nije
Fejstel ifra. Glavna posledica toga je da AES operacije moraju biti povratne da bi se
neto moglo deifrovati. Takoe, za razliku od DES-a, AES algoritam ima
komplikovanu matematiku strukturu. Mi emo dati krai opis algoritma. Velika je
koliina informacija o svim aspektima AES-a dostupna za itanje, ali mi emo zaobii
elegantnu matematiku strukturu. U svakom sluaju, nijedan algoritam u istoriji nije
bio vie ispitivan kao AES za relativno kratko vreme.
AES je otporan na poznate napade, veoma je brz, mogu je paralelni dizajn, kao i
implementacija na mnogim procesorima i pametnim karticama. Naveemo ukratko
osnovnu numerologiju ili specifikaciju AES algoritma.
AES je ifra sa sledeim funkcionalnim parametrima:
x
x
x
x
vrednost matrice ili stanje, kopira se u izlazni ifarski blok. AES ulazne podatke tretira
kao matrice dimenzije [4 x 4].
Nelinearni sloj (SubBytes)
Ulaz
19 a0 9a
3d f4 c6
e3 e2 8d
be 2b 2a
e9
f8
48
08
Izlaz
d4 e0 b8
27 bf b4
11 98 5d
ae f1 e5
1e
41
52
30
U tabeli je prikazan rezultat operacije SubBytes za dati ulaz. Ulaz je matrica dimenzije
[4 x 4] sa ukupno 16 bajtova. U taneli iznad, ilustrovan je rezultat funkcije SubBytes za
vrednost prvog bajta. Bajt 19, transformisan je u bajt d4.
100
1e
41
52
30
d4
bf
5d
30
1
2
3
Izlaz
e0 b8
b4 41
52 11
ae f1
1e
27
98
e5
Prvi red se ne pomera, drugi red se pomera za jedan bajt ulevo, trei red za 2 bajta
ulevo i poslednji red za 3 bajta u levo. Primetiemo da je ShiftRow invertovan prostim
pomeranjem u suprotnu stranu, a iz tog razloga spada u linearne funkcije.
Nelinearni sloj meanja kolona (MixColumns)
Operacija meanja kolona je primenjena za svaku kolonu matrice dimenzije [4 x 4],
kao to je prikazano u tabeli ispod.
Ulaz u funkciju za meanje kolona:
Ulaz
d4 e0 b8
bf b4 41
5d 52 11
30 ae f1
1e
27
98
e5
02
01
01
03
Ulaz
03 01
02 03
01 02
01 01
K1
K1
01
d4
04
01 X bf 66
03
5d
81
02
30
e5
101
04
66
81
e5
Izlaz
e0 48
cb f8
19 d3
9a 7a
28
06
26
43
04
66
81
e5
Ulaz
e0 48
cb f8
19 d3
9a 7a
28
06
26
43
XOR
a0
fa
fe
17
K-runda 1
88 23
54 a3
2c 39
b1 39
2a
6c
76
05
Izlaz
a4 68 6b
9c 9f 5b
7f 35 ea
f2 2b 43
02
6a
50
49
Zanemariemo AES raspored kljua, ali kao i kod svake blokovske ifre to je znaajan
deo sigurnosti algoritma. Na kraju, kao to smo napomenuli gore, svaka od etiri
funkcije SubBytes, ShiftRow, MixColumns i AddRoundKey su invertibilne. Rezultat, je
da je itav algoritam invertibilan i na osnovu toga AES se moe deifrovati kao to se
moe i ifrovati.
102
103
26. PRIMER:
Slika 3.27, jo jedna realizacija AES algoritma u Java programskom jeziku.
104
16
Di
Li 1 Ki
Li
Di 1 F ( Li 1 Ki )
105
operacije kriptografskog algoritma. RC6 je bio jedan od AES finalista, iako je na kraju
izgubio od Rijindael. Ove tri ifre ilustruju mali uzorak mnogih varijacija korienih u
potrazi idealnog balansa izmeu sigurnosti i performansi u dizajnu blokovskih ifara.
3.2.6. TEA
Poslednja blokovska ifra o kojoj emo govoriti je Tiny Encryption Algorithm ili TEA.
Dijagrami koje smo prikazali do sada mogu uputiti na to da su blokovske ifre
potrebno kompleksne. TEA veoma lepo pokazuje da to nije sluaj.
TEA koristi blok duine 64 bita i klju duine 128 bitova. Algoritam podrazumeva
sabiraku aritmetiku sa 32 bita rei, tako da sve matematike operacije koriste
32
moduo 2 i svi bitovi preko 32 bita duine se automatski odsecaju. Broj rundi varira,
ali mora biti relativno veliki. Opte prihvaeno miljenje je da da su 32 runde sigurne.
Ipak, svaka runda TEA algoritma je otprilike kao dve runde Fejstelove ifre (slino
DES-u), pa je ovo grubo jednako kao 64 runde kod DES. To je relativno dosta rundi.
U dizajnu blokovskih ifara mora uvek da postoji kompromis izmeu kompleksnosti
svake runde i potrebnog broja rundi. ifre kao to je DES pokuavaju da pogode
balans izmeu ove dve stvari, dok AES redukuje broj rundi koliko god je to mogue,
ali o troku vee kompleksnosti funkcije runde. Na neki nain, TEA predstavlja
potpunu suprotnost AES-u poto TEA koristi veoma proste funkcije runde. Kao
posledica ovih prostih rundi, broj rundi mora biti veliki kako bi se postigao visok nivo
sigurnosti. Pseudokod za ifrovanje sa TEA algoritmom sa pretpostavkom da su
koriene 32 runde, Tabela 8, gde je simbol ''<<'' levo pomeranje (ne kruno,
iftovanje) i simbol ''>>'' desno pomeranje (ne kruno).
106
=
=
Jedna zanimljiva stvar koju treba primetiti kod TEA jeste da ona nije Fejstel ifra tako
da treba razdvojiti rutine ifrovanja i deifrovanja. Ipak, TEA je toliko blizu da bude
Fejstel ifra, ali opet dovoljno daleko da to ne bude TEA. TEA koristi sabiranje i
oduzimanje umesto XOR-ovanja. Meutim, potreba za razdvajanje rutina ifrovanja i
deifrovanja je najmanji problem kod TEA jer se koristi veoma malo koda, a i
algoritam je takoe razumno efikasan iako sadri veliki broj rundi. TEA algoritam za
deifrovanje sa 32 runde, Tabela 9.
Tabela 9 Deifrovanje sa TEA algoritmom
107
Mogu je napad na klju ili napad ''povezanim kljuem'' na TEA. Ako kriptoanalitiar
zna da su dve poruke ifrovane kljuevima koji su povezani na poseban nain onda
otvoreni tekst moe biti otkriven. Ovo je napad veoma male verovatnoe koji se u
veini sluajeva moe sigurno ignorisati. Ali ako ste kojim sluajem malo zabrinuti za
ovaj napad, postoji malo kompleksnija varijanta TEA, poznata kao proirena TEA ili
XTEA koja prevazilazi ovaj problem. Postoji i pojednostavljena verzija TEA poznata
kao STEA, koja je veoma slaba i omoguava da se ilustruju odreeni tipovi napada.
108
P0 , P1, P2 ,...
Za izabrani fiksni klju K , blokovska ifra je kodna knjiga iz razloga to kreira
jednoznano preslikavanje izmeu blokova otvorenog teksta i blokova ifrata. Sledei
ideju kodne knjige, oigledna stvar koju treba uraditi je da se koristi blokovska ifra u
takozvanom reimu elektronske kodne knjige ili ECB reimu. U ECB reimu,
ifrujemo tako to koristimo formulu:
Ci
E ( P0 , K )
C1
E ( P1 , K )
C2
E ( P2 , K ),...
D(C0 , K )
P1
D(C1 , K )
P2
D(C2 , K ),...
Ovaj pristup funkcionie, ali postoji nekoliko ozbiljnih sigurnosnih problema sa ECB
reimom. Kao rezultat istraivanja na temu sigurnosti, ECB reim ne bi trebalo da se
koristi u praksi.
Pretpostavimo da je ECB reim korien i da napada primeti da je Ci
toga napada sa sigurnou zna da je Pi
C j . Posle
postoje sluajevi gde napada zna deo otvorenog teksta i svako podudaranje sa
poznatim blokom otkriva novi blok. ak i kada napada ne zna Pi ili Pj da su neke
informacije otkrivene, tanije da su ova dva bloka otvorenog teksta ista. Mi ne elimo
109
da kriptoanalitiaru odamo neto tako lako, pogotovo ako postoje jednostavni naini
da se takva anomalija izbegne.
Masi daje dramatinu ilustraciju posledica ove takozvane male slabosti. Dat je slian
primer (Slika 3.29.), koji prikazuje neifrovanu sliku logoa Univerziteta Singidunum,
pored slike koja je ifrovana u ECB reimu. Svaki blok na desnoj slici je ifrovan, ali
blokovi koji su isti na originalnoj slici, isti su i u ECB ifrovanoj poruci. Primetiemo da
nije bitno koja blokovska ifra je koriena, pomalo neoekivan rezultat Slika 3.29.,
jedino zavisi od injenice da je korien ECB reim, a ne od detalja algoritma. U ovom
sluaju nije teko za napadaa da pogodi otvoreni tekst iz dobijenog ifrata.
27. PRIMER:
Na sreu, postoji i bolji nain korienja blokovskih ifara, kojim se izbegava slabost
ECB reima. Sada emo govoriti o najee korienom metodu, a to je metod
ulanavanja blokova ifrata ili CBC reimu. U CBC reimu, ifrat od prethodnog bloka
otvorenog teksta koristi se za zamagljivanje otvorenog teksta sledeeg bloka, pre
nego to se primeni algoritam za ifrovanje.
Formula za ifrovanje u CBC reimu je:
Ci
110
E ( IV P0 , K )
C1
E (C0 P1 , K )
C2
E (C1 P2 , K ),...
IV D(C0 , K )
P1
C0 D(C1 , K )
P2
C1 D(C2 , K ),...
Prvi blok zahteva poseban nain voenja poto nema ifarskog bloka Ci 1 . IV
predstavlja inicijalni vector i poeljno je da bude generisan na isto sluajan nain.
Nije neophodno da bude tajan. Koristi se samo za generisanje prvog bloka ifrata.
Duina inicijalnog vektora IV je uvek jednaka veliini bloka date ifre.
Prednost CBC reima je u tome da identian otvoreni tekst nee odgovarati identino
ifratu. Ovo je ilustrovano poreenjem neifrovane slike logoa Univerziteta
Singidunum sa istom slikom koja je dobijena od ifrata, Slika 3.30.
28. PRIMER:
Zbog ulanavanja, mogua briga sa CBC reimom jeste nastanak greaka. Kada je
ifrat poslat kroz komunikacioni kanal, u toku prenosa mogu nastati greke. Nula
moe postati jedinica ili obrnuto. U tom sluaju jedna nastala greka na bloku ifrata
e uiniti otvoreni tekst nepopravljivim. Ako jedna prenesena greka uini otvoreni
tekst nepopravljivim, onda je CBC reim beskoristan u mnogim aplikacijama. To bi
znailo da je lanac pokidan na odreenim mestima. Svakako, u cilju umanjenja rizika
111
od nastanka greaka koriste se zatitni kodovi (eng. Error Corecting Codes) koji su
dobro poznati u teoriji komunikacija.
Pretpostavimo da je blok ifrata Ci oteen recimo u G z Ci . Onda je:
Blok P0
Blok P1
Blok P2
1 N o v a c _ z a _ A l i s u _ j e _ 1 0 0 R S D
2 N o v a c _ z a _ T r u d i _ j e _ 0 5 0 R S D
Blok P3
Blok P4
Blok P5
Otvoreni tekst je podeljen na tri bloka. Karakter _ je prazno mesto. Zatim poruku
ifrujemo ifrom koja radi nad ulaznim blokovima otvorenog teksta podatka veliine
64 bita, pretpostavlja da svaki karakter koristi 8 bitova (npr. 8-bitni ASCII).
Pretpostavimo da je ifrat nastao u ECB reimu. Onda su blokovi ifrata izraunati
kao:
112
Ci
E(Pi , K ) za i 0,1,...3;
C0 , C1, C5 , C3 , C4 , C2 ,
zatim e Bob ovo deifrovati kao, Tabela 11:
Tabela 11 Napad iseci nalepi B
Blok P0
Blok P1
Blok 3 P2
1 N o v a c _ z a _ A l i s u _ j e _ 0 5 0 R S D
2 N o v a c _ z a _ T r u d i _ j e _ 1 0 0 R S D
Blok P3
Blok P4
Blok P5
Meutim, pogreno je misliti da CBC reim moe eliminisati iseci nalepi napad.
Napad je mogu iako je malo tei za realizaciju i neki podaci mogu biti oteeni.
Takoe je mogue koristiti blokovske ifre za generisanje kriptolokih kljueva koji
mogu bit korieni kao kljuevi za sekvencijalne ifre. Postoji nekoliko prihvatljivih
naina da se ovo uradi, ali mi emo spomenuti samo jedan najpopularniji, a to je
reim brojaa ili CTR. Kao i CBC, CTR reim koristi inicijalni vektor IV . to se tie rada
CTR reima, IV se ifruje, a zatim XOR-uje sa blokom otvorenog teksta. Za svaki
naredni blok otvorenog teksta, vrednost IV se uveava za 1. Formula za ifrovanje u
CTR reimu je:
Ci
P0 E ( IV , K )
C1
P1 E ( IV 1, K )
C2
P2 E ( IV 2, K )
113
a za deifrovanje:
C0 E ( IV , K )
P1
C1 E ( IV 1, K )
P2
C2 E ( IV 2, K ),...
CTR reim se esto koristi kada je potreban nasumian pristup. Dok se nasumini
pristup sasvim jednostavno koristi u CBC reimu, u nekim sluajevima u CBC reimu
nee biti poeljan nasumian pristup.
Pored ECB, CBC i CTR reima, postoje jo mnogi drugi reimi koji koriste blokovske
ifre. Dali smo opis onih koji se najvie koriste. Ipak, tri reima o kojima smo najvie
govorili sigurno su najzastupljeniji u odnosu na ostale.
Najzad, treba napomenuti da se bezbednost podataka najee odnosi na dva blago
razliita sluaja. Sa jedne strane, ifrujemo podatke da bi mogli da ih poaljemo preko
nesigurnog kanala. Sa druge strane, ifrujemo podatke koji se uvaju na nezatienim
medijima kao to je raunarski hard disk. Simetrine ifre mogu da se koriste da bi se
reio bilo koji od ova dva veoma slina problema. Simetrini klju moe da titi
integritet podatka kao to emo videti u narednom poglavlju.
3.4. INTEGRITET
Dok se tajnost bavi prevencijom neautorizovanog itanja, integritet se bavi
prevencijom neautorizovanog pisanja. Na primer, pretpostavimo da se vri
elektronski transfer sredstava sa jednog rauna na drugi. Vi ne elite da drugi znaju za
ovu transakciju i u tom sluaju e ifrovanje obezbediti eljenu poverljivost. Svejedno
da li postoji zabrinutost za poverljivost ili ne, mnogo je vaniji zahtev da se transakcija
obavi onako kako treba. U takvim sluajevima govorimo o integritetu podataka, tj. o
nemogunosti njihove neovlaene promene.
114
E ( P0 IV , K ),
C1
E ( P1 C0 , K ),
.......
Cn 1 E ( Pn 1 Cn 2 , K )
MAC
115
IV , P0 , P1, P2 , P3 , MAC'
Sada, ako Trudi promeni blok otvorenog teksta P1 u recimo X tokom prenosa, onda
kada Bob bude pokuao da verifikuje MAC on rauna:
C0
E(P0 IV , K ), C1 E( X C0 , K ), C2
E(P2 C1, K ),
116
117
118
119
1960-tih godina, poslovni svet poinje sve vie da koristi raunare za ifrovanje
(transfer novca, pregovori). U tom momentu, cilj svake poslovne organizacije bio je
zatiena komunikacija izvan kompanije. Jedan od problema je problem
standardizacije, a kao reenje namee se DES, AES i drugi algoritmi.
Sledei problem je razmena kljua u simetrinim ifarskim sistemima i pronalaenje
sigurnog naina za razmenu simetrinih kljueva izmeu dve udaljene lokacije. Na
primer, banka treba da obavi zatienu transakciju sa klijentom, ali kako dostaviti
klju? Najbezbednije je da se dostava kljua obavi lino. Kod ovog naina dostavljanja
veliki problem predstavlja potrebno vreme za dostavu kljua. Manje bezbedno je
angaovanje kurirskih slubi u te svrhe. Postavlja se pitanje da li je to nezavisna
organizacija i da li je to slaba karika u sistemu?
Slian scenario jeste dostava kljua vojnim jedinicama u ratnim uslovima, dostava
kljua nuklearnim podmornicama koje se nalaze na 1000 kilometara od vojne baze.
Meutim, drava raspolae novcem, resursima i moe da se izbori sa ovakvim
problemima, ali za civilni sektor je ovo bio gotovo nereiv problem.
Razmotriemo sada jedan klasian problem. Alisa i Bob ele da imaju sigurnu
komunikaciju. Zna se ili pretpostavlja da Trudi prislukuje njihov komunikacioni kanal.
Alisa i Bob mogu povremeno da se lino sastaju i razmenjuju kljueve za naredni period komuniciranja. Ovo reenje je uglavnom teko izvodljivo u praksi, a moe da
bude i nemogue.
120
scenario, Alisa i Bob treba da generiu po jedan tajni (privatni) parametar A i B ije
vrednosti samo oni znaju. Alisa pored tajnog parametra generie i simetrini klju koji
e koristiti za ifrovanje u nekoj buduoj komunikaciji sa Bobom. Kao to je prikazano
u scenariju, nakon tri runde razgovora Bob dobija identian klju K koji je generisala
121
Alisa. Ako Trudi bude prislukivala komunikacioni kanal, nee biti u prilici da sazna
neku informaciju o kljuu K .
Uprkos opte prihvaenom miljenju da je ovaj problem nereiv, jedna grupa
entuzijasta je krajem 70-tih godina prolog veka ponudila reenje. Istraivanja u
ovom pravcu su ubrzo dovela do razvoja ifarskih sistema sa javnim kljuem. To je
bila revolucija u kriptografiji 20-tog veka i najvee otkrie od pojave monoalfabetske
ifre.
f ( g ( x)) g ( f ( x))
Ovakve funkcije postoje, veina ih je dvosmerna, odnosno mogu se lako izraunati ali
je lako nai i njihovu inverznu vrednost. Primer dvosmernih funkcija:
f ( x)
2 x; f ( x )
x2
Vitfild Difi roen je 1944. godine u Njujorku. 1965. diplomirao na Stanford Univerzitetu. Dostupno vise
na Veb sajtu: http://en.wikipedia.org/wiki/Whitfield.
Martin Helman roen je 1945. godine, u Bronksu. Doktorirao na Stanford Univerzitetu. Dostupno vie na
sajtu: http://en.wikipedia.org/wiki/MartinHellman.
122
Government Communications Headquarters GCHQ: Dems Elis, Kliford Koks, Malkom Vilijamson.
Stanford Univerzitet: Difi i Helman
123
g n , moe da se odredi n :
n log g ( x)
Ako je x
g n (mod p )
124
29. PRIMER:
Izbor javnih parametara p i g :
p 33, g 3
Izbor tajnih parametara
a i b:
a 11, b 9
Av
Bv
g b mod p 39 mod 33 15
K Alisa
K Bob
Rezultat K AB :
K Alisa
K Bob
15
125
U ovom primeru radi lakeg razumevanja DH protokola, koristili smo male vrednosti
za parametre algoritma.
Meutim, postoje ozbiljni problem i kod implementacije DH algoritma. DH algoritam
je osetljiv na napad tipa ovek u sredini (eng. Man-in-the-middle). Ovaj napad
moe da bude aktivan ili pasivan. Ukoliko se radi o aktivnom napadu, on bi mogao da
presretne poruku, izmeni je i prosledi dalje, dok je kod pasivnog napadaa mogue
jedino prislukivanje komunikacionog kanala. Pretpostavlja se da Trudi moe da ima
ulogu aktivnog napadaa u scenariju ovek u sredini. U ovom sluaju DH protokol
bi bio nebezbedan jer bi Trudi delila jedan simetrini klju K AT sa Alisom i jedan
simetrini klju K TB sa Bobom i tako postala posrednik u komunikaciji.
Da bi se izbegli ovakvi problemi ili spreio dobro poznati napad ovek u sredini ,
Slika 4.2, koji je uvek prisutan u bilo kom scenariju komunikacije, potrebno je
obezbediti mehanizam autentifikacije. Ovaj mehanizam bi podrazumevao obostranu
autentifikaciju to znai da e Alisa i Bob biti sigurni u integritet razmenjenih poruka.
Zatita integriteta poruka podrazumeva da poruke u komunikacionim kanalima nisu
izmenjene od neautentifikovane strane. Bitno je imati svest o postojanju mogunosti
ovakvog napada, ne samo u DH protokolu ve i u drugim protokolima.
Asimetrini ifarski sistemi
Difi i Helman su prvi predloili primenu asimetrinog ifarskog sistema. Za ifrovanje i
deifrovanje koristio bi se razliit klju.
Na primer, Alisa ima jedan javni klju koji je svima dostupan i koristi se za ifrovanje
poruke. Bob je ifrovao poruku sa Alisinim javnim kljuem i poslao Alisi, a samo ona
126
ima tajni klju koji je neophodan za deifrovanje poruke. Ideja za ovakav ifarski
sistem je njihova, ali oni nisu predloili funkciju koja bi radila na ovaj nain.
Odlike kriptografije sa javnim kljuevima:
x
x
x
x
x
x
x
x
4.3. RSA
Najpoznatiji algoritam iz asimetrine kriptografije, RSA, dobio je naziv po poetnim
slovima njegovih autora (Rivest, amir i Adleman) 9 . Zasniva se na matematiki
sloenom postupku faktorizacije (rastavljanja) proizvoda dva velika prosta broja na
njegove faktore (inioce). Problem kod ovog pristupa je u tome to ne postoji vrsti
matematiki dokaz da ne postoji krai put za faktorizaciju.
RSA je skraenica od poetnih slova naunika Ron Rivest, Shamir Adi i Leonard Adleman, koji su prvi
javno opisali novi algoritam 1977. godine. Clifford Cocks, engleski matematiar, razvio je ekvivalentan
sistem 1973. godine, ali je on bio klasifikovan najveim stepenom tajnosti sve do 1997. godine.
127
128
ifrovanje: ,
Deifrovanje: .
Tajnost asimetrinog ifarskog sistema sa RSA algoritmom zasniva se na sloenosti
faktorizacije broja . Nakon to bi se izvrila faktorizacija broja (koji je javan) na
inioce i , bilo bi lako, korienjem javno dostupne vrednosti odrediti privatnu
vrednost iz uslova mod. Za dovoljno velike brojeve i , a samim
tim i , proces faktorizacije je dugotrajan posao. Uz dostupne raunarske resurse
moe se uporediti sa procesom totalne pretrage po prostoru svih kljueva kod
simetrinih ifarskih sistema (totalna pretraga). Ono to je problem kod asimetrinih
ifarskih sistema je nepostojanje vrstog matematikog dokaza da li je rastavljanje na
faktore jedini nain za razbijanje RSA.
Da li RSA zaista radi? S obzirom da je , potrebno je pokazati da je:
C d mod N
M ed mod N
30. PRIMER:
RSA generisanja tajnog kljua. Izabrati velike proste brojeve p i q :
p 11, q 3
Odrediti vrednost N i
M( N ) :
N
pq 11 33 33
e (uzajamno prost):
e
Pronai d takvo da je ed
1(mod 20) :
e 1 (mod M ( N ))
31 mod 20
129
( N , e) (33,3)
d
Napomena:
Nakon izraunatog kljua d , parametri p i q se unitavaju na siguran nain, jer
sigurnost zavisi ba od ovih parametara.
31. PRIMER:
RSA ifrovanje i deifrovanje
Javni klju ( N , e) i privatni klju d :
( N , e) (33,3)
d
Izabrana poruka M :
M e (mod N )
C d (mod N ) 12 7 mod 20
83 mod 20 12
Deifrovanje ifrata C :
130
32. PRIMER:
Slika 4.3, Jedna realizacija ifrovanja i deifrovanja sa RSA algoritmom u Cryptool-u
10
ASCII je skraenica za Ameriki standardni kod za razmenu informacija. Raunari mogu razumeti sao
brojeve, tako da ASCII kod je brojana reprezentacija karaktera, kao to su A ili @.
Dostupno na Veb sajtu: http://www.asciitable.com/
131
pq , p i q su veliki
Pored bitnosti naina za izbor vrednosti N , postoji i problem izbora javnog kljua
e.
Javni klju
ed 1(mod M ( N ))
Obzirom da je
Ova jednaina uvek moe da se rei. Jedna od mogunosti za reavanje ove jednaine
je pomou proirenog Euklidskog algoritma.
11
133
34. PRIMER:
Slika 4.6, upotreba metoda Kvadratno Sito (eng. Quadratic Sieve)
broja N . Veruje se, mada nije dokazano, da je problem faktorizacije velikih brojeva
praktino nereiv.
RSA Laboratories 12je objavila takmienje u kategoriji faktorizacije velikih prostih
brojeva koji se koriste u javnim kriptosistemima. Takmienje je zavreno 2007.
godine i tada su postignuti najbolji rezultati u ovoj kategoriji. Poslednji problem je bio
12
134
faktorizacija N duine 768 dekadskih cifara. Nakon toga nije bilo novih rezultata i
smatra se da je to trenutno najbolji rezultat koji je mogue danas postii. Potrebno
vreme je bilo neto malo manje od 3 kalendarske godine.
Poveanje granice bezbednosti zahteva poveanje duine kljua. Osnovni razlog je
konstantno unapreenje algoritama za faktorizaciju na polju kriptoanalize. Sa druge
strane, vreme potrebno za ifrovanje i deifrovanje je proporcionalno treem
stepenu duine kljua. Odluka da se povea granica bezbednosti poveanjem kljua
loe utie na brzinske performanse RSA algoritma. Osnovna primena RSA je za
ifrovanje kriptografskih kljueva i digitalni potpis. Simetrini ifarski sistemi se
koriste za zatitu podataka.
Merenjem performansi RSA algoritma, utvreno je da je RSA algoritam 1500 puta
sporiji od DES algoritma. Deo algoritma koji slui za raunanje eksponenta i modula u
najveoj meri doprinosi ovom loem rezultatu. Zatim, generisanje brojeva koji se
koriste u RSA algoritmu takoe zahtevaju neko vreme, kao i testiranje izabrane
vrednosti N u odnosu na poznate metode za faktorizaciju.
Na osnovu odreenih saznanja i takmienja u kojima su najbolji bili nagraeni
pozamanim sumama novca, preporuene duine za N su N ! 1000 bitova
(1024,2048,).
135
M e mod N ,
C d mod N
136
36. PRIMER:
M d (mod N )
S e (mod N )
( M d ) e (mod N )
Moemo primetiti da je operacija ista kao i kod ifrovanja. Svako ko zna ( N , e) moe
da potvrdi ispravnost digitalnog potpisa.
137
138
Slika 4.9, prikazana je jedna standardna primene digitalnog potpisa. U scenariju, Alisa
potpisuje poruku i alje je Bobu. Bob prima digitalno potpisanu poruku i zapoinje
proceduru verifikacije digitalnog potpisa da bi se uverio u identitet poiljaoca Alise.
Prikazane su sve komponente koje su neophodne za digitalno potpisivanje i
verifikaciju digitalnog potpisa za izabrani dokument, kao i sam redosled izvravanja
svih nezaobilaznih procedura.
37. PRIMER:
139
140
C {M }Bob
Bob deifruje poruku koju je primio od Alise sa svojim privatnim kljuem d :
{C}Bob
Notacija za neporecivost:
Alisa alje Bobu digitalno potpisanu poruku sa privatnim kljuem d :
[ M ] Alisa
Bob prima digitalnu poruku i verifikuje potpis sa Alisinim javnim kljuem (N, e) :
[ S ] Alisa
{[ M ] Alisa }Alisa
{M }Alisa . Privatni klju je tajan. Samo Alisa moe da izrauna [C ] Alisa ili [ M ] Alisa i da
digitalno potpie poruku svojim privatnim kljuem, ali svi mogu da provere ispravnost
potpisa ukoliko znaju javni klju. Sada moemo da kaemo da redosled ovih operacija
nije toliko bitan za bezbednost sistema.
141
Identitet korisnika
Integritet poruke
Autorizacija
Neporicanje
13
14
143
15
Korisnika;
Ovlaenih CA organizacija;
144
x
x
x
Sertifikata;
Kataloga;
Listi povuenih sertifikata.
16
17
145
x
x
x
Hijerarhijski model;
Reetkasti;
Tranzicioni (eng. Bridge) CA;
Hijerarhijski model arhitekture podrazumeva PKI sa jednim CA i dva ili tri nivo CA po
dubini kojima rut (jedan glavni za sve CA) CA izdaje sertifikate za rad. U ovom modelu
svi CA i korisnici mu veruju. Moemo da ga posmatramo kao jednosmerni put
poverenja.
Reetkasti model ukljuuje vie ravnopravnih CA koji veruju jedan drugome. Moemo
da ga posmatramo kao dvosmerni put poverenja.
Tranzicioni model CA predstavlja vie administrativno PKI sistem ili Dravu. U
njemu, organizacija CA PKI sistema ispod moe biti reetkasta.
Problem ove vrste reava se izgradnjom hibridnih sistema. Pod hibridnim sistemom
podrazumeva se kriptografski sistem u kome se sistem sa javnim kljuem koristi za
razmenu simetrinog ili sesijskog kljua, a za ifrovanje podataka koristi se sistemi sa
simetrinim kljuem. Tipina upotreba je IPsec i SSL.
Na sledeoj emi prikazan je model jednog hibridnog ifarskog sistema u praksi.
Uspostavljen je simetrini klju pomou sistema javnih kljueva, a ifrovanje
podataka obavlja se sa simetrinim kljuem. Za datu emu pokuaemo da utvrdimo
da li je Bob siguran da komunicira sa Alisom?
izabrani simetrini klju {K }Bob sa Bobovim javnim kljuem, a zatim poslala Bobu.
Sada moemo da zakljuimo da je sistem sa javnim kljuem korien samo za
ifrovanje, ali ne i za potpisivanje. Samim tim, Bob nije autentifikovao Alisu to znai
da na strani Alise moe da bude bilo ko pa ak i Trudi.
147
Slika 4.13, predstavlja prepravljen hibridni ifarski sistem u odnosu na nedostatke koje
148
x
x
Sistem koji se koristi za ispunjenje svih navedenih zahteva je PGP (eng. Pretty Good
Privacy). Razvio ga je Fil Cimerman (Phil Zimmerman). PGP je najbolji, integrisani,
dostupni kriptografski algoritam u jedan algoritam. Moe da se koristi na razliitim
platformama (Unix, Windows, Macintosh). Originalno je bio besplatan, ali sada
postoje i komercijalne verzije.
PGP objedinjuje dva servisa:
x
x
Servis za poruke;
Servis za distribuciju kljua;
Autentifikaciju;
Poverljivost;
Kompresiju;
kompatabilnost sa programima za e-potu;
149
18
19
150
5. HE FUNKCIJE
152
Poto je ulaz proizvoljne duine koja znatno nadmauje izlaz (he vrednost), sigurno
je da postoji veliki broj kolizija. Na primer, pretpostavimo da he funkcija generie
128 bitni izlaz. Ako se za ulaz uzme poruka duine 160 bita, to je 32 bita due od
izlaza. Sledi da postoji jo moguih ponavljanja. Otpornost na
kolizije podrazumeva da je raunarski veoma kompleksno nai jednu od njih.
Jedna od najvanijih primena he funkcija postoji kod digitalnog potpisivanja. Kao to
je razmatrano u prethodnim poglavljima, Alisa potpisuje otvorenu poruku
ifrovanjem na bazi privatnog kljua , tj. . Dalje, Alisa alje otvorenu
poruku i potpis , a Bob verifikuje digitalni potpis ifrovanjem dobijenog potpisa
Alisinim javnim kljuem, tj. . Ukoliko je poruka velike duine javljaju se
dva problema. Prvi problem se odnosi na kompleksnost digitalnog potpisivanja i
verifikacije potpisa, tj. dua poruka se due obrauje, a poznato je da su algoritmi za
potpisivanje spori. Drugi problem se odnosi na dodatno optereivanje
komunikacionog kanala, tj. za odreeni propusni opseg potrebno je preneti dva puta
vie bita (i poruka i potpis).
Navedene slabosti se otklanjaju ako se primenjuje MAC (eng. message authentication
code). Pretpostavimo da Alisa poseduje he funkciju . Tada se moe
posmatrati kao otisak prsta (eng. fingerprint) poruke , je znaajno manje
153
20
154
dana. Prethodna dva pitanja su komplementarna zbog toga to, ako se zna odgovor
na jedno pitanje zna se i na drugo (dobijena verovatnoa na jedno pitanje se oduzme
od 1). Sa verovatnoom od 100% dve osobe e imati roendan istog dana, ako je
N=367 (postoji 366 moguih roendana ukljuujui 29. februar). Meutim, ako se
zahteva 99% verovatnoe dovoljno je 57 osoba. Za verovatnou od 50% broj osoba je
23, Slika 5.4.
155
vrata, slabosti i sl.) u kompletnim sistemima zatite gde se najee koriste vie
tehnika, potrebno je obezbediti sledee:
Za isti nivo bezbednosti, duina he vrednosti mora da bude barem dva puta vea
od duine tajnog kljua kod simetrinog ifarskog sistema.
Rezultat iz roendanskog problema moe da se koristi i za napad na ifarski sistem. U
engleskoj literaturi napad je poznat pod nazivom Birthday Attack. Podsetimo se, kada
Alisa eli da digitalno potpie poruku , ona vri ifrovanje i izraunava
i alje i Bobu. Pretpostavimo da he funkcija daje vrednost duine
bitova. Napada Trudi sprovodi sledee akcije zbog mogueg napada koji se odnosi
na roendanski problem:
x
x
156
Ovde treba zapaziti da je napada Trudi uspela da dobije Alisin digitalni potpis na
svoju poruku, bez napada na ifarski sistem koji se koristi za digitalno potpisivanje niti
na odgovarajui privatni klju. Razmatrani napad je napad tipa grube sile na
korienu he vrednost koja se digitalno potpisuje. Za prevenciju od ovog napada, u
ifarskim sistemima treba koristiti he funkcije koje daju due he vrednosti kako bi
se onemoguilo da potencijalni napada izraunava razliitih he vrednosti u
razumnom vremenu. Razmatrani problem dodatno ukazuje na kriptoloke sisteme sa
praktinom tj. raunarski sigurnom tajnou.
157
5.4. MD5
MD5 (eng. Message-Digest algorithm 5) he funkcija predstavlja primer prave
kriptografske he funkcije koja se najee koristila. Danas se zna da ova he funkcija
ima slabosti i da je neotporna na kriptografske napade, tako da se ree primenjuje u
kriptografiji. Jo uvek ima svoju namenu u proveri integriteta veih fajlova (pre svega
zbog svoje brzine rada). Duina dobijene he vrednosti (saetka, sume) je 128 bitova.
Tipino se predstavlja sa 32 heksadecimalne cifre.
21
Wired Equivalent Privacy (WEP) je ifarski protokol u IEEE 802.11 beinim raunarskim mreama.
Definisan je sa ciljem da se obezbedi servis poverljivosti kod beinih mrea koji je uporediv sa
tradicionalnim ianim raunarskim mreama.
158
MD5 algoritam je razvio Ronald Rivest 1991. godine. Baziran je na prethodnom MD4
algoritmu i neto je sporiji od njega. Danas se zna da je podloan na brute force
birthday attack. Jedan takav projekat pod imenom MD5CRK je pokrenut 1. marta
2004. godine sa namerom da dokae slabost MD5 algoritma. Nedugo zatim, 17.
avgusta 2004. godine, objavljeno je da su Ksiaoun Vang, Denguo Feng, Ksuejia Lai i
Ksongbo Ju uspeno razbili algoritam odnosno da su pronali koliziju na algoritmu. Za
razbijanje ovog algoritma bio im je potreban samo jedan sat na IBM p690 klasteru.
2005. godine Arjen Lenstra, Ksiaoun Vang, i Bene de Veger su demonstrirali su
kreiranje dva X.509 sertifikata sa razliitim javnim kljuevima i istom MD5 he
vrednosti. Nekoliko dana potom Vlastimil Klima je kreirao unapreeni algoritam koji
je u stanju da na obinom PC raunaru za nekoliko sati kreira koliziju MD5 algoritma.
Danas je to mogue uraditi za jedan minut.
MD5 algoritam (Slika 5.5) kao ulaz koristi -bitnu poruku (niz bitova)
. Poruka se mora dopuniti bitovima kako bi njena ukupna
duina odgovarala broju 448. Poruka se proiruje tako da joj nedostaju 64 bita, da
njena ukupna duina u bitovima bude deljiva sa 512. Najei nain proirivanja
poruke je da se poruci prvo doda jedan bit sa vrednosti 1, a zatim slede bitovi sa
vrednou 0. Tako e se poruci dodati ili samo jedan bit ili u najgorem sluaju 512
bitova. Nakon proirenja poruke, poruci je potrebno dodati 64-bitnu reprezentaciju
broja ( je duina izvorne poruke pre njenog proirenja). U sluaju da se duina
poruke ne moe prikazati pomou 64 bita, poruci se dodaju samo niih 64 bita. Bitovi
reprezentacije broja se dodaju poruci kao dve 32-bitne rei, pri emu je re manje
teine prva pridodata.
159
Nakon to je poruka pripremljena za MD5 algoritam, potrebno je inicijalizovati 128bitni MD bafer. MD bafer se sastoji od etiri 32-bitnih rei A, B, C i D. Kao inicijalne
vrednosti rei u heksadecimalnom sistemu se koriste: A=67452301, B=EFCDAB89,
C=98BADCFE i D=10325467. Posle inicijalizovanja pokree se MD5 algoritam koji se
ponovo izvodi za svakih sledeih 512 bitova poruke. Samo jezgro algoritma
predstavlja funkcija za kompresiju koja se sastoji od etiri ciklusa. Svaki od etiri
ciklusa ima slinu strukturu, ali svaki koristi drugaiju primitivnu logiku funkciju F, G,
H ili I. Konaan rezultat predstavljaju vrednosti u registrima A, B, C i D koje se sabiraju
sa njihovim inicijalnim vrednostima. Svaki od tih etiri registara predstavlja jednu
etvrtinu dobijene he vrednosti ulazne poruke.
160
38. PRIMER:
Slika 5.6, Upotreba MD5 funkcije u Cryptool-u.
Primetiemo, Slika 5.6, da poruka 2 sadri na kraju rei dva slova M i to je jedina
razlika u odnosu na poruku 1, dok su he vrednosti potpuno razliite.
5.5. SHA
SHA (eng. Secure Hash Algorithm) je klasa kriptografskih funkcija za saimanje. U ovoj
grupi kriptografskih funkcija najee koriena funkcija je SHA-1 koja je nala
primenu u velikom broju kriptografskih protokola kao to su TLS, SSL, PGP, SSH,
S/MIME i IPSec. SHA-1 se moe smatrati naslednikom MD5 algoritma. SHA algoritmi
su kreirani od strane amerike agencije za bezbednost (NSA) i publikovani kao
zvanini standard vlade SAD. He vrednost je duine 160 bitova.
161
Prvi lan grupe SHA algoritama, publikovan je 1993. godine, i zvanino nazvan SHA,
ali se on esto u literaturi naziva SHA-0, da bi se spreila zabuna sa njegovim kasnijim
naslednicima. Dve godine kasnije nastaje SHA-1, prvi naslednik SHA. Jo etiri
varijante ovog algoritma su publikovane i to SHA-224, SHA-256, SHA-384 i SHA-512 i
oni se jednim imenom nazivaju SHA-2, a razlikuje ih samo duina saetka koji
proizilazi iz njih. Algoritmi SHA-256, SHA-384 i SHA-512 objavljeni su 2002. godine
dok je varijanta SHA-224 objavljena 2004. godine. Ove due varijante su znatno
sigurnije u odnosu na SHA-0 i SHA-1, prvenstveno zbog duine saetka i odreenih
promena u algoritmu. Nove verzije SHA algoritma koriste druge vrednosti pomeranja
kao i dodatne konstante, ali u sutini nema znaajnih promena u odnosu na
prethodnike. I pored vee sigurnosti oni se i danas manje koriste u odnosu na SHA-1
koji predstavlja industrijski standard u kriptografiji.
SHA-0 i SHA-1 algoritmi se danas ne mogu smatrati bezbednim zato to postoje
kriptografski napadi koji su sposobni da pronau koliziju za relativno kratko vreme.
Tabela 12 Poreenje he algoritama
Algoritam
SHA-0
SHA-a
SHA-224
SHA-256
SHA-384
SHA-512
162
Veliina saetka u
bitovima
160
160
224
256
384
512
Inicijalna veliina u
bitovima
Veliina bloka u
bajtovima
160
256
256
512
512
64
64
64
128
128
39. PRIMER:
Slika 5.7, potreba razliitih verzija SHA funkcije u Cryptool-u.
163
41. PRIMER:
Slika 5.10, realizacija HMAC algoritma u Cryptool-u za RFC 2104.
166
K - tajni klju,
M- poruka koja e biti autentifikovana,
22
167
6. AUTENTIFIKACIJA
168
neto to znate;
neto to imate;
neto to jeste.
6.1. LOZINKE
Idealna lozinka je neto to znate, neto to raunar moe da proveri da znate i neto
to niko drugi ne moe da pogodi ak ni sa pristupom neogranienim raunarskim
resursima. U praksi je veoma teko stvoriti takvu idealnu lozinku.
Danas je skoro nemogue koristiti raunar bez korienja velikog broja lozinki. Mnogi
korisnici se loguju na svoj raunar tako to ukucaju korisniko ime i lozinku. Pored
toga, koriste se i drugi podaci koji se ne smatraju lozinkama, ali funkcioniu na isti
nain. Na primer, PIN broj koji se koristi kod platnih kartica je, zapravo, lozinka.
Ukoliko neko zaboravi lozinku, postoje opcije autentifikovanja preko broja line karte,
matinog broja, datuma roenja, ili nekog drugog linog podatka. U tom sluaju, te
informacije slue kao lozinka. Problem sa ovim vrstama lozinke je to najee nisu
169
Kd8$6g)0l!25mV6%
52987160028731
POkemON
P10Di7god
171
172
6.2. BIOMETRIJA
Savremene informacione tehnologije i globalizacija dramatino su promenili dananji
svet raunarskih mrea, koje se odlikuju visokim stepenom integracije razliitih
elektronskih servisa. Obzirom da je broj Internet servisa i novih korisnika usluga na
Internetu svakodnevno u porastu, poveava se koliina i vrednost razmenjenih
informacija preko Interneta. Informacije koje se razmenjuju u mrei i memoriu mogu
biti kompromitovane ili ukradene ukoliko nisu adekvatno obezbeene.
U svim tipovima mrene komunikacije poseban izazov predstavljaju servisi za
kontrolu pristupa. Njihova uloga je da zatite podatke i informacije od neovlaenog
pristupa preko dovoljno sigurnih procedura za proveru identiteta. Tradicionalni
sistemi za proveru identiteta baziraju se na lozinkama koje pamtimo ili neemu to
nosimo sa sobom. Obino su to pametne kartice, USB tokeni, mobilni telefoni i td. Ovi
175
U ovom delu analiziramo sve procese na putu od slike oka do iris koda (biometrijskog
templejta) u momentu autentifikacije. Kompletan sistem sadri sledee faze:
177
x
x
x
x
Segmentaciju;
Normalizaciju;
Kodovanje;
Prepoznavanje.
Faza segmentacije predstavlja izolaciju iris regiona na slici oka. Iris region
posmatramo kroz dva kruga, spoljni krug do kapaka i unutranji krug do zenice.
Spoljanji krug uglavnom je jednim delom prekriven kapcima i trepavicama. Potrebna
je takva tehnika koja e da izoluje ili izuzme ovakve objekte i precizno prepozna
kruni deo irisa.
Uspeno prepoznavanje zavisi od kvaliteta slika. Slike u CASIA 24 bazi podataka su
visokog kvaliteta, jer nema refleksije zbog upotrebe infra-crvene svetlosti za
osvetljavanje. Problem mogu da prave osobe sa tamnim pigmentom, poto tada
imamo smanjenje kontrasta, to prepoznavanje ini teim i nepreciznijim. Faza
segmentacije je kritina za uspeh jednog sistema za prepoznavanje, jer lo rezultat se
dalje prenosi na ostale faze sistema.
Tehnika koju koristimo za pravilno izdvajanje irisa je Hafov algoritam ili Hafova
transformacija. Hafova transformacija predstavlja algoritam koji je dosta primenjiv u
kompjuterskoj grafici za prepoznavanje jednostavnih geometrijskih oblika kao to su
linije i krugovi. Za ovu potrebu koriena je kruna Hafova transformacija za
automatsku segmentaciju irisa, Slika 6.3.
24
Standardizovana baza podataka koja sadri veliki broj slika oiju, baza je namenjena za istraivanja kod
biometrijskih sistema. Dostupno na Veb sajtu: http://biometrics.idealtest.org/dbDetailForUser.do?id=4
178
Faza normalizacije ima ulogu transformacije iris regiona u zadate fiksne dimenzije
koje su odreene unapred za sledeu fazu. Varijacija u dimenziji obino nastaje zbog
istezanja zenice prouzrokovano promenom nivoa osvetljenja. Postoje i drugi razlozi, a
to su: udaljenost izmeu kamere i oka, rotacija kamere, rotacija oka u onoj duplji.
Procesom normalizacije dobija se iris region koji ima fiksne dimenzije u cilju
postizanja karakteristinih funkcija za isto oko na vie slika koje su kreirane u
razliitim uslovima. Pored navedenih problema koje reava proces normalizacije
bitno je i napomenuti da iris nije uvek koncentrian ili prestenastog oblika a jako je
bitno da ima stalan radijus.
Model koji se koristi je Daugmanov Rubber sheet model, koji ima za cilj da ponovo
mapira sve take unutar iris regiona na par polarnih koordinata (r,T ) , gde je r na
intervalu od [0,1] i T je ugao [0, 2S ] .
Centar oka predstavlja referentnu taku i radijalni vektori koji prolaze kroz region
irisa, Slika 6.4. Broj taaka koji je izabran radijalnim linijama definisan je kao radijalna
rezolucija. Broj radijalnih linija definisan je kao ugaona rezolucija. Imajui u vidu da
krugovi irisa mogu biti nekoncentrini, potrebno je primeniti metod konfiguracije nad
ponovnim mapiranjem taaka u iris regionu.
179
180
g ( x, y; O , T ,\ , V , J )
x2 J 2 y2
x
exp
cos 2S \
2
O
2V
a imaginarni deo:
g ( x, y; O , T ,\ , V , J )
x2 J 2 y2
exp
2V 2
sin 2S \
O
gde su:
x x cosT y sinT
y x cosT y sin T
Kao rezultat faze kodovanja (informacioni ekstrakt iz are irisa), dobija se 256 bajtova
iris koda (2048 bitova), Slika 6.7.
Faza prepoznavanja je merenje slinosti dva irisa koje se zasniva na merenju
Hamingovog rastojanja. Rauna se d ( x, y) na 2048-bitovskom iris kodu. Perfektno
poklapanje, to nije realna situacija u praksi, daje rastojanje d ( x, y)
0 . Za identian
182
183
Postoje problemi sa ovim pristupom jer direktno utiemo na stopu lanog prihvatanja
(eng. False Acceptance Rate- FAR), a taj dogaaj bi znaio da je sistem napravio
greku kod identifikacije i prihvatio pogrenu osobu na bazi tueg referentnog
biometrijskog podatka.
Imajui u vidu da je mogue smanjenje jednog parametra na raun drugog i obrnuto,
neophodno je napraviti kompromis izmeu njih tako da sistem bude prilagoen
okruenju. Neka okruenja dozvoljavaju visok FRR, a druga mogu tolerisati visok FAR.
Vrednosti parametara FAR i FRR koje su navedene od strane prodavca sistema esto
su nepouzdane. Iz tog razloga neophodno je konsultovati nezavisne izvore
informacija, kao to su, biometrijska takmienja u organizaciji amerikog Nacionalnog
instituta za standarde (NIST). Za veinu biometrijskih sistema vrednost FRR kree od
0.1 % do 20 %, to znai da e legitimni korisnik biti odbijen najmanje jednom od
1000 puta. FAR kree od jednog prihvaenog u 100 (aplikacije niskog stepena
sigurnosti), i jednog prihvaenog u 10.000.000 (aplikacije visokog stepena sigurnosti).
Ostali izazovi za biometrijske sisteme su brzina. Sistem mora da bude sposoban da
napravi preciznu odluku u realnom vremenu. Sa druge strane kao jedna najbitnija
sposobnost biometrijskih sistema je da budu otporni na napade.
186
188
Tehnika koju predlau autori u ovom radu, drugaija je od ifarskih funkcija, jer
ukoliko budu kompromitovani neki parametri sistema, kao to je kriptoloki klju,
biometrija je izgubljena zauvek. Dok ova mogunost ne postoji kod neinvertibilnih
funkcija. Razlika je to transformisani signal zadrava iste osobine koje su bitne za
sisteme autentivikacije, dok te osobine nisu sadrane u ifrovanim biometrijskim
podacima. Parametar distorzije u transformacionom domenu mogue je kontrolisati
od strane servisa ili jo bolje od strane osobe koja se identifikuje. U cilju podizanja
najvieg stepena privatnosti, predloeno je uvanje parametra transformacije (eng.
State) na pametnim karticama koje su dodatno zatiene sa PIN kodom. Ukoliko
osoba izgubi pametnu karticu ili kartica bude ukradena, to nee bitno uticati na
privatnost korisnika i bezbednost sistema. Na ovaj nain je ublaena zabrinutost za
krenje privatnosti upotrebom sistema za autentifikaciju na bazi biometrijskih
podataka.
U radu (2008), autori predlau novi metod za zatitu privatnosti kod iris biometrije.
Za ekstrakciju iris koda ili generisanje biometrijskog templejta koriste 1D log-Gabor
filter, slino implementaciji (Libor Masek, 2003). U prvom koraku koriste razmotanu
sliku irisa kojoj dodaju eksternu sluajno generisanu informaciju za proces distorzije
signala. Transformaciju koju koriste je neinvertibilna i opoziva.
U radu (2009), autori u cilju prevazilaenja problema neopozivosti biometrijskih
podataka tj. zatite privatnosti biometrijskih podataka, predloili su emu sa dva
faktora zatite koristei iris biometriju i lozinku. U ovoj emi, svakom korisniku se
odreuje zaseban klju za meanje iris koda koji predstavlja jedinstvenu permutaciju.
Drugi faktor ove eme predstavlja uvoenje kodova za detekciju i ispravljanje greaka
(eng. Error-Correcting-Code) u cilju smanjenja varijabilnosti u biometrijskim
podacima. ema meanja kod razliitih irisa u fazi poreenja poveava Hamingovo
rastojanje ostavljajui originalno rastojanje nepromenjeno, dok ECC smanjuje
Hamingovo rastojanje u fazi poreenja istih irisa u veoj meri nego u fazi poreenja
razliitih irisa. Primenom eme meanja postignuti su bolji rezultati koji se
manifestuju kroz Hamingovo rastojanje u poreenju istih i razliitih irisa. Klju koji se
koristi za meanje, zatien je lozinkom koja ovaj sistem ini biometrijski opozivovim.
Na ovaj nain biometrijski podaci su u zatienoj formi koja titi privatnost
biometrijskih podataka.
190
U radu iz 2010. godine., autori su predstavili novu emu za zatitu iris biometrije.
Slino kao i u drugim postojeim radovima, predloena transformacija za iris kod je
neinvertibilna, ak i ako je poznata napadau. Predloeni metod sadri tri faze. U
prvom koraku generisan je iris kod, u drugom koraku ekstraktovani su konzistentni
bitovi irisa i u treem koraku primenjen je algoritam koji prua zatitu privatnosti i
opoziv iris biometrije.
Na osnovu navoda povezanih radova sa ovom oblasti, koji se bave pronalaenjem
reenja za probleme na polju zatite privatnosti biometrijskih podataka ili (eng. Cancelable Biometric), moemo da izvedemo sledee zakljuke:
Veina autora u radu predlae jednosmerne funkcije ili transformacije. Poseduju
osobinu neinvertibilnosti preko koje je obezbeena mogunost opoziva biometrijskih
podataka kao i ponovno generisanje biometrijskih podataka u svrhu autentifikacije.
Na ovaj nain su zamenjeni tradicionalni biometrijski sistemi.
Pojedine transformacione funkcije zadravaju u podacima osnovne karakteristike
biometrijskih podataka, koje pozitivno utiu na Hamingovo rastojanje, metod koji
koristimo za prepoznavanja ili poreenje biometrijskih podataka.
Prepoznate su odreene slabosti kod transformacija sa lozinkama, koje predstavljaju
jedinstvenu permutaciju. Problem je poistoveen sa kompromitovanjem
kriptolokog kljua u kriptografiji.
Pored primene transformacija, odreeni autori poistoveuju biometrijske podatke sa
komunikacionim kanalima sa umom. Ovakva ideja uvodi primenu kodova za
ispravljanje greaka (eng. Error-Correcting-Code), metod preuzet iz oblasti
telekomunikacija.
191
25
Godinja meunarodna konferencija o teoriji i primeni kriptografskih tehnika. Dostupno na Veb sajtu:
http://www.iacr.org/conferences/eurocrypt2013/
192
Svaki piksel se deli na manje blokove, Slika 7.2. Uvek postoji isti broj belih
(transparentnih) i crnih blokova. Deljenjem piksela na dva dela dobijamo jedan beli i
jedan crni blok, a deljenjem na etiri jednaka dela dobijamo dva bela i dva crna bloka.
Slika 7.3, pikseli koji su podeljeni na etiri dela mogu se nalaziti u est razliitih stanja.
Piksel na sloju 1 ima odreeno stanje, a piksel u sloju dva moe da ima isto ili
suprotno stanje. Ako je piksel na sloju 2 isti kao na sloju 1, preklapanjem e se dobiti
pola belih i pola crnih piksela. Ali, ako je on suprotan od piksela na sloju 1,
preklapanjem e se dobiti crni piksel koji predstavlja informaciju (informaciju o tajnoj
poruci).
194
Sloj 1 poseduje piksele ije su vrednosti odreene na sluajan nain, slino nainu za
generisanje kljua kod One-time-pad ifre i moe da ima jedno od est moguih
stanja. Sloj 2 je isti kao i sloj 1, iskljuivo sadri fiksne crne piksele koji su nosioci
informacije u fazi preklapanja. Oni imaju uvek stanje razliito od stanja na sloju 1.
Primena ove tehnike skrivanja informacija moe da se koristi u svrhu deljenja tajni,
konkretno u bankarstvu (kad je zahtevano deljenje informacije o kljuu na vie
korisnika ili vie manjih kljueva koji sami ne mogu da otkljuaju sef) i u protokolima
za autentifikaciju u cilju zatite biometrijskih podataka.
Na primer, Alisa, Bob i Trudi su zaposleni u istoj banci. Nije poeljno da Trudi sama
pristupa sefu. Svi troje poseduju delove informacije o kljuu sa kojim mogu da
regeneriu klju sa kojim otkljuavaju sef. Sistem je konfigurisan tako da zahteva sva
tri dela informacije o kljuu. U momentu otkljuavanja sefa Alisa, Bob i Trudi prilau
delove kljua, nakon toga sistem generie jedan glavni klju sa kojim moe da se
otkljua sef. Prednost ove tehnike je to omoguava podelu kljua na vie zaposlenih
u banci, to podie bezbednost celokupnog sistema.
195
43. PRIMER:
Slika 7.4, Primer za vizuelnu kriptografiju sa tri sloja.
196
7.2. STEGANOGRAFIJA
Steganografija je tehnika skrivanja tajnih poruka na takav nain da niko osim
predajne i prijemne strane nije svestan postojanja komunikacije. Skrivanje poruka se
temelji na preruavanju poruke unutar slike, filmova i teksta. Osnovna prednost
steganografije u odnosu na kriptografiju je injenica da poruke ne privlae panju na
sebe. Moemo da kaemo da je steganografijom mogue izbei napad ovek u
sredini, obzirom da napada nije svestan postojanja komunikacije u nekom
komunikacionom kanalu.
Steganografija ima prednost u zemljama u kojima su kriptografske tehnike za
ifrovanje poruka zabranjene. Kriptografskom zatitom zatiene su samo poruke,
dok se za steganografiju moe rei da titi i poruke i strane koje uestvuju u
komunikaciji. Steganografija podrazumeva i skrivanje poruka unutar raunarskih
fajlova i tokova podataka. Ukoliko se radi o digitalnoj steganografiji, poruka moe biti
skrivena unutar dokumenata, slike ili filma. Film je multimedijalna datoteka i kao
takva zbog svoje veliine je idealna za steganografsku komunikaciju. Njihova veliina
im daje prednost kada je u pitanju osetljivost na suptilne promene.
Primena steganografije danas u svetu je raznolika. Spajanjem slike sa tekstualnim
datotekama moemo obezbediti poverljivost vanih informacija, uvajui ih od
sabotae, krae ili neovlaenog gledanja. Naalost, steganografija ima i nelegalnu
svrhu u pijuniranju i u terorizmu (BBC je u vie navrata navodio da su teroristi za
sigurnu i tajnu komunikaciju koristili neke od steganografskih tehnika). Najznaajnija i
najea upotreba je u digitalnim vodenim peatima koji se koriste za zatitu
autorskih prava.
197
x
x
x
x
198
199
Moda interesantan primer za digitalni vodeni peat jeste dogaaj iz 2012. godine
iako ne postoje vrsti dokazi, da je na ovaj nain Google zatitio svoje mape od
kopiranja. Prema tvrdnjama australijskih naunika, ostrvo na Junom Pacifiku, koje se
moe nai na mapama Google Earth-a ne postoji. Na tom mestu dubina vode je
prema brodskim sondama 1.400 metara. U pitanju je veliki komad zemlje koji se na
Google-ovim mapama naziva Peskovitim ostrvom, a nalazi se izmeu Australije i Nove
Kaledonije. Naunici sa Univerziteta u Sidneju koji su otili na koordinate gde bi
trebalo da se nalazi ostrvo nisu pronali nita osim okeana. Ovu greku prijavili su
Google-u, ali za sada nije izvrena prepravka na mapama, Slika 7.5.
200
201
x
x
x
x
x
x
202
U objekat podatak nosilac (slika u ovom sluaju) ugradiemo sledeu tajnu poruku:
The Singidunum Scientific Journal is published twice a year (in April and in October)
and it is devoted to publishing scientific research in the following areas: Economy,
Management, Tourism and hospitality, Computer science, Law. The mission of the
Journal is to assist researchers from all regions of the world in communicating their
achievements in the global scientific community., Slika 7.8.
203
204
45. PRIMER:
Slika 7.10, u sledeem primeru dekodovali smo steganografski podatak i uspeli da
Primera radi u sledeem primeru smo odredili histogram originalne slike (Slika 7.11) i
stego slike (Slika 7.12). Dobijeni rezultati su prikazani ispod. Izmeu ova dva
histograma primetna je neznatna razlika koju je mogue odrediti tek ukoliko
posedujemo originalnu sliku ili podatak nosilac.
205
206
207
x
x
208
verovatnoa pojave jednog broja treba biti jednaka za sve brojeve u prostoru
u kome se generiu sluajni brojevi. Ova osobina se odnosi na ceo generisani
niz, ali i za njegov podniz;
korelacija izmeu generisanih brojeva pod niza ne sme da postoji, odnosno
ne sme da postoji zavisnost izmeu podnizova;
generator je dobro konstruisan ukoliko je broj stanja kroz koja on prolazi
prilino velik. Ukoliko se generator u jednom trenutku nae u stanju u kojem
je ve bio, dolazi do ponavljanja nekog ve generisanog podniza. Perioda
dobro konfigurisanog generatora mora biti to vea.
Karakteristike
Efikasnost
Determinizam
Periodinost
PING
da
da
da
TRNG
ne
ne
ne
Slika 7.13 Vizuelna uporedna analiza rezultata TRNG (slika levo) i PRNG (slika desno)
209
210
premala vrednost ovog parametra moe dovesti do odbacivanja niza. Svaki ispit za
odreivanje kvaliteta generatora meri neku od poeljnih karakteristika sluajnih
brojeva.
Nakon serije ispitivanja mogue je zakljuiti da ispitivani generator poseduje eljena
svojstva i da bi kao takav mogao biti dobar generator. Sa druge strane, mogue je
zakljuiti da ispitivani generator nije odgovarajui. Ovakve zakljune tvrdnje mogue
je donositi sa 99% sigurnou. Obino se u ispitima upotrebljavaju dve osnovne
raspodele:
x
x
x
x
211
212
213
8. BIBLIOGRAFIJA
Aiden A. Bruen Cryptography, information theory, and error-correction [Book]. - San
Diego : WILEY-INTERSCIENCE , 2005.
Alexander W. Dent, Chris J. Mitchell Users Guide to Cryptography and Standards,
Computer Security Series [Book]. - Boston : Artech House, 2005.
Alfred J. Menezes, Paul C. van Oorschot, Scot A. Vanstone Handbook of Applied
Cryptography [Book]. - New Jersey : CRC Press, 2001.
Ari Juels, Martin Wattenberg A fuzzy commitment scheme [Conference] // CCS '99
Proceedings of the 6th ACM conference on Computer and communications security. New York : ACM, 1999. - pp. 28-36.
CrypTool [Online] // http://www.cryptool.org/en/. - 2013.
Davida, G.I., Yair Frankel, Brian J. Matt On Enabling Secure Applications Through Offline Biometric Identification [Conference]. - Oakland, CA : Security and Privacy, 1998.
Proceedings. 1998 IEEE Symposium on, 1998. - p. 148.
Dragan Pleskonji Sigurnost raunarskih sistema i mrea [Book]. - 2007 : Mikro
Knjiga, Beograd.
Fred Piper and Sean Murphy Cryptography: A Very Short Introduction [Book]. London : Oxford University Press, 2002.
Jinyu Zuo, Nalini K. Ratha, and Jonathan H. Connell Cancelable Iris Biometric
[Conference] // In proceeding of: Pattern Recognition.. - [s.l.] : ICPR 2008. 19th
International Conference, 2008.
Libor Masek Peter Kovesi MATLAB Source Code for a Biometric Identification System
Based on Iris Patterns [Conference]. - 2003.
Milan Milosavljevi, Saa Adamovi, Irina Branovi, Dejan ivkovi Teaching
interactive cryptography: the case for CrypTool [Conference] // Communication and
Energy Systems and Technologies - ICEST. - [s.l.] : ICEST, 2011. - p. 46.
214
215
N {1,2,3,4,..} ,
a pod celim brojevima skup elemenata:
216
23 11(mod 12) .
Uopteno, ako je a { b(mod n) , onda je a
a { a mod n za svako a Z
217
x
x
mod n
, tada je
mod n
, tada je
c { b d mod n
c { b d (mod n)
a { b mod n
Operacije sa modulima
Operacija sabiranja:
4 8 mod 5
4 4 mod 8
8 mod 8
8 13 mod 5
21 mod 5
0
1
Operacija oduzimanja:
218
10
5 mod 3
10
5 mod 5
12 6 mod 6
6 mod 6
22 8 mod 6
14 mod 6
Operacija mnoenja:
2 5 mod 5
3 4 mod 5
5 5 mod 5
25 mod 5
6 5 mod 4
30 mod 4
Operacija stepenovanja:
6 mod 4
62 mod 4
36 mod 4
63 mod 4
216 mod 4
Prosti brojevi
Prosti brojevi su pozitivni celi brojevi koji su deljivi samo sa samim sobom i jedinicom.
Ostali brojevi, koji pored sebe i jedinice imaju i druge delioce su sloeni. Iako se broj 1
219
smatra prostim brojem, mnoge definicije podrazumevaju da su prosti brojevi vei ili
jednaki od 2. Moemo primetiti da je broj 2 jedini paran prost broj.
Osobine prostih brojeva - Da bismo nastavili sa radom, razmotriemo neke od
vanijih osobina prostih brojeva:
x
Funkcija koja daje broj svih prostih brojeva koji su manji od broja n oznaava
se sa M ( n ) i naziva se "Ojlerova fi funkcija". Prema teoremi o prostim
brojevima, za prost broj n vai M( n )
n 1.
Svaki pozitivan celi broj se na jedinstven nain moe predstaviti kao proizvod
prostih brojeva. Svaki celi broj n t 2 ima faktorizaciju koja se sastoji od
proizvoda potencija prostih brojeva u obliku: n
pi uzajamno prosti ei t 1
x
Prost broj p je jak prost broj ako: p 1 ima veliki prost faktor r , p 1 ima
veliki prost faktor i ako r 1 ima veliki prost faktor.
220
M(n)
Osnovni problem je pronai ostatak pri deljenju celog broja a sa n , tj. pronai
ak mod n . U obzir treba uzeti da i a i k mogu biti veoma veliki brojevi. Oigledna,
ali u veini sluajeva neizvodljiva metoda, sastojala bi se u potenciranju a
eksponentom k , a zatim deljenjem sa n i pronalaenjem ostatka. Kako u pojedinim
kriptografskim operacijama broj a moe imati stotinu i vie decimalnih cifara, ovakav
metod nije mogue izvesti ni na modernim raunarima.
Testovi za ispitivanje da li je broj prost
Generalni model izbora prostog broja - Za kriptografe je generisanje velikih prostih
brojeva uvek predstavljalo problem. Generalan metod za generisanje prostih brojeva
jeste da se generie broj n odgovarajue duine, a da se zatim proverava da li je on
prost. Trivijalnija provera da li je broj prost, bila bi da se proveri da li je on deljiv sa
bilo kojim prostim brojem manjim od n . Uopteni algoritam bi se sastojao u
sledeem:
221
x
x
x
Probabilistiki testovi deklariu celi broj n kao kandidata za prost broj sa nekom
verovatnoom, dok stvarni testovi obezbeuju matematiki dokaz da je broj prost ili
sloen. Probabilistiki testovi generalno zahtevaju manje raunskih resursa i
izvravaju se za krae vreme od stvarnih testova.
Probabilistiki testovi - Probabilistiki testovi se najee koriste za ispitivanje da li je
broj prost. Pored testiranog broja n , koriste i sluajno odabrane brojeve a. Ovakvim
testovima se za prost broj nikada ne moe dobiti rezultat da je sloen, ali je mogue
da sloen broj testom bude prepoznat kao prost. Redukovanje ove greke moe se
postii ukoliko se test ponavlja sa nekoliko sluajno odabranih vrednosti a . Za dva
najee koritena testa, Fermaov i Miler-Rabinov, za bilo koji sloeni broj n
najmanje polovina brojeva koje je mogue birati za a detektuju da je n sloen. Ovo
k
222
i moe se uiniti
x
x
x
x
Ako nakon odreenog broja ciklusa ustanovimo da n nije sloen broj, onda ga
moemo proglasiti "verovatno prostim".
Fermaov test - Fermaov test bazira se na jednoj od osobina prostih brojeva iskazanoj
kroz Fermaovu teoremu. Prema Fermanovoj teoremi, ako je n prost broj onda za
svaki celi broj, a takav da je 1 d a d n 1 i uzajamno prost sa n vai:
n1
Takav broj a se naziva "Fermanov svedok sloenosti" broja n . ak i ako za svako a
vredi prethodna jednakost, to nije dovoljno da bi se tvrdilo da je n prost. Ako je n
sloen broj i postoji broj a , 1 d a d n 1 , takvo da je a
n1
{ 1 mod n , onda je
2340 1 mod 341 . "Karmajklov broj" je celi sloen broj, takav da za sve cele
>
18
223
a n1 / 2 { J a, n mod n .
Sloen broj n koji je uzajamno prost sa a i zadovoljava a
n 1 / 2
{ J a, n mod n
kaemo da je "Ojlerov pseudoprost broj za bazu a ", a broj a je "Ojlerov laov". Ako
n 1 / 2
z J a, n mod n , kaemo da je a
91
J 9,91 1 .
Ponavljanjem testa t puta sa razliitim vrednostima a , verovatnoa da sloeni broj
t
n proe svih t testova nije vea od 1/ 2 . Broj a koji dokazuje da je n prost broj je
svedok. Verovatnoa da sluajan broj a bude svedok nije manja od 50%.
Lemanov test - Lemanov test je neto jednostavniji od Solovej-trasenovog testa jer
se ne rauna Jakobijan. Kao i kod Solovej-trasenovog testa verovatnoa da je broj a
svedok sloenosti broja n nije manja od 50%. Test treba ponoviti t puta za razliite
vrednosti broja a . Ako je u svih t koraka vrednost a n 1 / 2 1 ili 1 , ali nije uvek
1, p je verovatno prost broj sa mogunou greke od 1 / 2t .
224
sloeni broj n , ako postoji broj j, 0 d j d s 1 , takav da vai ili a { 1 mod n ili
r
2 j*r
N p1 1 p2 2 ... pn
e
en
gde su p1... pn razliiti prosti brojevi, dok su e1...en prirodni brojevi. Ovaj postupak
naziva se faktorizacija broja n . Faktorizacija broja je jedinstvena.
Najvei zajedniki delilac
225
U matematici, najvei zajedniki delilac (NZD) dva cela broja razliita od nule je
najvei pozitivan ceo broj koji deli oba broja bez ostatka.
Najvei zajedniki delilac brojeva a i b se oznaava kao NZD a,b ili ponekad
jednostavnije kao a, b .
Na
primer,
Dva
broja
226
je manje od svog
rk 2 qk rk 1 rk
gde je rk rk 1 . Drugim reima, umnoci manjeg broja rk 1 se oduzimaju od veeg
broja rk 2 sve dok je dobijeni ostatak manji od rk 1 .
U prvom koraku k 0 , ostaci r2 i r1 su jednaki a i b respektivno, a to su upravo
brojevi za koje se trai NZD. U sledeem koraku k 1 , ostaci postaju jednaki b i
ostatku poetnog koraka r0 ... Na osnovu toga, algoritam se moe predstaviti nizom
jednakosti:
a q0 b r0
b q1 r0 r1
r0 q2 r1 r2
r1 q3 r2 r3
227
1 mod 5
4 jer je 1 4 mod 5
tog proizvoda bio jednak 1, a onzaava se sa x . To nije broj manji od 1 ve samo
oznaka.
Primer:
Kolika je multiplikativna inverzija 4 mod 5 ?
Odgovor:
228
41 (mod 5)
4,
jer je:
(4 4)(mod5) 1
Ojlerova funkcija
Ojlerova funkcija je dobila ime po vajcarskom matematiaru Leonardu Ojleru(17071783). Ojlerova M funkcija je vana uglavnom zbog toga to daje veliinu
multiplikativnih grupa celih brojeva po modulu n.
M( p)
p 1
M( pn)
pn p n1
M ( mn )
M ( m )M ( n )
M( pq)
M( p)M( q)
p 1 q 1
xM (n)
1 mod n
xM ( n) mod n
229
Kvadratni ostatak
Neka je a, m
230
Diskretni logaritmi
Modularno stepenovanje u obliku:
y { a x mod n
pripada takozvanim jednosmernim funkcijama koje se u modernoj kriptologiji esto
koriste.
Kvantifikacija prethodnog izraza je jednostavna. Inverzan (suprotan) problem za
modularno stepenovanje je pronai diskretan logaritam broja, tj. nai brojeve x tako
da vai:
a x { y mod n i a x mod n { c
Ovaj problem je vremenski zahtevan i smatra se tekim. Nije poznato da li postoji
efikasan algoritam za reavanje problema diskretnog logaritma.
Modularna aritmetika ima puno korisnih primena u dananjem svetu. Mnogi misle da
je matematika bespotrebna nauka, ali to nije tano. Osim teorije brojeva i
kriptografije iju smo primenu videli u ovom radu, modularna aritmetika ima primenu
i u raunarstvu, vizuelnoj umetnosti, pa ak i muzici.
231
232
Instalacija razvojnog okruenja - Na zvaninoj stranici CrypTool-a dostupne su 32bitne i 64-bitne verzije programa za Windows platformu.
http://www.cryptool.org/en/ct2-download-en
Pre pokretanja instalacije CrypTool-a, neophodno je instalirati Microsoft .NET framework. Instalaciju je mogue preuzeti sa linka:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17718
Na naem YouTube kanalu moete da pratite video materijale koji prate sadraj ove
knjige. Pored materijala za predmet kriptologija 1, dostupni su i materijali za
kriptologiju 2 i osnove teorije informacija i kodovanja.
http://www.youtube.com/user/salerc
Moderni Plug-in-Play interfejs za vizuelno programiranje CrypTool 2 prua
grafiki korisniki interfejs za vizuelno programiranje. Dakle, sa okruenjem je lako
upravljati, podaci mogu lako da se kontroliu, vizuelizuju i na taj nain je ostvarena
jednostavna interakcija sa kriptografskim funkcijama. Vektorski orjentisano grafiko
okruenje u Windows-ovom stilu daje korisnicima mogunost dobrog trenutnog
pregleda. CrypTool 2 sledi Microsoft Office 2007 korisniki interfejs smernica koji
obezbeuje dosledan i bogat korisniki doivljaj, Slika 0.2.
233
x
x
x
235
236
RENIK POJMOVA
A
AES - Advanced Encryption Standard. Blokovska ifra sa simetrinim kljuem,
standardizovana od strane NIST-a. Pripada grupi modernih ifara. Duina kljua je
128, 192, i 256 bitova.
ASCII - ameriki kodni standard za razmenu informacija. Ove kodove koristi veliki broj
raunarskih sistema za prevoenje karaktera u binarne brojeve.
Algoritam - opis za reavanje nekog problema.
B
Biometrija - tehnika za autentifikaciju koja koristi jedinstvene fizike karakteristike
nekog pojedinca. Postoje razliiti tipovi biometrije.
Biometrijski templejt - digitalizovana fizika karakteristika nekog pojedinca za
odreeni biometrijski izvor koji se koristi za autentifikaciju date osobe.
Binarna sekvenca - niz karaktera (jedinica i nula) ili binarni niz.
V
VOIP - protokol koji se koristi za digitalizaciju govora, pakovanje i slanje preko TCP/IP
veze.
Vizuelna kriptografija - specijalna tehnika ifrovanja koja omoguava skrivanje
informacija na slici, na takav nain da se moe deifrovati ljudskim okom bez
upotrebe raunara.
Venona - predstavlja One-time pad u realnosti. Koristila ga je sovjetska pijunska
mrea koja je formirana na teritoriji SAD 1940-tih.
237
G
GSM - globalni sistem za telekomunikacije. Internacionalni standard za satelitske
telefone.
D
DES - Data Encryption Standard. Blokovska ifra sa simetrinim kljuem usvojena od
strane NIST-a. Pripada grupi modernih ifara. Duina kljua je 56 bitova, prevazien je
od strane AES-a.
Digitalni potpis - protokol koji koristi primalac poruke da bi verifikovao poiljaoca
poruke. Za verifikaciju se koristi javni klju poiljaoca. Obezbeuje servis
neporecivosti.
Deifrovanje - proces transformacije ifrata u otvoreni tekst.
Digitalni vodeni peat - tehnika za zatitu autorskih prava digitalnih sadraja.
Difi-Helman - protokol namenjen za razmenu simetrinih kljueva preko javnih
komunikacionih kanala.
E
Enigma - maina za ifrovanje iz familije mehanikih rotor maina. Koristile je
nemake snage za vreme Drugog svetskog rata.
Entropija - mera za koliinu neodreenosti ili prosena koliina informacije koju
sadre generisane poruke nekog informacionog izvora.
ECB - reim za ifrovanje kod blokovskih ifara u kom je svaki blok ifrata potpuno
nezavisan. Ovaj reim moe da bude nebezbedan.
238
I
Iris - ara irisa ili obojeni deo oka koji je prilino haotian (neodreen) ili sluajan.
Predstavlja biometrijski izvor sa visokim performansama.
Integritet - prevencija od neautorizovane izmene sadraja (poruke).
J
Javni klju - element sistema sa javnim kljuem ili javni klju nekog korisnika koji je
dostupan svim korisnicima u mrei. Koristi se u fazi ifrovanja.
Jednosmerna funkcija - sam naziv kae da je funkcija neinvertibilna, ako je y
f ( x)
K
Kriptoanaliza - umetnost i nauka o razbijanju ifrovanih poruka.
Kriptoloki klju - binarna sekvenca vee duine, poseduje osobine sluajnih nizova.
Koristi se kao poetno stanje algoritma u fazi ifrovanja i deifrovanja.
Kriptograf - lice koje dizajnira ifre.
Kriptoanalitiar - lice koje dizajnira metode za razbijanje ifara.
Kriptografija - nauka o pravljenju algoritama za ifrovanje.
Kriptoanaliza - nauka o razbijanju algoritama za ifrovanje.
L
LAN - lokalna mrea.
239
M
MAC - kod za proveru autentinosti poruke.
N
NIST - amerika federalna agencija za standarde i tehnologiju.
NSA - Nacionalna agencija za bezbednost. Amerika agencija koja je odgovorna za
bezbednost i kriptoanalizu elektronskih komunikacija.
O
One-time pad - perfektna ifra koja pripada grupi ifara sa simetrinim kljuem. Klju
je generisan na sluajan nain i ima jednaku duinu kao i poruka. Klju ne sme nikad
da se ponavlja.
Otvoreni tekst - poruka u fazi ifrovanja ili rezultat funkcije za deifrovanje.
P
PGP - program za sigurnu elektronsku potu koji objedinjuje servise za kriptografsku
zatitu podataka i digitalno potpisivanje. Razvijen od strane Fila Cimermana.
240
PKI - infrastruktura sa javnim kljuevima. Sadri bazu javnih kljueva preko kojih
obezbeuje autentifikaciju u srednjim i velikim mreama.
Privatni klju - element sistema sa javnim kljuem ili tajna koju uva svaki korisnik.
Koristi se u fazi deifrovanja.
PRNG - generator za generisanje pseudosluajnih brojeva na osnovu inicijalnog stanja
koje je odreeno na sluajan nain.
Poruka - podatak koji se razmenjuje preko mree izmeu predajne i prijemne strane.
Moe da bude u ifrovanoj formi.
Protokol - protokol je skup pravila koje razumeju i potuju strane u komunikaciji.
R
RSA - kriptografski sistem sa javnim kljuem, patentiran od strane Rivesta, amira i
Adlemana 1976. Sigurnost RSA zasniva se na sloenosti faktorizacije velikih brojeva.
Ima iroku primenu, implementiran je u PGP i SSL-u.
RC4 - sekvencijalna ifra sa simetrinim kljuem. Pripada grupi modernih ifara.
Duina kljua jednaka je poruci. Neki je nazivaju pseudoperfektna ifra. Za
generisanje kljua koristi se generator za pseudosluajne brojeve. Pravila
implementacije su skoro ista kao i kod perfektnih ifara.
S
Sertifikat - elektronski fajl, obino sadri javni klju koji je digitalno potpisan od
Sertifikacionog tela. Sertifikati se koriste za autentifikaciju na Internetu.
Sertifikaciono telo - trea strana od poverenja koja potpisuje i distribuira sertifikate.
SSL - iroko primenjeni zatitni protokol za autentivikaciju na Internetu (Internet
transakcije)
Simetrini klju - kriptoloki klju koji je identian na predajnoj i prijemnoj strani.
241
T
TCP/IP - protokol koji se koristi za prenos informacija u raunarskim mreama. TCP/IP
je postao standard za sve mree povezane sa Internetom.
TDES - blokovska ifra sa simetrinim kljuem, usvojena od strane NIST-a. Bazirana na
sukcesivnoj aplikaciji tri DES algoritma sa razliitim kljuevima. Predstavlja ojaanje
klasinog DES-a.
TRNG - generator sluajnih brojeva; ovakve generatore je mogue konstruisati u
prirodnim informacionim izvorima.
F
Faktorizacija - rastavljanje velikih prostih brojeva na inioce iz skupa prostih brojeva.
Fejstel ifra - nazvana po nemakom kriptografu Horstu Fejstelu (Horst Feistel) koji
je pionir u razvoju dizajna blokovskih ifara, radio je u IBM-u. Ovo su bila inicijalna
istraivanja koja su kulminirala razvoju DES (Data Encryption Standard) algoritma
1970. godine. Fejstel ifra predstavlja dizajn blokovske ifre, a ne posebnu ifru.
H
Haker originalno se termin koristi za kreativnog programera koji razvija programe
za ilegalan pristup raunarskim mreama u cilju krae ili unitenja informacija. Dobar
haker treba da poseduje dobre kriptoanalitike vetine.
Hamingovo rastojanje - koristi se za odreivanje razlike izmeu dva niza jednake
duine.
242
C
CRC - Cyclic Redudancy Check. Kod iroke primene, koristi se za detektovanje
greaka. Obino pre deifrovanja, CRC se proverava.
CBC - reim za ifrovanje kod blokovskih ifara. Radi na principu ulanavanja blokova
ifrata.
ifra - algoritam za ifrovanje. Mogu da postoje razliiti tipovi ifara. Osnovne podele
su na klasine i moderne, simetrine i asimetrine, apsolutno i praktino tajne.
ifrat - rezultat funkcije za ifrovanje ili transformacija otvorene poruke koja je
inverzna uz posedovanje pravog kljua.
ifrovanje - proces transformacije otvorenog teksta u ifrat.
243
244
Na osnovu lana 23. stav 2. taka 7. Zakona o porezu na dodatu vrednost (Slubeni
glasnik RS, br. 84/2004, 86/2004 (ispr.), 61/2005, 61/2007 i 93/2012), Odlukom Senata Univerziteta Singidunum, Beograd, broj 260/07 od 8. juna 2007. godine, ova knjiga
je odobrena kao osnovni udbenik na Univerzitetu.
CIP -
,
003.26(075.8)
004.056.55(075.8)
2013.
Sva prava zadrana. Nijedan deo ove publikacije ne moe biti reprodukovan u bilo
kom vidu i putem bilo kog medija, u delovima ili celini bez prethodne pismene saglasnosti izdavaa.