You are on page 1of 35

ELEKTROTEHNIKI FAKULTET

UNIVERZITET U SARAJEVU

Odsjek za telekomunikacije
MSc studij, I godina

Predmet: Kriptografija i sigurnost sistema

Predava: R. Prof. Dr Narcis Behlilovi, dipl. ing. el

- PREDAVANJE 3/4
**NEPRERAENA VERZIJA slijedi dopunjena formatirana verzija sa slikama

1.1.1

Algoritmi bazirani na supstitucijskim iframa

Algoritmi bazirani na supstitucijskim iframa (Substitution Cipher)


zahtjevaju da poiljalac svaki simbol (slovo) izvornog teksta, zamjeni
odgovarajuim simbolom ifrata, dok primalac zamjenjuje svaki simbol
ifrata odgovarajuim simbolom izvornog teksta. Sa stanovita klasine
kriptografije postoje bar etiri vrste supstitucijskih ifri:

Obina supstitucijska ifra (Simple Substitution) ili monoalfabetska


ifra (Monoalphabetic Cipher) su ifre u kojim je svako slovo izvornog
teksta zamjenjeno odgovarajuim slovom ifrata. Kriptogrami u
enigmatskim asopisima su primjeri monoalfabetskih ifara.

Homofonina supstituciona ifra (Homophonic Substitution Cipher),


je slina obinoj supstitucijskoj ifri, s tim to jednom simbolu
izvornog teksta moze odgovarati bilo jedno, bilo dva, ili pak ak
nekoliko simbola u ifratu (A moze u ifratu biti ili 3, ili 35, ili 356..)

Poligramska supstituciona ifra (Polygram Substitution Cipher),


blokove simbola izvornog teksta, preslikava u odreene blokove
ifrata (abc u xyz, aca u klm,.....)

Polialfabetska substituciona ifra (Polyalphabetic Substitution


Cipher), objedinjava vie obinih supstitucijskih ifri iz razliitih
abeceda.

Primjer obina supstitucijske ifre je Cezarova ifra (Caeser Cipher) kod


kojeg se unutar alfabeta od 26 slova, svaki simbol izvornog teksta
zamjenjuje simbolom istog alfabeta, koji je u odnosu na simbol izvornog
teksta, pomaknut za tri mjesta udesno - tabela broj 1.
Tabela broj 1.
Izvorni A

ifrat

Cezarova ifra je primjenjivana i sa pomakom udesno veim od tri. Na


ovaj nain je mogue napraviti 26 razliitih verzija kljua (26 naina
pomaka simbola ifrata u odnosu na simbole izvornog teksta).
Prije uoptene definicije familije algoritama, koji ishodite imaju u
Cezarovoj ifri, uspostavlja se korespondencija izmeu 26 slova engleskog

alfabeta i skupa brojeva Z26 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ...23, 24, 25}.


Zatim se pretpostavlja da su na skupu Z26 definisane operacije sabiranja,
oduzimanja i mnozenja, na isti nain kao i u skupu cijelih brojeva, uz
obavezu da ako je rezultat provedene operacije imao za posljedicu da se
dobije broj koji nije element skupa Z26 , tada se taj rezultat zamjenjuje s
njegovim ostatkom koji nastaje nakon djeljenja tog rezultata s brojem 26.
Nametnute operacije se formalno iskazuju u obliku:
(c +26 d) ili (c+d) mod26
(2.10)
Prema prethodno izlozenom proizilazi da je: (10 +26 22) = 32-26 = 6 , a
(10 --26 22) = -12+26 = 14 .
Oigledno je da se slino provode i operacije, i oduzimanja i mnozenja.

S obzirom da skup Z26 , zajedno sa operacijama (+26) i (26), zadovoljava


sve one matematike aksiome, koji su potrebni da bi ureena trojka
(Z26, +26, 26 ) imala status algebarska struktura tipa prsten:

Operacije (+26) i (26), nad elementima skupa Z26, su zatvorene


(njihovom primjenom nad elementima skupa Z26, dobija se ponovo
element istog tog skupa,

Operacije (+26) i (26), nad elementima skupa Z26, su komutativne i


asocijativne, jer su u vaznosti relacije:
( a (+26) b) = ( b (+26) a) ;
(a(26)b) = (b(26)a);
(( a (+26) b) (+26) c)= (a (+26) ( b (+26) c));
((a(26)b) (26) c)= (a(26) (b(26)c));

Uz to u vaznosti je i distributivnost operacije mnoenja u odnosu


na operaciju sabiranje, dakle vrijedi relacija:
(( a (+26) b) (26) c)= (a (26) c) +26 (b (26) c));

Broj 0 je neutralni element u odnosu na operaciju sabiranja, jer je:

( 0 (+26) b) = ( b (+26) 0) = b ;

Svaki element skupa Z26, a, ima sebi inverzan element u odnosu


na operaciju sabiranja, iz tog istog skupa, a to je element (-a),
dakle vrijedi:
(( a (+26) (-a) = 0, pri emu je za a0, inverzni element definisan sa
(26-a), jer je (( a (+26) (26-a) = (( 26-a) (+26) (a)) = 26mod 26 = 0

Broj 1 je neutralni element u odnosu na operaciju mnoenje, jer je:


( 1(26) b) = ( b (26) 1) = b ;
Samo neki elementi skupa Z26, b, imaju sebi inverzan element u
odnosu na operaciju mnoenje, iz tog istog skupa i to je element (b 1
), kada vrijedi da je:
((b-1), (26) b) = ( b (26) (b-1), ) = 1 ;

Za razmatranja koja tek predstoje, korisno je uvesti i pojam


kongruentnih elemenata po modulu 26. Elementi: (a Z26 ) i (b Z26) su
kongruentni po modulu 26, ukoliko i a i b nakon djeljenja po modulu
26 imaju isti ostatak, to se simboliki oznaava sa:
a b (mod 26)
U skladu sa prethodno izlozenim Cezarova ifra se moze
definisati i na slijedei nain:
Neka je: M = C = K = Z26 .
Za 0 K 25, eK (x) = ( x + K ) mod 26 , a dK (y) = ( y - K ) mod 26 , gdje
klju K odreuje za koliko mjesta udesno e se pomicati slova pri
ifriranju.

Primjer broj 2: Ako je ifrat K F P Z Q Y J Y, formiran primjenom


jedne varijante Cezarove ifre, odrediti prvo upotrebljeni klju K, a
potom i sam izvorni tekst.
K F P Z Q Y J Y
J E O Y P X I X
I D N XOWHW
H CMWNVG V
G B LV M UF U

FA K U L T E T
ROT 13 je jedan od jednostavnih programa za ifrovanje, to se koristi
u UNIX sistemima, a pripada klasi obinih supstitucionih ifara (svako
slovo se pomjera za 13 mjesta udesno A prelazi u N, D u Q....).
Originalni element se dobije ifrovanjem dva puta sa ROT13, dakle
M = ROT13(ROT13(M))
Sutinski ROT13 nije izvorno namjenjen sigurnosti nego da se
potencijalno uvredljiv tekst sakrije od ireg kruga.
Dobar raunarski algoritam za razbijanje ifara ovog tipa je dat u radu
G.W. Hart To Decode Short Cryptograms, Communications of the
ACM, v.37, n.9, Sep 1994, pp. 102-108.
Nije teko primjetiti da koncept obine supstitucionalne ifre,
kada se primjeni na engleski alfabet, omoguava kriptologu da
razotkrije izvorni tekst u relativno kratkom vremenu.
Neto vie sigurnosti nudi ifriranje pomou linarne (afine)
funkcije, kada su postupci ifriranja i deifriranja odreeni relacijama:
eK (x) = (a x + b )mod 26;

dK (y) =a-1 ( y - b ) mod 26

(2.11)
koje se mogu uspostaviti samo za one vrijednosti parametra a, za koje
postoji multiplikativni inverz na skupu Z26 (dakle parametar a mora
biti relativno prost s modulom 26).
Afina ifra se stoga definie na slijedei nain:
Neka je: M = C = Z26 , te neka je = {(a, ) Z26 x Z26 : (a,26)=1}
Za K = (a,b) definie se da je:
eK (x) = (a x + b ) mod 26 , odnosno dK (y) = a-1 ( y - b ) mod 26
Nije teko provjeriti da je:
dK ( eK (x) ) = dK ( ax +b )= a-1 ( ax +b - b ) = x
pri emu se brojne vrijednosti za a, biraju tako da je najvei zajedniki
djelitelj za takvo a Z26 i broja 26, jednak broju 1 (formalno se to
oznaava s ( a, 26 ) = 1). Ti brojevi a, zajedno s njihovim
multiplikativnim inverzima a-1 na skupu Z26 , sadrani su u tabeli broj
2, koja slijedi:
Tabela broj 2

11

15

17

19

21

23

25

a-1

21

15

13

19

23

11

17

25

S obzirom na ovih dvanest parova, koji su osnova za odreivanje


kljueva u afinoj ifre, omoguava 1226 = 312 moguih kljueva
(dvanest parova (a) i (a-1) iz tabele broj 2, te 26 vrijednosti parametra
b, definisanih elementima skupa Z26).
Primjer broj 3: ifrirati afinom ifrom, izvorni tekst S A R A J E V O,
uz upotrebu kljua K = ( 7, 9 ).
U tabeli broj 3, dat je jedan odnos izmeu slova engleskog alfabeta i
brojeva iz prethodno definisanog skupa Z26.
Tabela broj 3
A

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Na osnovu zadatog kljua proizilazi da su vrijednosti karakteristinih


parametara a i b u linearnoj transformaciji:
eK (x) = (a x + b ) mod 26
odreene sa relacijama: a = 7 i b = 9, Prema tablici broj 3, slovu S
odgovara numeriki ekvivalent 18, unutar skupa Z26. Stoga je mogue
pisati da je:
y = eK (S) = (a18 + b ) mod 26 = (718 + 9 ) mod 26 = 135 mod26
S obzirom da je 135 5 (mod 26), osnovano je pisati da je: y = eK (S) =
F. Na slian nain se pokaze da je:
y = eK (A) = J; y = eK (R) = Y; y = eK (J) = U; y = eK (E) = L;
y = eK (V) = A; y = eK (O) = H,
odnosno da je ifrat, dobijen kada se na izvorni tekst S A R A J E V O,
primjeni postupak kriptografske supstitucije, zasnovan na linearnoj
transformaciji i kljuu K = ( 7, 9 ), jednak F J Y J U L A H. Provjera
ispravnosti provedenog postupka ifriranja, najlake se ostvaruje
deifriranjem putem relacije:

dK ( eK (x) ) = dK ( ax +b )= a-1 ( ax +b - b ) mod 26 = x


dK ( eK (x) ) = 15 ( 7x +9 - 9 ) mod 26 = x;

za eK (S) = F dK ( (F) ) = 15( 5 - 9 ) = 15(- 4 ) mod 26


(15(- 4 )) mod 26 = (15 (26 4 )) mod 26 = ( 15(22 )) mod 26
(15(- 4 )) mod 26 = 330 mod 26 = 18 mod 26
18 (mod 26) x = S;

Na slian nain se pokazuje i da je za eK (x) = J


dK ( (J) ) = 15( 9 - 9 ) = 15(0) mod 26 = 0;
0 (mod 26) x = A;

Odnosno da je za eK (x) = Y
dK ( (Y) ) = 15( 24 - 9 ) = 15(15) mod 26 = 225 mod 26;
225 17 (mod 26)
17 (mod 26) x = R;

Nadalje je i za eK (x) = U
dK ( (U) ) = 15( 20 - 9 ) = 15(12) mod 26 = 165 mod 26;
180 9 (mod 26)
9 (mod 26) x = J;

Kao i za eK (x) = L
dK ( (L) ) = 15( 11 - 9 ) = 15(2) mod 26 = 30 mod 26;
30 4 (mod 26)
4 (mod 26) x = E;

Slino tome i za eK (x) = A


dK ( (A) ) = 15( 0 - 9 ) = 15(17) mod 26 = 30 mod 26;
255 21 (mod 26)
21 (mod 26) x = V;

Konano za eK (x) = H
dK ( (H) ) = 15( 7 - 9 ) = 15(-2) mod 26 = 15( 26 - 2 ) mod 26 =
dK ( (H) ) = 360 mod 26;
340 14 (mod 26)
14 (mod 26) x = O;
Cezarova i afina ifra, specijalni su sluajevi - primjeri - supstitucijske
ifre, koja je generalno definisana na slijedei nain:
Neka je: M = C = Z26 i neka se prostor kljueva sastoji od svih
permutacija skupa: Z26 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ...23, 24, 25}. Za svaku
permutaciju p definie se:
ep (x) =p ( x ) , odnosno dp (y) = p-1( y )
pri emu je p-1, inverzna permutacija od permutacije p.
S obzirom da je na skupu Zp = Z26 , prema prethodnoj definiciji,
mogue generisati p! = 26! = 4 1026 = 2 62 razliitih kljueva, u tom
sluaju napad na ifrirani tekst, postupkom potpune provale (BruteForce Attack - postupak grube sile potpuna provala), ak i uz
upotrebu raunara je teko ostvarljiv.
Supstitucijske ifre se meutim mogu razotkrivati i znatno
jednostavnije, a to znai i mnogo bre, nego u sluaju kada se koristi
postupak grube sile dakle pretraivanje cijelog prostora kljueva (2 62
razliitih kljueva). Naime dovoljno je odgonetnuti na kojem jeziku se
komunicira, a potom saznati i vlastitu frekventnu raspodjelu simbola u
tom jeziku. Korisno je poznavati i najee bigrame i trigrame tog
jezika, pa je veina posla u deifrovanju uinjena. U engleskom jeziku
najee je slovo e, zatim slijedi slovo t, pa slovo a , kao to je to
prikazano u tabeli broj 4. Tabela broj 4 daje frekvenciju simbola
engleskog jezika u procentima prema radu H. Beker i F. Pajper
Cipher Systems:The Protection of Communication
Tabela broj 4

8.2

1.5

2.8

4.3

13

2.2

2.0

6.1

7.0

0.2

0.8

4.0

2.4

6.7

7.5

1.9

0.1

6.0

6.3

9.1

2.8

1.0

2.4

0.2

2.0

0.1

U engleskom jeziku najei bigrami su: th (3,2%), he (2,5%), an,


in,..
Najei trigrami istog jeziku su: the i and. Na osnovu ove
spoznaje, u nekom ifrovanom tekstu, kojeg se uspjelo samo djelomino
deifrirati, na osnovu Lhe i aPV, ispituje se imali li smisla nastavak
deifrovanja ostvariti uz relacije: LT, Pn, te Vd.
Najei bigram hrvatskoj jezika je je iako j nije meu
najfrekventnijim slovima. Najfrekventniji trigram hrvatskog jezika je
ije (0,6%).
Postoje dokazi, da se je za poboljanje otpornosti na neeljeno
deifrovanje, jo 1401 godine, umjesto obinog supsticijskog ifriranja,
koristilla homofobina supstituciona ifra (homos-isti; fonos-zvuk). Kod
homofobine supstitucione ifre, simbol izvornog teksta se zamjenjuje
sa jednim ili vie simbola ifrata ( mogu biti i preslikavanja slova u
brojeve) da bi se bolje sakrile statistike osobine upotrebljenog jezika.
Poto ni ovaj pristup ne sakriva dovoljno statistike osobine koritenog
jezika, onda se i ovakav pristup relativno lako provaljuje napadom tipa
poznat otvoreni tekst ili pak napadom tipa poznat samo ifrat.
Koliko se pojedinom slovu upotrebljenog alfabeta izvornog teksta, u
smislu njegovog ekvivalenta, treba upravo pridruiti simbola ifrata,
zavisi od primjenjenog algoritma. Algoritam moe biti zasnovan na
statistici frekvencije pojavljivanja odreenog simbola izvornog teksta,
unutar tekstova zasnovanih na matinom alfabetu.
U tom smislu, ako je (prema raspozivoj tabeli broj 4) u engleskom
jeziku slovo a zastupljeno sa udjelom od oko 8%, tada se moe
odabrati opcija da se to slovo u ifratu zamjeni sa jednim slovom, iz
odabrane povorke od 8 simbola, (dakle prvi put u izvornom tekstu
slovo a se zamjenjuje sa prvim simbolom tog oktograma, drugi put sa
slovo a zamjenjuje sa drugim slovom iz istog oktograma i nakon
osmog pojavljivanja i supstitucije slova a osmim slovom predmetnog
oktograma, procedura se ponavlja). Slovo b je zastupljeno sa
udjelom od oko 2%, pa se moe odabrati opcija da se u ifratu b
zamjeni sa jednim slovom, iz odabrane povorke od 2 simbola, pri emu
se pri prvom pojavljivanju slova b koristi za supstituciju prvo slovo

bigrama, a pri drugom pojavljivanju slovob se zamjenjuje sa drugim


slovom bigrama. Odabrani pristup ima za posljedicu da se u ifratu
razbija statistika frekventna zakonomjernost pojavljivanja simbola,
usaglaena sa izvornim alfabetom.
Homofobina ifra je znaajno pouzdanija od obine
supstitucijske ifre, ali i ona nije nesavladiva za sposobne
kriptoanalitiare. To se spoznalo jo u Srednjem vijeku, pa je nakon
vie dobrih rjeenja (poput velike ifre kralja Luja XIV, koja je
generisana u XVII stoljeu, a ipak ostala neprovaljena gotovo dva
vijeka, zatim sistema Crne komore na bekom dvoru u XVIII
stoljeu....), ostvareni uspjeh kriptoanalitiara i tehnoloki napredak u
XIX vijeku (iskazan i praktinom pojavom telegrafa 1839 godine
(Vinston-Kukov sistem, Charles Wheatstone (1802-1875) i potrebom da
se komunikacija putem istog bolje zatiti) natjerao kriptografe da u
praksi masovnije ponu koristiti polialfabetsku Vinerovu ifru
(francuski diplomata Blaise de Vigenere (1523-1596)).
Idejni zaetnik Vinerove ifre bio je talijanski matematiar
Alberti ( Leon Battista Alberti, 1404 - 1472 ) jo u XV vijeku, kada je
predloio da se umjesto uobiajne monoalfabetske supstitucije, koristi
dva ili vie razliitih alfabeta, koje koristimo naizmjenino, ime se
postie da se isto slovo izvornog teksta ne pojavljuje uvijek i kao isto
slovo kriptograma. Sa idejama Albertija i onih koji su ih pokuavali
dalje razraivati (Johan Tritemius, Giovani Porta...) Viner se susreo
oko 1550 godine, tokom diplomatskog rada u Rimu.
Opsjednut kriptografskim tajnama, a materijalno obezbjeen,
napustio je diplomatsku slubu i posvetio se samo kriptografiji. Tvorac
je Vinerovog kvadrata prikazanog u tabeli broj 5, koji se sastoji od
poetnog alfabeta i 26 ifrovanih alfabeta, koji su nastali tako da je
svaki naredni alfabet u stvari rezultat jednog ciklikog pomjeraja u
lijevo nad prethodnim alfabetom (prvi red ispod izvornog alfabeta,
predstavlja praktino alfabet ifrovan Cezarovim konceptom , ali uz
pomjeraj za jedno mjesto u lijevo u odnosu na izvorni alfabet, drugi red
predstavlja alfabet ifrovan Cezarovim konceptom , ali uz pomjeraj za
dva mjesta u lijevo u odnosu na izvorni alfabet,...... i dvadeset esti red
predstavlja alfabet ifrovan Cezarovim konceptom, ali uz pomjeraj od
dvadesetest mjesta u odnosu na izvorni alfabet - to dovodo do njegove
podudarnosti s izvornim alfabetom. U tom kontekstu, ako slovo n
ifrujemo treim redom ono se preslikava u slovoq, ali ako ga
ifrujemo trinaestim redom ono se preslikava u slovo a.
Saglasno Vinerovom algoritmu, pored koritenja Vinerovog
kvadrata, treba uvesti i kljunu rije (ona je ustvari neki vid fiksnog

kljua) recimo Sarajevo, koja odreuje redosljed upotrebe alfabeta


zapisanih u pojedine vrste Vinerovog kvadrata (18, 26, 17, 26, 9, 5, 21,
14). Nije teko uoiti da dui klju ini Vinerov algoritam otpornijim
na napade. Rad pod naslovom Tracite des Chiffres rasprava o
iframa, objavljen 1586 godine, predstavlja ustvari rezime rezultata
njegovog rada.Vinerov algoritam se moe definisati na slijedei nain:

Neka je m fiksan prirodni broj i naka je: M = C = =( Z26)m.


Za klju K = (k1, k2, k3, k4,........ km) definiu se: funkcija enkripcije
eK (x1, x2, x3, x4,...... xm ) i funkcija dekripcije dK (y1, y2,y3, y4,...... ym ), tako
da vai:
eK (x1, x2, x3, x4,...... xm ) = ( x1 +26 k1, x2 +26 k2, x3 +26 k3, ....., xm +26 km)
odnosno
dK (y1, y2,y3, y4,...... ym ) = (y1 -26 k1 , y2 -26 k2 , y3 -26 k1 , ym -26 km )

Nije lako pronai prave razloge, zato su impresivni rezultati


opisanog Vinerovog rada, bili zanemarivani od strane kriptografa
gotovo dva vijeka. Aktuelizacija Vinerovog algoritma za potrebe
telegrafskih
komunikacija,
dodatno
je
motivirala
mnoge
kriptoanalitiare XIX vijeka da joj pokuaju umanjiti znaaj. U tom
smislu prvi globalno vrijedni rezultati vezuju se za arlsa Bebida
(Charles Babbage 1791-1871 , koji je zapamen i kao projektant, prvo
diferencijalnog motora br.1 - fantastinog kalkulatora od 25 000
dijelova, a zatim i diferencijalnog motora br.2 - koji iako nisu nikada
zavreni do kraja, ipak predstavljaju ishodite dananjih digitalnih
raunara) koji je uspjeo da razbije Vinerovu ifru. Rezultate svog rada
on sam nije objavio, tako da su oni postali dostupni naunoj javnosti
tek u prvoj polovini XX vijeka, kada je bilo pojaano zanimanje za
ideje arlsa Bebida, prevashodno u domenu kalkulatora - odnosno
pretaa raunskih maina.
Tabela broj 5 : Prikaz strukture Viznerovog kvadrata

arls Bebid nije se zanimao samo za kriptoanalizu, nego je i sam


pokuavao razvijati nove kriptografske algoritme. Radei timski sa
arlsom Vitstonom (smatra se da je njegov doprinos poligramskim
supstiucionim iframa, koje su kasnije uobliene i publikovane kao
Plejferove ifre, bio najznaajniji, a on je i jedan od kreatora prvog
telegrafa u Evropi, patentiranog jo 1837. godine) i baronom Lajonom
Plejferom osmislili su Plajferovu ifru (Lyon Playfair (1818-1898)).
ifra je objelodanjena 1854. godine, a baron Plejfer ju je popularizirao
u vojnim i dravnim strukturama britanskog kraljevstva, tokom druge
polovine XIX vijeka (bio je zamjenik predsjednika donjeg doma
Parlameta, upravnik nacionalne pote, ...).
Plajferova ifra pripada klasi poligramskih supstitucionih ifri.
Ovom ifrom se parovi simbola izvornog teksta, supstituu parovima
nekih slova, pri emu je procedura zamjene strogo ureena. Prije
koritenja ovakvog postupka ifriranja, poiljalac i primalac se moraju
dogovoriti oko kljua - odnosno kljune rijei.
Neka je kljuna rije M E S U D. Nakon izbora kljune rijei,
njeni simboli se upiu u kvadrat formata 5x5 i to onako, kao to je
uraeno u tabeli broj 6.

Tabela broj 6.

I/J

Neka je izvorni tekst: O d s j e k z a t e l e k o m u n i k a c i j e


, uz pomo Plajferove ifre i odabranog kljua M E S U D, pretvara se u
ifrat u skladu sa sljedeom procedurom:
1.

Izvorni tekst se podijeli u blokove od po dva simbola: OD, SJ, EK,


ZA, TE, LE, KO, MU, NI, KA, CI, JE. Pri tome nijedan blok ne
smije biti sastavljen od dva ista slova. Ako se to pak desi zbog
prirode izvornog teksta, izmeu istih slova treba ubaciti simbol X.
Isti simbol se ubacuje i ako je broj slova izvornog teksta neparan.

2.

Kada se slova odabranog bigrama nalaze u istom redu MU, tada


slovo M zamjenjujemo slovom E (slovo istog reda pomjereno u
tabeli za jednu poziciju u desno), a slovo U slovom D. tabeli broj 6.
Na taj nain se izvorni bigram MU supstituie bigramom ED.
Kada se slova predmetnog bigrama nalaze u istom stupcu JE, tada
se J zamjenjuje sa P, a E sa slovom B. u tabeli broj 6. Saglasno
tome izvorni bigram JE, supstituie se bigramom PB.

3.

4.

Ukoliko se slova predmetnog bigrama nalaze i u razliitim


redovima i u razliitim kolonama, kao to je to sluaj sa OD, tada
se slovo O zamjenjuje sa slovom T, a slovo D sa slovom M, odnosno
OD se preslikava u TM. Slovo T je u istom redu kao i slovo O, ali i
u istoj koloni kao i slovo D. Analogno se nalazi i supstitucija za
slovo D (isti red kao i slovo D, ali i ista kolona kao i slovo O).

Deifrovanje se vri tako to se i ifrovani tekst izdjeli na bigrame,


pa na osnovu ranije dogovorenog kljua, slovo iz bigrama ifrata na
osnovu tabele broj 5 (nju identinu imaju i poiljaoc i primaoc) se
zamjenjuje slovom koje lijevo od njega, ako su slova bigrama iz istog
reda (ED se prevodi kao MU), odnosno PB se prevodi kao JE, ili pak u
sluaju TM, prevod je bigram OD.
Prednosti Plejferove ifre su:

U ifratu se gube jednosimbolski ekvivalenti poput A - to oteava


upotrebu frekventne analize prisutnih simbola;
Bigramsko ifriranje poveava broj bigrama u odnosu na broj
slova, pa je frekvencija bigrama mnogo ujednaenija od frekvencije
slova (broj bigrama na skupu od 26 slova je 676, njihov broj se
odreuje kao broj varijacija druge klase sa ponavljanjem). U
otvorenom tekstu na engleskom jeziku, najfrekventnije slovo E
pojavljuje se frekvencijom 12,7%, a ako se primjeni Plejferova
ifra, ta frekvencija se snizava na oko 7%.

Plejferove ifre su koritene i u Prvom svjetskom ratu (britanska


vojska) i u Drugom svjetskom ratu (amerika vojska), u cilju
podravanja povjerljivosti vojnih i diplomatskih komunikacija.
Kriptoanalizu Plejferove ifre, mogue je nai u djelu: A. Sinkov,
Elementary Cryptanalysis, Mathematical Association of America,
1966. Napad na ovu ifru naee se izvodi tako da se trae
najfrekventniji bigrami ifrata, uz pretpostavku da je to supstitucija za
najee bigrame engleskog jezika: TH; HE; AN; IN; ER; RE; ES;....
Unutar klase poligramskih ifara, Lester Sanders Hill (1890-1861)
je 1929. godine predstavio kriptosistem, kod kojeg se m uzastopnih
slova izvornog teksta, supstituie s m slova ifrata. Stvorivi mogunost
da se blokovi od tri ili vie simbola, poligramskom supstitucijom
ifriraju, Hill je prvi sutinski povezao kriptografiju s linearnom
algebrom (L.S.Hill je doktorirao 1926 godine na Yale University u
oblasti primjenjena matematika). Hillov kriptografski algoritam
definie se na slijedei nain:
Neka je m fiksan prirodni broj i naka je: M = C = ( Z26)m, a prostor
kljueva definisan relacijom:
= { (mxm) invertibilne matrice nad Z26}.
Za klju K definiu se funkcija enkripcije
eK (x ) = x K
i funkcija dekripcije
dK (y ) = y K-1,
pri emu su sve operacije u prstenu ( Z26).
Za klju K definisan gornjom relacijom, blokovi x i y oigledno
su rasporedi od po m elemenata skupa ( Z26 ). Ukoliko broj simbola
izvornog teksta, nije djeljiv s brojem m bez ostatka, tada treba izvorni
tekst nadopuniti (proiriti) sa onoliko simbola x koliko je potrebno da
se ostvari djeljene proirenog izvornog teksta s brojem m bez ostatka.

Pri izboru kljua K, Hill je preporuio da se koriste involutivne matrice


( kod involutivnih matrica vazi relacija: K-1= K, odnosno
K2 = I ).
Takvim izborom se doista olakava postupak ifriranja i deifriranja,
ali se skrauje i vrijeme potrebno kriptoanalitiarima za provoenje
efikasnog napada.

Primjer broj 4
Neka je klju za ifriranje Hillovom ifrom, definisan relacijom:
1

0 0

i neka je izvorni tekst B O S N A.

K = 5 25 0

Odrediti ifrat, a potom provjeriti

0 25

dobijani rezultat, deifriranjem ifrata.

Prvo se provjerava je li zadati klju K, doista definisan


involutivnom matricom. Nakon to se pokae da je K 2 = I, izvorni
tekst se dijeli u blokove od po tri simbola, dakle na BOS NAX. Potom
se trae numeriki ekvivalenti za upotrebljene simbole, prema tabeli
broj 3, pa je u skladu s tim:
B, O, S 1, 14, 18 odnosno N, A, X 13, 0, 23
Za blok izvornog teksta BOS, rauna se homologni blok ifrata,
raunajui da je:
( 1, 14, 18 )K = (71, 70, 450) mod 26 = (19, 18, 8) =
eK (B, O, S ) = x K = ( T, S, I )
Analogno tome, za blok izvornog teksta NAX, rauna se homologni
blok ifrata tako da je:
( 13, 0, 23 )K = (13, 0, 575) mod 26 = (13, 0, 3) =
eK (N, A, X ) = x K = ( N, A, D )
Dakle ifrat je ( T, S, I, N, A, D )
Provjera se sastoji iz dvije etape, pri emu se u
rauna
( 19, 18, 8 )K-1 = (109, 450, 200) mod 26 =
(5, 8, 18) = ( F, I , S )???

prvoj etapi

a u drugoj etapi:
( 13, 0, 3 )K-1 = ( 13, 0, 75) mod 26 =
(13, 0, 23) = ( N, A, X ).
Hillov algoritam ifriranja, za m 3, predstavlja jo bolju
prepreku za frekventnu analizu kriptologa. S obzirom da za blokove
duine m simbola, na skupu
( Z26 ) , postoji tano (26)m razliitih
blokova. Ve pri
m = 3 postoji 17 576 razliitih trigrama, pa je
prethodna konstatacija u vezi kriptolokog napada, kada kriptolog
posjeduje samo ifrat, sasvim jasna.
Razmatrani algoritam se relativno lako kompromituje napadom
tipa poznat izvorni tekst, a pogotovu pomou napada odabrani
izvorni tekst. Naime ti napadi su povezani sa rjeavanjem matrine:
Y=XK
u kojoj je nepoznata veliina kvadratna matrica K odnosno klju
algoritma. Ukoliko je poznati izvorni tekst struktuiran tako da postoji
X-1, tada je:
K = X-1 Y
Ako to nije sluaj, treba traziti izvorni tekst kod kojeg uz X postoji
i X .
-1

Tokom napada odabrani izvorni tekst, kriptoanalitiar upravo


tako bira izvorni tekst, da je uslov, uz X postoji i X-1 , ispunjen.

2.1.2 Algoritmi bazirani na transpozicijskim iframa


Algoritmi bazirani na transpozicijskim iframa (Transposition
Cipher), ifriranje provode tako to stvaraju pomjeraj simbola
izvornog teksta. Ako je taj pomjeraj stohastian, onda je kriptolog na
velikim problemima, to znai da je poiljaoc vrlo pouzdano poslao
poruku. Ali iskazana stohastinost nije samo problem za kriptologa,
nego i za primaoca.
Dakle primjenjeni postupak poiljaoca je pouzdan, ali i
neefikasan. U tom kontekstu, prirodno je zakljuiti da se pomjeranje
simbola izvornog teksta mora obavljati na nain koji je poznat i
poiljaocu i primaocu.

Spartanski skital je jedan od prvih primjera transpozicijske ifre.


Kriptografski algoritam transpozicije moe se definisati na slijedei
nain:
Neka je m fiksan prirodni broj i naka je:
M = C = ( Z26)m,
a prostor kljueva sastoji se od svih permutacija skupa {1, 2, 3, 4,
...,m}. Za neku permutaciju ( ) definie se funkcija enkripcije i
dekripcije na slijedei nain:
e (x1, x2, x3, x4,... xm) = (x (1), x (2),, x (3),, x (4),,... x (m) )
d(y1, y2,y3, y4,...... ym) = (y -1(1), y -1(2),, y -1(3),,...... y -1(m))
U skladu sa upotrebljenim simbolima, za odabranu permutaciju (),
( ) predstavlja inverznu permutaciju koja omoguava vraanje u
poetno stanje.
- -1

Primjer broj 5
Izvorni tekst E L E K T R O T E H N I C K I F A K U L T E T
ifrirati kolonskim transpozicijskim algoritmom, ukoliko je dogovoreni
klju
( 4 3 1 2 5 6 ).
S obzirom da klju ima 6 brojeva, kolone e sadravati po 4 slova,
a nedostajue slovo e se nadopuniti slovom x.
4 3 1 2 5 6
ELEKTR
OTEHNI
CKI FAK
ULTETX
ifrat je EEIT KHFE LTKL EOCU TNAT RIKX.
Prepoznavanje transpozicijske ifre je olakano, jer je frekvencija
pojavljivanja simbola u koritenom jeziku zadrana. Kriptoanaliza
kolonske transpozicije zapoinje traganjem za podatkom o
dimenzijama pravougaonika, koje nam daju prvu informaciju o kljuu.
U
tom
smislu
mogue
dimenzije
ifrata:
EEITKHFELTKLEOCUTNATRIKX su:
12 x 2; 6 x 4; 4 x 6; 2 x 12.

Mali broj kolona nije vjerovatan, jer se onda te kolone izreu u


trake i samo prostorno pomjeraju, dok ne dobijemo smislen sadraj.
Potom se u moguim varijantama pravougaonika utvruje odnos
samoglasnika i suglasnika i favorizuje pravougaonik u kojem je odnos
samoglasnika i suglasnika blizak odnosu koji je karakteristian za taj
jezik.
Njemaka ifra ADFGVX, koritena za vrijeme Prvog svjetskog
rata, je kombinovala transpozicione i supstitucione metode u jedinstven
sistem. Ipak francuski kriptoanalitiar or Penvan (Georges Painvin)
je uspjeo da vrlo brzo provali ovu ifru i obezbjedi Francuzoma
znaajnu pobjedu nad Nijemcima na kraju Prvog svjetskog rata.

2.2 Rezime simetrinog kriptografskog algoritma DES

DES (Data Encryption Standard) je 23.11.1976. godine prihvaen kao


savezni standard za sigurnosnu zatitu podataka u USA. Njegov idejni tvorac
je Horst Fejstel (Horst Feistel njemaki emigrant, doao u USA 1934. godine,
(1915-1990)), koji je dugo radio na problematici ifriranja i deifriranja u
Vazduhoplovstvu USA.
Nezadovoljan zbog blokiranja njegovih samostalnih istrazivanja u ovoj
oblasti, u Vazduhoplovstvu USA, prelazi raditi u laboratorije Tomas Dz.
Watson IBM, gdje dizajnira algoritam Lucifer. Taj algoritam e uskoro
postati i baza algoritma DES.
NBS (National Bureau of Standards) je na javnom konkursu,
raspisanom 1973. godine, trazio da ponuena rjeenja za novi kriptosistem
moraju ispunjavati i slijedee uslove:
1.
2.
3.
4.
5.
6.
7.

Visok nivo sigurnosti, koji proizilazi iz kljua, a ne iz tajnosti


algoritma.
Efikasnost
Punu javnost i definisanost algoritma, koji treba biti i lako razumljiv.
Racionalnost algoritma pri njegovoj implementaciji na raunarsku
infrastrukturu.
Dostupnost svim potencijalnim korisnicama.
Algoritam mora biti provjerljiv
Mogunost izvoza i u podruja van USA.

U prvoj iteraciji konkursa nijedan prijedlog nije ispunio sve pobrojane


uslove. Tek na ponovljenom konkursu 1974. godine algoritam razvijen
unutar IBM, zasnovan na algoritmu Luciferu.
Nakon korekcija (izmjena) u prvobitnoj verziji IBM - ovog algoritma,
(ona se je u poetku bazirala na 112 bitnom kljuu), na kojim je insistirala
NSA (National Security Agancy), ovaj algoritam je 1976. godine promoviran
kao nacinalni standard za zatitu podataka. DES je prema svojoj strukturi:
1.
2.

3.

Simetrian algoritam (isti klju se koristi i za ifriranje i za


deifriranje).
Blokovski orjentisan algoritam (izvorni tekst se transformie u
binarnu formu, a potom dijeli u blokove, koji se zatim ifriraju blok po
blok, uz upotrebu kljua).
Algoritam koji je zasnovan na Feistelovoj mrezi (Feistel Network),
koja je sadrzana i u izvornom konceptu algoritma Lucifer.

NSA se zalagala da se broj moguih kljueva ogranii na 1017 odnosno na


256, smatrajui da je takav nivo sigurnosti primjeren civlnim potrebama (u
civilnom sektoru tog doba, niko nije imao tako monu raunarsku
infrastrukturu, koja bi mogla pretraziti tako ureen prostor kljueva. NSA
je s druge strane ve tada imala raunare sposobne da pretraze i prostor
kljueva reda 256).

Slika broj 2.2.1 Blok ema algoritma DES

Slika broj 2.2.2 Jedna runda unutar algoritma DES


U skladu sa slikama: broj 2.2.1 i broj 2.2.2, nakon to se izvorni tekst
prevede u binarnu formu, slijedi njegova podjela na 64 bitne blokove.
Svaki 64 bitni blok, prvo se podvrgne poetnoj permutaciji IP (Initial
Permutation). Poetna permutacija i odgovarajua zavrna permutacija,
prema provedenim analizama, ne doprinose znaajnije poveanju
bezbjednosti algoritma. One mnogo vie imaju za cilj da olakaju proceduru
unoenja izvornog teksta i ifrata u DES ipove, i to u djelovima veliine byta
(treba imati na umu da je DES nastajao u doba 8-bitnih mikroprocesorskih
magistrala, te da softverski nije lako izvriti permutovanje bit po bit).
U slijedeem koraku, tako izmjeani biti, upravo obraivanog 64 bitnog
bloka, djele se u dva polubloka od po 32 bita lijevi polublok L0 i desni
polublok R0. Biti sadrzani u desnom polubloku, prolaze kroz dodatnu
funkcionalnu obradu, zajedno s kljuem algoritma. Taj proces se esto u
literaturi terminoloki naziva centrifuga. U centrifugi se dakle uvodi u
dejstvo odnosno aktivira i zadati klju algoritma.
Nakon to se provede njegova kompresija na 56 bita (izostavljanje po
jednog bita unutar byta, stvara prostor za uvoenje bitova provjere parnosti,
koji treba da stvore mogunost provjere je li u kljuu napravljena mozda
nezeljena greka) slijedi i permutacija PC-1, tih 56 bita po ranije propisanom
pravilu. Poslije toga se obavlja i translacija tih 56 bita i to tako da se vri
cikliki pomjeraj u lijevo, za jedno ili dva mjesta, ovisno u kojoj rundi se taj
postpak provodi.
Dobijenih 56 bita se zatim ponovo reducira komprimira, pomou
permutacije PC-2, na 48 bita, po sistemu PC-2, definisanom u algoritmu.
Tada praktino nastaje podklju prve (jedne) runde. Ovim potezom se
mijenja i redosljed bita, a i bira podskup bita, zbog ega se spomenuti
postupak esto u kriptografiji oznaava kao permutacija kompresije
(Compression Permutation). S obzirom da se u svakoj rundi provodi i
translacija unutar kljua za jedno ili dva mjesta, to se unutar 16 subkljueva,
to se pridruzuju svakoj od provedenih rundi, pojedini biti iz polazne verzije
56 bitnog kljua pojavljuju bar 14 puta (od 16 teoretski moguih
pojavljivanja).
Prema slici broj 2.2.2 subklju tekue runde, treba XOR operacijom
povezati s polublokom R0 . Ovaj polublok se stoga prvo proiruje sa 32 bita

na 48 bita, pomou permutacije proirenja (Expansion Permutation). Nakon


ovog poteza postoje i biti koji utiu na dvije supstitucije - ime se zavisnost
izlaznih bita od ulaznih bita brze iri (u kriptografiji je to poznato kao efekat
lavine - Avalanche Effect, a treba imati u vidu i da je DES projektovan s
namjeraom da se to prije postigne stanje u kojem svaki bit ifrata zavisi od
svakog bita izvornog teksta i svakog bita kljua).
Nakon provoenja XOR operacije, nad dva 48 bitna bloka, formira se 8
estobitnih grupa, koje se potom filtriraju kroz 8 S-kutija. S kutije se
smatraju najvrijednijim dijelom DES algoritma. One imaju formalni
zadatak da transformiu 8 estobitnih rasporeda u 8 etverobitnih rasporeda,
Tih 8 etverobitnih rasporeda predstavljaju novi 32 blok, koji se ponovo
permutuje permutacijom P (permutacija P se naziva prava permutacija Straight Permutation), Tako se dobija funkcija f (R0, K1), koja se potom
putem XOR operacije, obrauje sa polublokom L0. Rezultat te operacije je
opet 32 bitni blok, ali koji se sada proglaava i za novu verziju desnog
polubloka R1. Nova verzija lijevog bloka L1 izvodi se na osnovu relacije R0 =
L1 .
S obzirom da se oko dizajna S kutija mnogo pekuliralo, nakon to je
postupak diferencijalne kriptoanalize 1990. godine javnosti otkrio dio tajni
ovog dizajna, IBM je objavio osnovne kriterijume za prijektovanje S kutija.
1.

Svaka S- kutija ima 6 ulaznih bitova i i 4 izlazna bita (to je najvie to


se moglo postii na jednom ipu s tehnologijom 1974. godine).

2.

Nijedan izlazni bit S-kutije ne treba da bude previe blizu linearnoj


funkciji ulaznih bitova.

3.

Ako fiksirate krajnji lijevi bit i krajnji desni bit S kutije i mijenjate
preostala etiri unutranja bita, svaki mogui 4-bitni izlaz dobije se
tano jednom.

4.

Ako se dva ulaza S-kutije razlikuju u tano jednom bitu, izlazi se


moraju razlikovati u najmanje dva bita.

5.

Ako se dva ulaza S-kutije razlikuju u tano dva srednja bita, izlazi se
moraju razlikovati u najmanje dva bita.

6.

Ako se dva ulaza S-kutije razlikuju u prva dva bita, a posljednja dva
bita su identini, izlazi ne smiju biti isti.

7.

Za bilo koju 6-bitnu razliku izmeu ulaza, koja nije jednaka nuli,
najvie 8 od 32 para ulaza s tom razlikom mogu da prpizvedu istu
razliku ulaza.

8.

Kriterijum slian prethodnom, ali za sluaj tri aktivne S-kutije.

Izlazi iz osam S kutija, dakle onih 8 etverobitnih rasporeda, kao to je


ve ranije konstatovano, ponovo se permutuje putem prave permutacije, ili
zavrne permutacije P (Straight Permutation), za koju je karakteristino da
se nijedan bit ne koristi dvaputa i nijedan bit se ne zanemaruje.
Slino kriterijumima za dizajn S kutija, objavljeni su i ogranienja, koja
su potovana tokom provoenja zavrne permutacije P.
1.

etiri izlazna bita iz svake S kutije, utjeu, odnosno ine ulazne


podatke na est razliitih S kutija u iduoj rundi, a nikoja dva ne utiu
na istu kutiju.

2.

etiri izlazna bita iz svake kutije u i-toj rundi, su tako distribuirni da


dva od njih utiu na sredinje bitove u (i+1)-voj rundi, a dva na krajnje
bitove (dva najljevija i dva najdesnija, od est bitova u ulaznom
podatku).

3.

Za dvije S-kutije Sj i Sk vrijedi slijedea zakonitost: ako neki izlazni


bit od Sj utie na neki sredinji bit od Sk u narednoj rundi, onda niti
jedan izlazni bit od Sk ne utie na sredinje bitove od Sj . Za Sj = Sk
proizilazi da izlazni bitovi od Sj ne utiu na sredinje bitove od Sj.

U literaturi je dosta analizirana i problematika slabih kljueva u


algoritmu DES.
a)

Izrazito slabi kljuevi su u prvom redu kljuevi kod kojih se


ispostavlja da su subkljuevi rundi meusobno jednaki, dakle vazi
relacija: K1 = K2 = K3 = K4 = K5 = =K16 . Postupak ifriranja i
deifriranja su onda identini, odnosno vazi da je:
eK (eK(x)) = x

Zbog ovakve osobine 232 izvornih tekstova nakon


mijenja. Postoje tano 4 slaba kljua algoritma DES. To su
kojih se u rasporedu C0D0 lijeva i desna polovica, dakle
formiraju, ili od samih nula, ili od samih jedinica. UU
notaciji ti kljuevi su:
1.

0101010101010101

2.

1F1F1F1F1F1F1F1F

3.

E0E0 E0E0 E0E0 E0E0

4.

FEFE FEFE FEFE FEFE

b)

ifriranja se ne
oni kljuevi, kod
C0, odnosno D0,
heksadecimalnoj

Djelimino slabi kljuevi su oni kljuevi koji tokom 16 rundi generiu


praktino samo dva razliita subkljua, pri emu se svaki od njih
koristi tokom 8 rundi. Kaze se da par kljueva (Kj, Kl) predstavlja par

djelimino slabih DES kljueva, ako je rezultat kompozicije dva DES


algoritma provedena s kljuevima Kj i Kl nita drugo nego izvorni
tekst. ifrovanje sjednim od njih je isto kao i deifrovanje s drugim od
njih. Postoji est parova djelimino slabih kljueva, a jedan od njih je
par:
01FE01FE01FE01FE i FE01 FE01 FE01 FE01 FE01
c)

Potencijalno slabi kljuevi su oni kljuevi koji imaju takvu simbolsku


strukturu da generiu samo 4 razliita subkljua tokom 16 rundi.
Ovakvih kljueva ima tano 48.

Iz prethodno navedenog pregleda, proizilazi da treba izbjegavati 64


kljua (4+6+6+48=64) koji su specificirani u takama od a) do c).
Zato algoritam DES ima ba 16 rundi? Istrazivanja motivisana ovim
pitanjem, pokazala su da nakon pet rundi svaki bit ifrata postaje funkcija
svakog bita izvornog teksta i svakog bita kljua (C. H. Meyer,
Cyphertext/Plaintext and Cyphertext/Key Dependencies vs Number of
Rounds for Data Encyption Standard, AFIS Conference Proceedings, 47,
1978. pp. 1119-1126). Poslije osam rundi ifrat je sluajna funkcija svakog
bita izvornog teksta i svakog bita kljua (A. G. Konheim, Cryptography: A
Primer, New York:John Wiley & Sons., 1981.). Bihamova i Shamirova
diferencijalna kriptoanaliza (1990. godine) je objasnila da DES sa manje od
16 rundi, moze biti kompromitovan napadom tipa Poznat izvorni tekst,
efikasnije nego metodom Napad grubom silom. Da li su tvorci DES-a znali
i za elemente diferencijalne kriptoanalize?
Usvajanjem DES-a rijeen je problem standardizacije, to je ohrabrilo
poslovni svijet da svoje sluzbene komunikacije zatiti ifriranjem pomou
DES-a. Ali tada se pojavio problem sigurne distribucije kljua, to dobro
odslikava recimo komunikacija klijent-banka. Banke su u poetku to
rjeavale slanjem kljua po povjerljivom glasniku, ali takav pristup ima niz
slabosti posebno iskazan sa porastom broja klijenata (usporenost transporta,
trokovi distribucije rastu....).
Za fiksni klju K pomou DES-a definisana je jedna permutacija skupa
{0,1}64, odnosno 256 permutacija dobijenih pomou DES-a je podskup grupe
svih permutacija skupa {0,1}64, iji je red (264)!. Postavlja se pitanje je li DES
(odnosno skup svih ovih permutacija) podgrupa ove grupe. Odgovor je nije,
jer skup svih DES permutacija nije zatvoren, jer je pokazano da je red ove
pogrupe generirane svim DES permutacijama vei od 22499. Na osnovu ove
injenice zakljueno je da se viestrukom upotrebom DES-a moze poveati
nivo njegove sigurnosti. Posebno je popularan trostruki DES, koji ima tri
koraka obinog DES-a, ali svaki put sa razliitim kljuevima.

y = eM(dL(eK(x))),

x = dK(eL(dM(y)))

Klju kod trostrukog DES-a je duzine 168 bita. Pri verziji u kojoj je M =
K duzina kljua je 112 bita. Dvostruki DES ima izrazene slabosti pri napadu
tipa susret u sredini (Meet-in-the- Middle, opisao ga je Diffie ve 1977.
godine), kada pokazuje samo neznatno bolje karakteristike od obinog DESa.

2.3 Rezime simetrinog kriptografskog algoritma IDEA

IDEA (International Data Encryption Algorithm) je algoritam razvijen


1992. godine, na ETH Zurich, od strane Xuejie Lai i James Massey. Ovaj
algoritam koristi 128 bitni klju za ifriranje 64-bitnih blokova izvornog
teksta. Sam algoritam, u svom toku, sadrzi tri osnovne operacije:
1.

XOR operaciju, formalna oznaka O.

2.

Sabiranje po modulu 216 ,

3.

Mnozenje po modulu (216 +1), formalna oznaka o.

Mnozenje po modulu (216 +1), u algoritmu IDEA ima slinu ulogu, ulozi
S kutija u algoritmu DES.
Modul (216 +1), je odabran zbog
efikasnije implementacije modularnog mnozenja. Pobrojane tri operacije su
inkopatibilne u smislu da nikada dvije od njih ne udovoljavaju zakone
asocijativnosti i distributivnosti. IDEA ima osam rundi i zavrnu
transformaciju. U tih osam rundi koriste se 52, 16-bitna subukljua ((K1(r),
K2(r),... K6(r)) tokom osam rundi ( r= 1,2,..,8) i etiri subkljua (K1(9), K2(9),
K3(9), K4(9)) za zavrnu transformaciju) koji se generiraju na osnovu polaznog
128 bitnog kljua. U prvoj iteraciji se pravi 6 16- bitnih subkljueva ((K1(1),
K2(1),... K6(1)) i prva dva subkljua druge iteracije ((K1(2), K2(2)). Potom se
bitovi polaznog 128 bitnog kljua K pomjeraju za 25 mjesta ulijevo, ime se
pravi novi 128 bitni raspored kao osnova za preostala etiri kljua druge
iteracije ((K3(2), K4(2), K5(2), K6(2)) i prva etiri kljua tree runde ((K1(3), K2(3),
K3(3),K4(3)).
Izvorni tekst se prikazuje u obliku X = (X1, X2, X3, X4) pri emu su Xi 16
bitni podblokovi. Na slici broj 2.3.1 prikazan je blok dijagram algoritma
IDEA.

Slika broj 2.3.1 Blok dijagram algoritma IDEA.


Prema gornjem blok dijagraku, osnovni koraci u algoritmu IDEA su:
1.

Pomnozi X1 i prvi subklju K1(1) , po modulu (216 +1) .

2.

Saberi X2 i drugi subklju K2(1) , po modulu (216).

3.

Saberi X3 i trei subklju K3(1) , po modulu (216).

4.

Pomnozi X4 i etvrti subklju K4(1) , po modulu (216 +1).

5.

Primjeni XOR operaciju na rezultate koraka (1) i (3).

6.

Primjeni XOR operaciju na rezultate koraka (2) i (4).

7.

Pomnozi rezultate koraka (5) i peti subklju K5(1) , po modulu (216 +1).

8.

Saberi rezultate koraka (6) i koraka (7) , po modulu (216)

9.

Pomnozi rezultate koraka (8), sa estim subkljuem K6(1) , po modulu


(216 +1).

10.

Saberi rezultate koraka (7) i koraka (9) , po modulu (216)

11.

Primjeni XOR operaciju na rezultate koraka (1) i (9).

12.

Primjeni XOR operaciju na rezultate koraka (3) i (9).

13.

Primjeni XOR operaciju na rezultate koraka (2) i (10).

14.

Primjeni XOR operaciju na rezultate koraka (4) i (10).

Izlaz tekue runde su uvijek etiri podbloka, koji su rezultati koraka


broj (11), (12), (13) i (14). Nakon toga, treba jo da meusobno zamjene i
vlastita mjesta, dva unutranja bloka (ovo se ne radi , jedino u posljednjoj
rundi), te da se dobije ulaz za slijedeu rundu (64 bita).
Algoritam IDEA, za razliku od algoritma DES nastao je iskljuivo u
akademskom ambijentu (dakle bez uplitanja institucija tipa NSA), pa su
sumnje u postojanje zadnjih vrata (Backdoor) znatno manje. IDEA je i
patentirana, vlasnik njenog patenta je firma Ascom - Tech AG Switzerland.
Za njenu komercijalnu upotrebu treba stoga pribaviti i odgovarajuu
licencu. Ipak za nekomercijalnu upotrebu, licenca jo uvijek nije potrebna.
Algoritam IDEA je efikasan i na 16 - bitnim procesorima. Softverska
realizacija algoritma IDEA, ve u startu svoje implementacije, pokazala je da
je dva puta brza od softverske realizacije algoritma DES.
Ovaj algoritam, koristi se recimo i kod PGP paketa, kao jedno od
moguih rijeenja za simetrinu enkripciju. (Pretty Good Privacy Philip R.
Zimmermann (Philip R. "Phil" Zimmermann Jr. Algoritam IDEA pokazao
se otpornim, i na linearnu kriptoanalizu i na difrencijalnu kriptoanalizu.
Kako je prostor kljueva koje treba testirati tokom napada metodom
potpunog pretrazivanja, reda 2128, to se ovaj algoritam smatra zasada
neranjivim.
Slino kao i u algoritmu DES i kod algoritma IDEa postoje slabi
kljuevi. Sve kljueve iz familije kljueva:
0000, 0000, 0x00, 0000, 0000, 000x, xxxx, x000,
pri emu je x bilo koji heksadecimalni broj, mogue je kompromitovati, po
skraenom postupku, putem napada tipa Poznat otvoreni tekst.

2.4 Rezime simetrinog kriptografskog algoritma AES

National Institute of Standards and Technology (NIST), 1997 . godine je


objavio meunarodni konkurs za kriptosistem, koji je planiran da u 21.
stoljeu postepeno supstituira algoritam DES.

Na predmetnom konkursu tada su definisani i opti uslovi, koje treba


da ispunjava svaki prijavljeni algoritam:
1.

Mora biti iz klase simetrinih algoritama

2.

Mora biti blokovski organizovan

3.

Algoritamske operacije treba provoditi nad 128 bitnim blokovima


izvornog teksta, uz pomo kljua duzine 128 ((192) ili (256)) bita, pri
emu su kljuevi dizajnirani tako da ne postoje slabi kljuevi.

Predmetni meunarodni konkurs, zakljuen 15.06.1998. godine,


pokazao je da je od 21 pristigle prijave, njih 15 zadovoljilo opte uslove.
Konano 02.08.2000. godine objavljeno je: na raspisanom konkursu,
pobjednik je algoritam RIJDAEL (rejn dol), iji su autori belgijski
kriptografi Joan Daemen i Vincent Rijmen (Katholieke Universiteit Leuven).
Danas se ovom algoritmu u strunim i naunim krugovima sve ee
pridruzuje naziv AES (Advenced Encryption Standard).
Prije opisa samog dizajnerskog rjeenja AES-a, korisno je navesti
osnovne motive koji su doveli do raspisivanje konkursa iji je rezultat AES.
1.

U standardu DES je utvreno da e on biti provjeravan i eventualno


ponovo certificiran svakih pet godina. Provjera provedena 1983. godine
omoguila je njegovu novu sertifikaciju bez ikakvih ogranienja.
Meutim tokom provjere provedene 1988. godine uz NBS se ukljuila i
NSA, koja je uz to imala i snagu veta na miljenje NBS (u to doba
predsjednik SAD-a je bio R. Regan). NBS u poetku nije namjeravala
dati saglasnost za ponovno sertificiranje DES-a. Razlozi nisu bili u tom
to je DES bio kompromitovan, ve u injenici da se on toliko proirio u
uslovima brze tehnoloke revolucije ICT sektora, da je postalo pitanje
dana kada e se DES kompromitirati. Ipak nakon velikog pritiska
poslovnih krugova i javnosti DES je ponovo sertificiran kao standard
amerike administracije s rokom vazenja do 1992. godine. Potom je
uslijedila javna debata da li produzavati sertifikaciju DES-a?
Po njenom okonanju DES je jo jednom sertificiran, za period od pet
narednih godina uz napomenu da u tom razdoblju treba napraviti
strategiju za prelazak na novi kriptografski algoritam.

2.

U periodu (1992.-1997.) pravile su se mnoge analize i nudile mogue


alternative za DES. Jedna od njih je bila i dvostruki, odnosno trostruki
DES. Ideja o dvostrukom DES-u je odbaena, jer zahtjeva mnogo veu
raunarsku kompleksnost od obinog DES-a, a dobitak u smislu
podizanja nivoa sigurnosti je umjesto oekivanog nivoa 2128, u nekim
sluajevima sveden samo na 257 (napad tipa susret u sredini - Meet-

in-the-Middle Attack, samo zahtjeva koritenje vie memorije da bi se


skratilo vrijeme napada).
Trostruki DES se pokazao imun na slabosti koje je iskazao dvostruki
DES, ali je pokazao i odreene vlstite nedostatke: softverske
implementacije 3DES-a su prespore; u tom algoritmu postoji 48 rundi,
da bi se ostvarila sigurnost za koju su dovoljne vjerovatno 32 runde; 64
bitni blokovi nisu vie optimalna veliina za mnoge primjene.
3.

Navedene slabosti algoritma 3 DES su osnovni uzroci zato se on nije


naao na poziciji koju danas zauzima AES.

Dok je veina algoritama kandidiranih na konkursu, iji je pobjednik


bio AES imala u sebi na odreen nain ukljuenu i mrezu Feistela, odnosno
runde bazirane na takvoj mrezi, AES je bio posve drugaiji. U AES-u unutar
jedne runde postoje tri takozvana sloja:

Linearni difuzioni sloj (Linear Mixing Layer), koji obezbjeuje


veliku difuziju bitova nakon nekoliko rundi (realizuje se putem
operacija: ShiftRow i MixColumn),

Nelinearni sloj (Non-linear Layer), koji se provodi pomou upotrebe


supstitucijskih kutija, optimiziranih za najgori mogui sluaj (operacija
ByteSub),

Sloj dodavanja kljua (Key Addition Layer), tokom kojeg se


realizuje operacija ekskluzivno ili nad potkljuem runde s trenutnim
stanjem bloka (operacija AddRoundKey).

Prilikom projektovanja pobrojanih slojeva posebno se vodilo rauna o


njihovoj otpornosti na linearnu i diferencijalnu kriptoanalizu, brzini i
kompaktnosti koda za irok spektar hardverskih i softverskih platformi, te o
dizajnerskoj jednostavnosti (negativna iskustva sa algoritmom IDEA).

2.4.1 Matematska osnova kriptografskog algoritma AES

Za razliku od mnogih ranijih rjeenja AES je svoju matematiku


podlogu naao u Teoriji konanih polja polja Galois. Pri tome je odabrano
polje GF(28). Svi okteti algoritma AES interpretiraju se preko bitova b7, b6,
b5, b4, b3, b2, b1, b0, koji dakle mogu uzimati, ili vrijednost 0, ili vrijednost 1.
esto se kaze da su bi GF(2) , ili pak da je bi {0,1}. Koristi se i
polinomijalna notacija:
b7X7 +b6 X6 + b5 X5+ b4X4+ b3X3 +b2 X2 + b1 X + b0

Sa stanovita sabiranja ispunjeni su svi uslovi da bi imali Abelovu


grupu u odnosu na operaciju sabiranje (potpunost, neutralni element 0x00,
inverzni element, i komutativnost. Da bi se obezbjedila zatvorenost nad
elementima polja GF(28) i tokom provoenja operacije mnozenja nad
elementima tog polja, za redukciju se koristi polinom: m(x) = X8 + X4 + X3 +
X + 1 , pri emu se namee uslov da postoji i bar neki element GF(28),
takav da je: m() = 0. Mnozenje definisano na prethodni nain je asocijativno
i ima neutralni element 0x001
Svakom nenultom elementu b GF(28), iskazanom u polinomijalnom
obliku sa b(x), mogue je odrediti inverzni polinom b-1(x), takav da je:
a(x)b(x) mod m(x) = 1, pri emu je a(x) = b-1(x)
AES je predvidjeo da se koriste i operacije nad polinomima manjeg
stepena od etiri, dakle nad polinomima oblika:
c3X3 +c2 X2 + c1 X + c0
ali kod takvih polinoma koeficijenti ci , nisu vie elementi skupa GF(2), nego
su elementi skupa GF(28). Zato se kaze da su takvi polinomi odreeni
etverobajtnim vektorom, odnosno kao 32 bitna rje. Sabiranje takvih
vektora vri se putem sabiranja po modelu ekskluzivnog ILI odgovarajuih
(homolognih) koeficijenata polinoma koji se sabiru. Da bi se pri mnozenju
takvih polinoma, dobio ponovo strukturno analogan polinom stepena manjeg
od etiri, za redukciju dobijenog rezultata stepena etiri, ili veeg od etiri,
koristi se polinom p(x) , pri emu je : p(x) = X4 + 1, uz uslov p() = 0,
GF(28).
Primjer Pomnoziti dva polinoma treeg stepena a(x) i c(x), iji su koeficijenti
iz skupa GF(28), pa dobijeni rezultat ponovo svesti na polinom treeg stepena
d(x), koristei za redukciju polinom ( X4 + 1) .
d(x) = (a(x) c(x)) mod (x4+1) = d3X3 +d2 X2 + d1 X + d0

d0 = ( a0 b0 ) + ( a3 b1 ) + ( a2 b2 ) + ( a1 b3)

d1 = ( a1 b0 ) + ( a0 b1 ) + ( a0 b2 ) + ( a3 b3)

d2 = ( a2 b0 ) + ( a1 b1 ) + ( a0 b2 ) + ( a3 b3)

d3 = ( a3 b0 ) + ( a2 b1 ) + ( a1 b2 ) + ( a0 b3)

Treba naglasiti da se svi proizvodi oblika (ai bj ) formiraju u skladu s


pravilima mnozenja po mod (x4+1) .

2.4.2 Postupak ifriranja u kriptografskom algoritmu AES

Stanje bloka (State Block) predstavlja trenutno stanje ifrovanog bloka


podataka. Ako se iskaze u matrinoj formi onda se ta matrica proglaava za
matricu stanja. Blok izvornog teksta od 192 bita se moze iskazati i
pravougaonom matricom formata 6x4, kod koje su matrini elementi bajtovi,
odnosno osmobitni rasporedi ili okteti. Po AES standardu blok izvornog
teksta je uvijek duzine 128 bita.
U tabeli broj 2.4.1 prikazan je takav matrini prikaz. Okteti izvornog
teksta se upisuju u prikazanu matricu po kolonama, dakle: s0,0 , s1,0 , s2,0 , s3,0 ,
s0,1 s1,1 , s2,1, s3,1, ..... s0,5 , s1,5 , s2,5 , s3,5. Broj redova u matrici stanja je fiksan i
iznosi etiri, dok broj kolona zavisi od veliine bloka (broj kolona moze biti
etiri (128 bitni blok), est (192 bitni blok) ili pak osam (256 bitni blok).
Tabela broj 2.4.1 Matrica stanja za 192 bitni blok

Slino matrici stanja i klju algoritma AES, smjeta se u matricu


formata 4x4 (128 bitni klju), odnosno 4x6 (192 bitni klju), ili pak 4x8 (256
bitni klju). Elementi matrice kljua su takoer okteti, odnosno osmobitni
rasporedi, a elementi kljua se takoe upisuju po kolonama pridruzene
matrice.
Broj rundi (ciklusa) algoritma odreuje se u skladu sa utvrenim
veliinama bloka izvornog teksta i odabranog kljua. Unutar runde veliina
bloka izvornog teksta mora biti usaglaena sa veliinom kljua runde.
Zakonitost koja se uvazava tokom tog izbora definisana je tabelom 2.4.3
Tabela broj 2.4.2 Tabela kljua za sluaj kada je odabran 128 bitni
klju

Tabela broj 4.2.3

Broj rundi u funkciji veliine bloka stanja Nb i


veliine odabranog kljua Nk

Postupak ifrovanja poinje tako to se izvorni tekst preslikava u


matricu stanja. Prije prve runde vri se inicijalno dodavanje kljua
(operacija AddRoundKey), odnosno sabiranje matrice stanja i matrice kljua
(operacija ekskluzivno ili ). Prva runda, kao i preostalih osam, deset ili pak
dvanest rundi (broj rundi zavisi od veliine bloka i veliine odabranog kljua,
to je iskazano putem tabele 4.2.3) strukturne su identino. jer sadrze etiri
transformacije nad oktetima. U posljednjoj rundi uoava se razlika jer se u
njoj izostavlja transformacija MixColumn.

Prva transformacija Sub Byte podrazumjeva zamjenu okteta na


osnovu tabele supstitucije. Ovo je jedina nelinearna transformacija.
Svaki element matrice stanja prvo se zamjenjuje s njemu
odgovarajuim multiplikativnim inverzom iz polja GF(28) (polinom
b(x) supstitira se s polinomom b-1(x)). Element 0x00 ostaje
nepromjenjen. U drugom djelu ove transformacije nad bitovima
matrice stanja, odnosno nad njenim svakim elementom
b=(b1b2b3b4b5b6b7b8) primjenjuje se fiksna afina transformacija oblika:
(bi) = bi + b (i+4)mod 8 + b (i+5)mod 8 + b (i+6)mod 8 + b (i+7)mod 8 + ci
(i= 1,2,3...8), ci = 01100011
Ova operacija se moze prikazati pomou S kutije algoritma AES. Svaki
element AES bloka zapie se heksadecimalno. Prvom broju u tom
elementu pridruzimo pripadni red S kutije AES algoritma, a drugom
broju odgovarajuu kolonu te iste S kutije.
U tabeli broj 4.2.4 prikazana je struktura S kutije algoritma AES.
Tabela broj 4.2.4 Struktura S kutije algoritma AES

Druga transformacija (ShiftRow) oznaava pomjeranje okteta u


redovima matrice stanja. Red 0 nema pomjeranja, u redu 1 vri se
pomjeranje za C1 bajtova, u redu 2 vri se pomjeranje za C2 bajtova, a
u redu 3 vri se pomjeranje za C3 bajtova. Vrijednosti ofseta C1,C2,C3
ovise o veliini bloka izvornog teksta.
Za Nb = 4: C1=1; C2=2;

C3=3

Za Nb = 6: C1=1; C2=2; C3=3


Za Nb = 8: C1=1; C2=3;

C3=4

Mjeanje podataka u kolonama matrice stanja (MixColumn)


U matrici stanja, kolone se tretiraju kao polinomi nad poljam GF(28).
Mnoze sa fiksnim polinomom c(x), koji je definisan relacijom:
c(x) = 0x03X3 + 0x01 X2 + 0x01 X + 0x02
i to po modulu (X4+1). Polinom c(x) je pri tome i relativno prost u
odnosu na polinom (X4 + 1), pa je samim tim i invertibilan. Mnozenje

oblika
(a0,j + a1,j X + a2,j X2 + a3,j X3)c(x)(mod (X4 + 1)) moze se
realizovati i u matrinom obliku prema slijedeoj emi:

Mnozenje oblika(a0,j + a1,jX + a2,jX2 + a3,jX3)c(x)(mod (X4 + 1))


Inverz od MixColumn je slian jer se svaka kolona mnozi sa specifinim
polinomom d(x), koji je definisan na osnovu relacije: c(x)d(x) = 0x01.
d(x) = 0x0BX3 + 0x0DX2 + 0x09 X + 0x0E

Dodavanje podkljueva u matricu stanja, operacija AddRoundKey.


U skladu s ovom operacijom matrica stanja se transformie putem
dodavanja elemenata podkljua runde homolognim elementima
matrice stanja po osnovu primjene operacije ekskluzivno ili.

ema dodavanje podkljueva u matricu stanja

Ekspanzija kljua Cilj ekspanzije-proirenja kljua, je stvaranje


pretpostavki za generisanje podkljueva pojedinih rundi da bi se mogla
realizovati operacija AddRoundKey. Proirenjem kljua generie se
(Nr +1) Nw 32 bitnih rijei, koje se oznaavaju sa wi ( 0 i < (Nr +1) Nw
). Simbol Nr definisan je brojem runde, simbol Nw oznaava broj rijei
u podkljuu.
Proireni klju se formira tako da prve etiri rijei predstavljaju zadani
klju. Svaka slijedea rije ri dobija se iz prethodne rijei ri-1 kojoj se u
skladu sa operacijom ekskluzivno ili dodaje rije to se nalazi na
poziciji ri-Nk . Ako je i djeljivo s Nk , onda se prije primjene operacije
ekskluzivno ili nad tom rijei ri-1, obave slijedee operacije:
-

Operacija RotWord, kojom se rotira rije za jedno mjesto ulijevo


(r0r1r2r3), postaje (r1r2r3r0),

Operacija SubWord, kojom se uzima jedan po jedan bajt iz rijei i na


svaki pd njih primjeni djelovanje S kutije,

Potom se jo realizuje i operacija ekskluzivno ili s rijei, koja je


definisana relacijom: ( 02(i-4)/4,00,00,00).

You might also like