Professional Documents
Culture Documents
KSS - Predavanje 2 - Osnove Kriptografije
KSS - Predavanje 2 - Osnove Kriptografije
UNIVERZITET U SARAJEVU
Odsjek za telekomunikacije
MSc studij, I godina
akademska godina 2011/2012
PREDAVANJE 2
Osnove kriptografije. Kriptografski algoritmi.
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
1 Osnove kriptografije
Postoje brojne definicije kriptografije, koje su u osnovi ipak vie, ili manje sline. Prema jednoj od njih,
kriptografija (eng. Cryptography) je umjetnost i nauka uvanja bezbjednosti poruka. Osobe koje se
dominantno bave izuavanjem i unapreivanjem kriptografije, nazivaju se kriptografi (eng.
Cryptographers).
U davnim antikim vremenima tajnost komuniciranja se pokuavala ostvariti skrivanjem poruke (pisanje
po tablici, pa zalijevanje voskom teksta, pisanje po obrijanoj glavi glasnika, kinesko pisanje po svili,
pisanje nevidljivim mastilom,....). Ovakav pristup tajnosti komuniciranja, zasnovan prevashodno na
tajnosti lokaliteta za smjetanje poruke, naziva se steganografija (od grkih rjei: steganos - prikriven i
grafein - pisati).
Steganografija ima znaajnu slabost u injenici, da ako se poruka presretne i uhvati, ona praktino
odmah biva i otkrivena. Stoga se paralelno sa razvojem steganografije razvijala i kriptografija. Naziv
kriptografija, takoer potie od grkih rijei kriptos - skriveno i grafein - pisati, ali kod kriptografije nije
teite na skrivanju lokaliteta poruke, nego na skrivanju njenog znaenja. Da bi se ostvarili vei efekti u
ouvanju tajnosti, esto su se steganografija i kriptografija kombinovale. Tokom Drugog svjetskog rata, u
Latinskoj Americi njemaki agenti su fotografisanjem uspjevali itavu stranicu teksta kondenzovati u
taku prenika manjeg od milimetra, da bi potom takvu taku stavili u neki bezbjedonosno bezvrijedni
tekst. Ipak, ve 1941. godine, FBI je pronaao prve takve mikro take, tako da su efekti zasnovani na
steganografiji postali beskorisni. Njemaki agenti su brzo reagovali i nastavili s takvom praksom, ali su
izvorni tekst prije saimanja u taku, prethodno i kriptovali. Amerikanci su tada i nakon to lociraju takvu
taku ostajali bespomoni, jer je u nastavku aktivnosti trebalo jo i deifrovati pronaeni tekst.
Od pomenute dvije opcije za tajnost komunikacija, kriptografija je sigurnosno mnogo monija, to se
dokazuje vrlo lako, ne samo njenom irokom implementacijom, nego i njenim stalnim razvojem i
unapreivanjem. Steganografija se u novije vrijeme provodi tako da se poruke skrivaju u slikama.
Najmanje znaajan bit svakog bajta slike, zamjeni se bitom poruke. Zbog ovoga zahvata izvorna slika se
nee bitnije promjeniti, jer se u veini grafikih formata prikazuje vie boja, nego to ljudsko oko moe
da detektuje. U crno-bijelu fotografiju rezolucije 1024x1024 opisanim pristupom mogue je ubaciti tekst
od 64 kilobajta.
Sposobnosti razbijanja postojeih kriptografskih zatita, objedinjuju se u naunoj disciplini kriptoanalizi
(eng. Cryptoanalysis), a specijalisti za tu naunu oblast nazivaju se kriptoanalitiarima (eng.
Cryptoanalysts).
Matematika grana koja objedinjava i kriptografiju i kriptoanalizu naziva se kriptologija (eng.
Cryptology).
Izvorna poruka, odnosno otvoreni tekst skraeno se oznaava sa
(eng. Message), ili sa
(eng.
Plaintext). Iskazuje se putem odabranih simbola, koji s aspekta raunara imaju samo, vlastitu, binarnu
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
interpretaciju. Izvorni tekst je najee namjenjen, ili za skladitenje, ili pak za slanje na odreenu
lokaciju.
Kriptovani oblik otvorenog teksta ili ifrat (eng. Ciphertext), obino se skraeno oznaava sa . Iskazan je
u binarnom obliku, pri emu broj njegovih bita, moe biti ne samo isti kao i u , nego i vei, pa ak i
manji, od broja bita u , a to se pak postie kombinovanje ifrovanja i kompresije.
Postupak kriptovanja, matematiki se izrazava relacijom (2.1), u kojoj je sa
kriptovanja (ifrovanja).
( )
oznaena funkcija
(2.1)
Da bi se iz kriptovanog oblik otvorenog teksta, C, ponovo dobio otvoreni tekst M, potrebno je nad
formom C, funkcijom dekriptovanja D, praktino ponititi efekte kriptovanja.
Postupak dekriptovanja, matematiki se izrazava relacijom (2.2), u kojoj je sa D oznaena funkcija
dekriptovanja.
( )
(2.2)
(2.3)
Kriptografski algoritam, (eng. Cryptographic Algorithm) ili ifra, je matematika funkcija koja se koristi za
ifriranje i deifriranje.
Bazira li se sigurnost algoritma na tajnosti procedure, prema kojoj se on realizuje, tada je raspoloivi
algoritam ogranien (eng. Restricted). Ogranieni algoritmi su karakteristini za kriptografske zahvate
niskog bezbjedonosnog nivoa. Ovakvi algoritami, primjenjuju se samo unutar ograniene (zatvorene)
grupe. im jedna osoba iz grupe napusti grupu (jasno, iva i zdrava ), upotrbljavani algoritam se mora
mijenjati. Teko je procijeniti i stvarnu sigurnost upotrebljavanog algoritma, ukoliko u samoj zatvorenoj
grupi ljudi nema dobar kriptograf, a upitno je i subjektivna ocjena dobrog kriptografa.
Moniji kriptografski algoritmi, pridruenu im sigurnost ne zasnivaju na tajnosti algoritma. Njihova
sigurnost, po pravilu je bazirana na tajnosti upotrbljenog kljua. Dakle takav algoritam moe biti javno
objavljen i analiziran.
Proizvodi koji koriste ovakve algoritme, mogu biti masovno distribuirani u javnosti.
3
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Klju (eng. Key), je kao i izvorna poruka, skup simbola, koji u optem sluaju (ako odreenim algoritmom
nisu propisana konkretna ogranienja na njegovu kompoziciju), moe imati proizvoljnu strukturu. Skup
moguih vrijednosti kljua naziva se prostor kljueva (eng. Keyspace). Kod kriptografskih algoritama koji
raspolau i vlastitim kljuem, isti se ugrauje i u funkciju kriptovanja i u funkciju dekriptovanja , tako
da se relacije (2.1), (2.2) i (2.3), transformiu u relacije (2.4), (2.5) i (2.6):
( )
(2.4)
( )
(2.5)
( ))
(2.6)
i za fazu dekriptovanja
( )
(2.7)
( )
(2.8)
( ))
, tada se
(2.9)
Kriptosistem (eng. Cryptosystem) je pojam koji obuhvata kriptografski algoritam, sve mogue otvorene
tekstove, sve njihove verzije - kriptovane predmetnim algoritmom i sve mogue kljueve, usklaene s
tim algoritmom.
Za svaki
i funkcija deifriranja
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
( ( ))
deifruje kao
Kod simetrinih, ili konvencionalnih kriptosistema, klju za deifrovanje se moe lako izraunati iz kljua
za ifrovanje, ukoliko oni nisu identini. Meutim kljuevi za ifrovanje i kljuevi za deifrovanje, kod
ovakvih sistema po pravilu su identini, to im i pribavlja atribut simetrian. Sigurnost ovih kriptosistema
lei u tajnosti kljua. Ovakvi sistemi nazivaju se i kriptosistemi s tajnim kljuem.
Kod kriptosistema s javnim kljuem (asimetrini kriptosistemi), klju za deifrovanje se praktino ne
moe izraunati na osnovu poznatog kljua za ifrovanje, koji je javno publikovan podatak. Deifrovanje
praktino moe ostvariti samo onaj koji, za obznanjeni javni klju, poznaje odgovarajui tajni klju, a to je
njegov vlasnik. Ideju javnog kljua predoili su Whitfield Diffie i Martin Hellman 1976, tokom rasprava na
temu kako prenositi kljueve za sismetrine kriptosisteme, putem nesigurnih komunikacijskih kanala.
Osnovni zadatak kriptografije, moe se iskazati i kao zahtjev za uvanjem izvornog teksta od
neovlatenih osoba, koje pokuavaju da ga se domognu. Kao to je ve konstatovano, kriptoanaliza je
nauka koja, bez kljua, a na osnovu pribavljenog ifrata, pokuava odrediti izvorni tekst. Kriptoanaliza
omoguava i da se lociraju slabosti analiziranog kriptosistema, ali da se eventualno doe i do osnovnog
5
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
cilja ove nauke - spoznaja izvornog teksta, ili pak kljua koji se koristi. Svaki kriptoanalitiki pokuaj
naziva se napad (Attack).
Prvi radovi iz podruja kriptoanalize vezuju se za filozofa arapskog porijekla Al Kindija koji je ivio u IX
vijeku. Njegovo najvanije dijelo Manuskript o deifrovanju kriptografskih poruka, ponovo je otkriveno
tek 1987. u Istanbulu (u Otomanskoj arhivi Sulejmaniji). To djelo obuhvata detaljne rasprave i analize o
statistici, arapskoj fonetici i sintaksi. Al Kindi se i danas smatra ocem Teorije uestanosti. U periodu od
800. do 1200. godine nove ere, arapski svijet je ve bio u golemoj naunoj prednosti spram Evrope. Dok
su arapski uenjaci uivali u razdoblju velikih vlastitih naunih dostignua, u Evropi se tek u XV vijeku,
tokom Renesanse, omoguilo da i kriptografija doivi vlastiti procvat. Venecijanski ifrant ovani Soro,
postavljen 1506. godine za sekretara ifranta u Veneciji, smatrao se jednim od najobrazovanijih
evropskih ifranata i prvim velikim evropskim kriptoanalitiarem.
Holananin August Kerkof ( August Kerckhoffs (1835-1903)) je utemeljio vanu tezu da tajnost mora biti
zasnovana na kljuu, odnosno da je normalno da kriptoanalitiar zna sve pojedinosti o primjenjenom
kriptografskom algoritmu.
Konceptualno se kriptoanalitiki napadi mogu grupisati u nekoliko osnovnih tipova:
napad tipa samo ifrat (eng. Ciphertext Only Attack). Kriptoanalitiar u ovakvim situacijama
ima samo nekoliko poruka ifrovanih istim algoritmom za ifrovanje. Zadatak kriptoanalitiara je
da rekonstruie izvorni tekst za to vie poruka, ili jo bolje da otkrije klju (odnosno kljueve),
koji su koriteni, kako bi mogao otkrivati i naredne poruke ifrovane istim algoritmom. Pobrojani
ciljevi se analitiki mogu iskazati relacijama, za poznato:
( ),
( ),
( ), ....,
( )
a cilj je izraunati:
na osnovu
,
(
napad tipa poznat otvoreni tekst (eng. Known Plaintext Attack). Kriptoanalitiar ima pristup
odreenom broju ifrata i njima odgovarajuih izvornih poruka, pa nastoji da odredi klju
(kljueve), kako bi mogao da deifruje svaku narednu poruku dato je:
( ),
( ),
( ), ....,
( )
napad odabran otvoreni tekst (eng. Chosen Plaintext Attack). Kriptoanalitiar ne samo da
ima pristup odreenom broju ifrata i njima odgovarajuih izvornih poruka, nego moe i birati
izvorni tekst koji e biti ifrovan. Ovo je moniji napad od napada tipa poznat otvoreni tekst,
jer je kriptoanalitiar u prilici da bira specifine blokove izvornog teksta, koji mu pomau da
6
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
lake doe do informacija o kljuu, kako bi ga odredio i time stvorio preduslove da deifruje
svaki naredni ifrovani tekst. Poznato je dakle:
( ),
( ),
( ), ....,
,...,
( )
napad tipa prilagodljiv odabrani otvoreni tekst (eng. Adaptive Chosen Plaintext Attack)
Ovo je poseban sluaj napada tipa odabran otvoreni tekst. Kriptoanalitiar ne samo da moe
da odabere ifrovan otvoreni tekst, ve moze i da modifikuje ono to je odabrao na osnovu
rezultata prethodnih ifrovanja. Dok kod napada odabran otvoreni tekst, kriptoanalitiar bira
blok izvornog teksta za ifrovanje, napad prilagodljiv odabrani otvoreni tekst omoguava da se
odabere i manji dio odabranog bloka, nad kojim se izvri planirani napad, pa zatim koristei i
tako dobijene rezultate ponovi jo jedan napad na drugi dio bloka, odnosno da iterativno rjeava
problem dostizanja postavljenog cilja.
Pored ova etiri tipska kriptoanalitika napada, u literaturi se spominju i kriptoanalitiki napadi poput:
napad tipa odabrani ifrat (eng. Chosen Ciphertext Attack). Napada moze da odabere ifrat
za deifrovanje, a ima i pristup deifrovanom tekstu tog ifrata. Cilj mu je da odredi klju.
Poznato je:
( ),
( ),
( ),
( ),
Oni koji tvrde da raspolau sa neprovaljivom ifrom, samo na osnovu spoznaje da oni nisu u stanju da je
provale, ili su geniji, ili su budale. Iskustva su pokazala da u dosadanjem istorijatu razvoja
kriptoanalitike, da realno nema mjesta pretjeranom optimizmu po pitanju sigurnosti tajnih informacija,
te da se preventivno djelovanje, stalna testiranja i odreena doza paranoinog pesimistinog stava u
vidu stalne sumnje da li su podaci sigurni, zaista moe uzeti kao jedini ispravan prilaz analizi trenutne i
iskljuivo trenutne mjere sigurnosti informacija i podataka od interesa.
7
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Razvoj kriptografije stalno prati i razvoj kriptoanalize, te je time i zagarantovana vremenska ogranienost
uspjeha svakog kripto-algoritma. Kao relativna mjera sigurnosti i uspjenosti nekog aktuelnog kriptoalgoritma smatra se da ste u osnovi bezbjedni, ukoliko je cijena provaljivanja tajnih podataka, vea od
njihove materijalne vrijednosti (takoer su prihvatljive i opcije: vrijeme za provaljivanje tajnih podataka
due je od vremenskog intervala, tokom kojeg treba da su podaci tajni; koliina podataka ifrovanih
jednim kljuem, manja je od koliine podataka neophodnih za provaljivanje algoritma....).
Lars Knudsen (1962- ) je utvrdio da se postupci za provaljivanje kriptografskih algoritama mogu
sistematizirati po nivou ozbiljnosti prijetnji:
potpuna provala (eng. Total Break), kada kriptoanalitiar dolazi do kljua , dakle ( )
opti zakljuak (eng. Global Deduction), kriptoanalitiar nalazi alternativni algoritam putem
kojeg saznaje , a da pri tome nije saznao klju .
trenutni (lokalni) zakljuak (eng. Instance Deduction, Local Deduction), kriptoanalitiar pronalazi
izvorni tekst presretnutog ifrata.
zakljuak na osnovu pribavljene informacije (eng. Information Deduction), kada kriptoanalitiar
dolazi do neke informacije, o kljuu ili pak izvornom tekstu koje e mu samo olakati daljnja
istraivanja (recimo informacija o vrsti izvornog teksta).
U kriptologiji smatra se da je samo algoritam jednokratna biljenica (eng. One Time Pad), neprovaljiv i uz
raspolaganje bilo kakvih resursa. Ovaj algoritam su osmislili major Dozef Moborn (Joseph Moborgne) i
Dilbert Vernam (Gilbert Vernam). Jednokratna biljenica je u sutini veliki neponovljivi skup istinski
nasuminih kljueva i zaljepljenih zajedno u biljenicu. Poiljalac koristi jedno slovo kljua iz biljenice, da
bi ifrovao jedno slovo izvorne poruke i to tako to se uzeti simbol iz kljua sabere sa uzetim simbolom iz
izvorne poruke, pri emu se sabiranje provodi u skladu sa sabiranjem po modulu 26 (broj slova engleske
abacede). Svako slovo kljua koristi se samo jednom, za samo jednu poruku. Poiljalac ifruje poruku, a
onda unitava iskoritene stranice biljenice na kojim se nalazi upotrebljeni dio kljua. Primalac ima
identinu biljenicu sa kljuem i on svakom primljenom simbolu dodaje pripadni simbol kljua. Nakon
deifrovanja simbola, primalac takoe unitava upotrebljeni dio kljua.
Zadatak 1:
Ako je izvorni tekst 'ONE', a prema biljenici raspored simbola u kljuu 'TBF', tada je ifrat 'IPK':
(O+T) mod 26 = I; (N+B) mod 26 = P; (E+F) mod 26 = K
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Svi drugi algoritmi su provaljivi postupkom grube sile (eng. Brute Force Attack), pri emu raspoloivi
kadrovski i raunarski resursi, diktiraju koliko e to dugo trajati (provjerava se jedan po jedan klju iz
prostora kljueva, te da li dobijeni izvorni tekst ima smisla).
Sa praktinog stanovita, kriptografija se danas uglavnom sagledava kroz prizmu mogunosti
provaljivanja analiziranog algoritma jasno uz pomo odgovarajuih raunarskih resursa.
U tom smislu, predmetni algoritam smatra se raunarski sigurnim (eng. Computationally Secure) ako ga
nije mogue provaliti raspoloivim sredstvima. Ovakva procjena se bazira na osnovu raspoloivih
teoretski znanja i hardverskih i softverskih resura. Meutim kako je budui razvoj nauke samo donekle,
globalno predvidiv, ocjena raunarske sigurnosti nema tano odreeni, garantovani interval vanosti.
esto se pravi kompromis izmeu ova tri pokazatelja (napad moe biti bri, ukoliko se angauje vie
memorije. Nivo sloenosti napada na odreeni kriptografski algoritam, po pravilu se iskazuje putem
eksponenta broja 2. Sloenost nivoa 264 naglaava da je potrebno 264 operacija za njegovo provaljivanje
(radi relativnog osjeaja i kompleksnosti napada uzima se da je starost planete je 10 9 godina odnosno,
230godina, ili 255sekundi, prema tome ako bi se od nastanka planete svake sekunde obavile po 512
operacija, tada bi se moglo provesti potrebnih 264 operacija. S obzirom da ozbiljniji raunarski resursi
postoje tek zadnjih 16 godina, odnosno 229sekundi, u sekundi bi se od 1993 godine trebalo obavljati
paralelno istovremeno 236 operacija, odnosno 1011operacija, stotinu milijardi operacija u sekundi
tokom 15 godina).
injenica, da ostvareni tehnoloki napredak tokom zadnjih nekoliko decenija , nakon to je konvertovan i
u raunarske nauke, omoguava razbijanje kriptoanalitikih algoritama na milijarde segmenata, to uz
paralelnu povezanost raunara i neobaveznost meusobnog komuniciranja njihovih procesora, stalno
pomjera granicu izmeu praktino mogueg i teoretskog, upravo ka tom teoretskom.
Potvrda prethodne ocjene su i komercijalna rjeenja kriptografskih algoritama zasnovana na 128-bitnim
kljuevima (IDEA) i AES (128 bitni, 196 bitni, 256 bitni kljuevi).
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Po nepisanom pravilu, savremena kriptografska literatura svrstava, sve ono to je uraeno u domenu
kriptografije do 1980.godine (do prvih primjena raunarskih tehlogoija u kriptografiji), u podruje
klasine konvencionalne (u bazi izraziti matematizirane) kriptografije, a radove i algoritme objavljene
nakon tog vremena, tretira kao Savremena kriptografska rjeenja.
Sloenost savremene kriptografije nalae da se, pri svakom ozbiljnijem upoznavanju s istom, odreena
panja prvo usmjeri ka klasinoj kriptografiji.
Treba naglasiti da i mnogi savremeni kriptografski algoritmi, u svojoj strukturi posjeduju i elemente
supstitucijskih transformacija i elemente transpozicijskih transformacija.
10
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Primjer obine supstitucijske ifre je Cezarova ifra (eng. 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.
Izvor
...
ifra
...
Oigledno slino operaciji sabiranja, provode se i operacije oduzimanja, odnosno mnoenja, ime se
formira zatvorena algebrarska struktura, nad kojom se provode opreacije i vri procedura ifriranja.
S obzirom da skup
, zajedno sa operacijama (+26) i (26), zadovoljava sve one matematike aksiome,
koji su potrebni da bi ureena trojka ( , +26, 26 ) imala status algebarska struktura tipa prsten:
Operacije (+26) i (26), nad elementima skupa
, su zatvorene (njihovom primjenom nad
elementima skupa Z26, dobija se ponovo element istog tog skupa,
Operacije (+26) i (26), nad elementima skupa
, 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));
11
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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.
Zadatak 2
Ako je ifrat LFPZQYJY, formiran primjenom Cezarove ifre, odrediti prvo upotrebljeni klju K, a potom i
sam izvorni tekst.
12
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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.
13
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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)
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));
14
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
( 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
15
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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.
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
16
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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
y = eK (V) = A; y = eK (O) = H,
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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;
18
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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 (Brute-Force
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
A
19
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
8.2
1.5
2.8
4.3
13
2.2
2.0
6.1
7.0
6.0
6.3
9.1
2.8
1.0
2.4
0.2
2.0
0.1
0.2
0.8
4.0
2.4
6.7
7.5
1.9
0.1
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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
22
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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
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.
23
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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.
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.
frekventne analize
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
24
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Primjer broj 4
Neka je klju za ifriranje Hillovom ifrom, definisan relacijom:
1 0 0
K = 5 25 0
0 0 25
25
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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.
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 = ( Z 26)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 (),
permutaciju koja omoguava vraanje u poetno stanje.
(-)-1predstavlja inverznu
Primjer broj 5
Izvorni tekst E L E K T R O T E H N I C K I
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
27
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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.
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:
Visok nivo sigurnosti, koji proizilazi iz kljua, a ne iz tajnosti algoritma.
Efikasnost
28
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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:
29
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
30
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
31
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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.
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).
Nijedan izlazni bit S-kutije ne treba da bude previe blizu linearnoj funkciji ulaznih bitova.
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.
Ako se dva ulaza S-kutije razlikuju u tano jednom bitu, izlazi se moraju razlikovati u najmanje dva bita.
Ako se dva ulaza S-kutije razlikuju u tano dva srednja bita, izlazi se moraju razlikovati u najmanje dva
bita.
Ako se dva ulaza S-kutije razlikuju u prva dva bita, a posljednja dva bita su identini, izlazi ne smiju biti
isti.
32
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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.
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,
provoenja zavrne permutacije P.
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.
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).
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.
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 ifriranja se ne mijenja. Postoje tano 4 slaba
kljua algoritma DES. To su oni kljuevi, kod kojih se u rasporedu C0D0 lijeva i desna polovica, dakle C0,
odnosno D0, formiraju, ili od samih nula, ili od samih jedinica. UU heksadecimalnoj notaciji ti kljuevi su:
0101010101010101
1F1F1F1F1F1F1F1F
E0E0 E0E0 E0E0 E0E0
FEFE FEFE FEFE FEFE
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
33
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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
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 DES-a.
34
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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:
XOR operaciju, formalna oznaka O.
Sabiranje po modulu 216 ,
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 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.
35
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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.
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:
Mora biti iz klase simetrinih algoritama
Mora biti blokovski organizovan
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
37
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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.
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.
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.
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),
38
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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).
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).
39
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Primjer Pomnoziti dva polinoma treeg stepena a(x) i c(x), iji su koeficijenti iz skupa GF(2 8), 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
(x +1) .
4
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
40
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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
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)).
41
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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
42
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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 (X 4 + 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:
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
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).
45