You are on page 1of 20

ELEKTROTEHNIKI FAKULTET

UNIVERZITET U SARAJEVU

Odsjek za telekomunikacije
MSc studij, I godina
akademska godina 2011/2012

Predmet: Kriptografija i sigurnost sistema


Predava: R. prof. dr Narcis Behlilovi, dipl. ing. el.

PREDAVANJA 4
Simetrini blokovski kriptografski algoritmi. DES. AES.

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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.

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).
2

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

3.

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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).

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

Slika broj 2.2.1 Blok ema algoritma DES

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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
5

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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 R 1. 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


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.

bitu, izlazi se

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


6

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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 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:
1.

0101010101010101

2.

1F1F1F1F1F1F1F1F

3.

E0E0 E0E0 E0E0 E0E0

4.

FEFE FEFE FEFE FEFE

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

b)

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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 DESa. 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
8

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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.

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
9

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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).


10

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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.

11

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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
12

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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),

13

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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 b 7, 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
14

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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).
15

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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

16

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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

17

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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:

18

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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.

19

Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije

akademska godina: 2011/2012


Kriptografija i sigurnost sistema
Predavanja 4

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).

20

You might also like