35
ELEKTROTEHNIČKI 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 – **NEPRERAĐENA VERZIJA – slijedi dopunjena formatirana verzija sa slikama

KISS - Predavanje 3 i 4 - Nepreradena Verzija

  • Upload
    dinkic

  • View
    12

  • Download
    3

Embed Size (px)

DESCRIPTION

kiss

Citation preview

Page 1: KISS - Predavanje 3 i 4 - Nepreradena Verzija

ELEKTROTEHNIČKI 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 – **NEPRERAĐENA VERZIJA – slijedi dopunjena formatirana verzija sa slikama

Page 2: KISS - Predavanje 3 i 4 - Nepreradena Verzija

1.1.1 Algoritmi bazirani na supstitucijskim šiframa

Algoritmi bazirani na supstitucijskim šiframa (Substitution Cipher)

zahtjevaju da pošiljalac svaki simbol (slovo) izvornog teksta, zamjeni

odgovarajućim simbolom šifrata, dok primalac zamjenjuje svaki simbol

šifrata odgovarajućim simbolom izvornog teksta. Sa stanovišta klasične

kriptografije postoje bar četiri vrste supstitucijskih šifri:

Obična supstitucijska šifra (Simple Substitution) ili monoalfabetska

šifra (Monoalphabetic Cipher) su šifre u kojim je svako slovo izvornog

teksta zamjenjeno odgovarajućim slovom šifrata. Kriptogrami u

enigmatskim časopisima su primjeri monoalfabetskih šifara.

Homofonična supstituciona šifra (Homophonic Substitution Cipher),

je slična običnoj 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 odreĎene blokove

šifrata (abc u xyz, aca u klm,.....)

Polialfabetska substituciona šifra (Polyalphabetic Substitution

Cipher), objedinjava više običnih supstitucijskih šifri iz različitih

abeceda.

Primjer obična 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 B C D E F G H I

Šifrat D E F G H I J K L

Cezarova šifra je primjenjivana i sa pomakom udesno većim od tri. Na

ovaj način je moguće napraviti 26 različitih verzija ključa (26 načina

pomaka simbola šifrata u odnosu na simbole izvornog teksta).

Prije uopštene definicije familije algoritama, koji ishodište imaju u

Cezarovoj šifri, uspostavlja se korespondencija izmeĎu 26 slova engleskog

Page 3: KISS - Predavanje 3 i 4 - Nepreradena Verzija

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 način 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 .

Očigledno je da se slično provode i operacije, i oduzimanja i mnozenja.

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

sve one matematičke aksiome, koji su potrebni da bi ureĎena 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 mnoţenja 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 ;

Page 4: KISS - Predavanje 3 i 4 - Nepreradena Verzija

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 a≠0, 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 mnoţenje, jer je:

( 1(٠26) b) = ( b (٠26) 1) = b ;

Samo neki elementi skupa Z26, b, imaju sebi inverzan element u

odnosu na operaciju mnoţenje, 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 simbolički označava sa:

a ≡ b (mod 26)

U skladu sa prethodno izlozenim Cezarova šifra se moze

definisati i na slijedeći način:

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 određuje 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 X O W H W

H C M W N V G V

G B L V M U F U

Page 5: KISS - Predavanje 3 i 4 - Nepreradena Verzija

F A K U L T E T

ROT 13 je jedan od jednostavnih programa za šifrovanje, što se koristi

u UNIX sistemima, a pripada klasi običnih 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))

Suštinski ROT13 nije izvorno namjenjen sigurnosti nego da se

potencijalno uvredljiv tekst sakrije od šireg kruga.

Dobar računarski 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 teško primjetiti da koncept obične supstitucionalne šifre,

kada se primjeni na engleski alfabet, omogućava kriptologu da

razotkrije izvorni tekst u relativno kratkom vremenu.

Nešto više sigurnosti nudi šifriranje pomoću linarne (afine)

funkcije, kada su postupci šifriranja i dešifriranja odreĎeni 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 definiše na slijedeći način:

Neka je: M = C = Z26 , te neka je Қ = {(a, ) є Z26 x Z26 : (a,26)=1}

Za K = (a,b) є Қ definiše se da je:

eK (x) = (a٠ x + b ) mod 26 , odnosno dK (y) = a-1

٠ ( y - b ) mod 26

Nije teško provjeriti da je:

dK ( eK (x) ) = dK ( a٠x +b )= a-1

٠ ( a٠x +b - b ) = x

pri čemu se brojne vrijednosti za a, biraju tako da je najveći zajednički

djelitelj za takvo a є Z26 i broja 26, jednak broju 1 (formalno se to

označava s ( a, 26 ) = 1). Ti brojevi a, zajedno s njihovim

multiplikativnim inverzima a-1

na skupu Z26 , sadrţani su u tabeli broj

2, koja slijedi:

Tabela broj 2

Page 6: KISS - Predavanje 3 i 4 - Nepreradena Verzija

a 1 3 5 7 9 11 15 17 19 21 23 25

a-1

1 9 21 15 13 19 7 23 11 5 17 25

S obzirom na ovih dvanest parova, koji su osnova za odreĎivanje

ključeva u afinoj šifre, omogućava 12٠26 = 312 mogućih ključeva

(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 ključa K = ( 7, 9 ).

U tabeli broj 3, dat je jedan odnos izmeĎu slova engleskog alfabeta i

brojeva iz prethodno definisanog skupa Z26.

Tabela broj 3

A B C D E F G H I J K L M N O p Q

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

R S T U V W X Y Z

17

18 19 20 21 22 23 24 25

Na osnovu zadatog ključa proizilazi da su vrijednosti karakterističnih

parametara a i b u linearnoj transformaciji:

eK (x) = (a٠ x + b ) mod 26

odreĎene sa relacijama: a = 7 i b = 9, Prema tablici broj 3, slovu S

odgovara numerički ekvivalent 18, unutar skupa Z26. Stoga je moguće

pisati da je:

y = eK (S) = (a٠18 + b ) mod 26 = (7٠18 + 9 ) mod 26 = 135 mod26

S obzirom da je 135 ≡ 5 (mod 26), osnovano je pisati da je: y = eK (S) =

F. Na sličan način 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 ključu K = ( 7, 9 ), jednak F J Y J U L A H. Provjera

ispravnosti provedenog postupka šifriranja, najlakše se ostvaruje

dešifriranjem putem relacije:

Page 7: KISS - Predavanje 3 i 4 - Nepreradena Verzija

dK ( eK (x) ) = dK ( a٠x +b )= a-1

٠ ( a٠x +b - b ) mod 26 = x

dK ( eK (x) ) = 15 ٠ ( 7٠x +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 sličan način 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;

Page 8: KISS - Predavanje 3 i 4 - Nepreradena Verzija

Slično 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;

Konačno 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 slučajevi - primjeri - supstitucijske

šifre, koja je generalno definisana na slijedeći način:

Neka je: M = C = Z26 i neka se prostor ključeva Қ sastoji od svih

permutacija skupa: Z26 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ...23, 24, 25}. Za svaku

permutaciju p є Қ definiše 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,

moguće generisati p! = 26! = 4 ٠1026

= 2 62

različitih ključeva, u tom

slučaju napad na šifrirani tekst, postupkom potpune provale (Brute-

Force Attack - postupak grube sile ≡ potpuna provala), čak i uz

upotrebu računara je teško ostvarljiv.

Supstitucijske šifre se meĎutim mogu razotkrivati i znatno

jednostavnije, a to znači i mnogo brţe, nego u slučaju kada se koristi

postupak grube sile – dakle pretraţivanje cijelog prostora ključeva (2 62

različitih ključeva). Naime dovoljno je odgonetnuti na kojem jeziku se

komunicira, a potom saznati i vlastitu frekventnu raspodjelu simbola u

tom jeziku. Korisno je poznavati i najčešće bigrame i trigrame tog

jezika, pa je većina posla u dešifrovanju učinjena. U engleskom jeziku

najčešće 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

Page 9: KISS - Predavanje 3 i 4 - Nepreradena Verzija

A B C D E F G H I J K L M N O p Q

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

R S T U V W X Y Z

6.0 6.3 9.1 2.8 1.0 2.4 0.2 2.0 0.1

U engleskom jeziku najčešći bigrami su: th (3,2%), he (2,5%), an,

in,..

Najčešći trigrami istog jeziku su: „the“ i „and“. Na osnovu ove

spoznaje, u nekom šifrovanom tekstu, kojeg se uspjelo samo djelomično

dešifrirati, na osnovu Lhe i aPV, ispituje se imali li smisla nastavak

dešifrovanja ostvariti uz relacije: L≡T, P≡n, te V≡d.

Najčešći bigram hrvatskoj jezika je „je“ iako „j“ nije meĎu

najfrekventnijim slovima. Najfrekventniji trigram hrvatskog jezika je

„ije“ (0,6%).

Postoje dokazi, da se je za poboljšanje otpornosti na neţeljeno

dešifrovanje, još 1401 godine, umjesto običnog supsticijskog šifriranja,

koristilla homofobična supstituciona šifra (homos-isti; fonos-zvuk). Kod

homofobične supstitucione šifre, simbol izvornog teksta se zamjenjuje

sa jednim ili više simbola šifrata ( mogu biti i preslikavanja slova u

brojeve) da bi se bolje sakrile statističke osobine upotrebljenog jezika.

Pošto ni ovaj pristup ne sakriva dovoljno statističke osobine korištenog

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 pridruţiti simbola šifrata,

zavisi od primjenjenog algoritma. Algoritam moţe biti zasnovan na

statistici frekvencije pojavljivanja odreĎenog simbola izvornog teksta,

unutar tekstova zasnovanih na matičnom alfabetu.

U tom smislu, ako je (prema raspozivoj tabeli broj 4) u engleskom

jeziku slovo „a“ zastupljeno sa udjelom od oko 8%, tada se moţe

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 moţe 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

Page 10: KISS - Predavanje 3 i 4 - Nepreradena Verzija

bigrama, a pri drugom pojavljivanju slovo“b“ se zamjenjuje sa drugim

slovom bigrama. Odabrani pristup ima za posljedicu da se u šifratu

razbija statistička frekventna zakonomjernost pojavljivanja simbola,

usaglašena sa izvornim alfabetom.

Homofobična šifra je značajno pouzdanija od obične

supstitucijske šifre, ali i ona nije nesavladiva za sposobne

kriptoanalitičare. To se spoznalo još u Srednjem vijeku, pa je nakon

više dobrih rješenja (poput velike šifre kralja Luja XIV, koja je

generisana u XVII stoljeću, a ipak ostala neprovaljena gotovo dva

vijeka, zatim sistema Crne komore na bečkom dvoru u XVIII

stoljeću....), ostvareni uspjeh kriptoanalitičara i tehnološki napredak u

XIX vijeku (iskazan i praktičnom pojavom telegrafa 1839 godine

(Vinston-Kukov sistem, Charles Wheatstone (1802-1875) i potrebom da

se komunikacija putem istog bolje zaštiti) natjerao kriptografe da u

praksi masovnije počnu koristiti polialfabetsku Viţnerovu šifru

(francuski diplomata Blaise de Vigenere (1523-1596)).

Idejni začetnik Viţnerove šifre bio je talijanski matematičar

Alberti ( Leon Battista Alberti, 1404 - 1472 ) još u XV vijeku, kada je

predloţio da se umjesto uobičajne monoalfabetske supstitucije, koristi

dva ili više različitih alfabeta, koje koristimo naizmjenično, čime se

postiţe da se isto slovo izvornog teksta ne pojavljuje uvijek i kao isto

slovo kriptograma. Sa idejama Albertija i onih koji su ih pokušavali

dalje razraĎivati (Johan Tritemius, Giovani Porta...) Viţner se susreo

oko 1550 godine, tokom diplomatskog rada u Rimu.

Opsjednut kriptografskim tajnama, a materijalno obezbjeĎen,

napustio je diplomatsku sluţbu i posvetio se samo kriptografiji. Tvorac

je Viţnerovog kvadrata prikazanog u tabeli broj 5, koji se sastoji od

početnog alfabeta i 26 šifrovanih alfabeta, koji su nastali tako da je

svaki naredni alfabet u stvari rezultat jednog cikličkog pomjeraja u

lijevo nad prethodnim alfabetom (prvi red ispod izvornog alfabeta,

predstavlja praktično 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

dvadesetšest mjesta u odnosu na izvorni alfabet - što dovodo do njegove

podudarnosti s izvornim alfabetom. U tom kontekstu, ako slovo „n“

šifrujemo trećim redom ono se preslikava u slovo“q“, ali ako ga

šifrujemo trinaestim redom ono se preslikava u slovo „a“.

Saglasno Viţnerovom algoritmu, pored korištenja Viţnerovog

kvadrata, treba uvesti i ključnu riječ (ona je ustvari neki vid fiksnog

Page 11: KISS - Predavanje 3 i 4 - Nepreradena Verzija

ključa) recimo Sarajevo, koja odreĎuje redosljed upotrebe alfabeta

zapisanih u pojedine vrste Viţnerovog kvadrata (18, 26, 17, 26, 9, 5, 21,

14). Nije teško uočiti da duţi ključ čini Viţnerov algoritam otpornijim

na napade. Rad pod naslovom „Tracite des Chiffres“ – rasprava o

šiframa, objavljen 1586 godine, predstavlja ustvari rezime rezultata

njegovog rada.Viţnerov algoritam se moţe definisati na slijedeći način:

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

.

Za ključ K = (k1, k2, k3, k4,........ km) є Қ definišu se: funkcija enkripcije

eK (x1, x2, x3, x4,...... xm ) i funkcija dekripcije dK (y1, y2,y3, y4,...... ym ), tako

da važi:

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 pronaći prave razloge, zašto su impresivni rezultati

opisanog Viţnerovog rada, bili zanemarivani od strane kriptografa

gotovo dva vijeka. Aktuelizacija Viţnerovog algoritma za potrebe

telegrafskih komunikacija, dodatno je motivirala mnoge

kriptoanalitičare XIX vijeka da joj pokušaju umanjiti značaj. U tom

smislu prvi globalno vrijedni rezultati vezuju se za Čarlsa Bebidţa

(Charles Babbage 1791-1871 , koji je zapamćen i kao projektant, prvo

diferencijalnog motora br.1 - fantastičnog kalkulatora od 25 000

dijelova, a zatim i diferencijalnog motora br.2 - koji iako nisu nikada

završeni do kraja, ipak predstavljaju ishodište današnjih digitalnih

računara) koji je uspjeo da razbije Viţnerovu šifru. Rezultate svog rada

on sam nije objavio, tako da su oni postali dostupni naučnoj javnosti

tek u prvoj polovini XX vijeka, kada je bilo pojačano zanimanje za

ideje Čarlsa Bebidţa, prevashodno u domenu kalkulatora - odnosno

pretača računskih mašina.

Tabela broj 5 : Prikaz strukture Viznerovog kvadrata

Page 12: KISS - Predavanje 3 i 4 - Nepreradena Verzija

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

pokušavao razvijati nove kriptografske algoritme. Radeći timski sa

Čarlsom Vitstonom (smatra se da je njegov doprinos poligramskim

supstiucionim šiframa, koje su kasnije uobličene i publikovane kao

Plejferove šifre, bio najznačajniji, 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 drţavnim strukturama britanskog kraljevstva, tokom druge

polovine XIX vijeka (bio je zamjenik predsjednika donjeg doma

Parlameta, upravnik nacionalne pošte, ...).

Plajferova šifra pripada klasi poligramskih supstitucionih šifri.

Ovom šifrom se parovi simbola izvornog teksta, supstitušu parovima

nekih slova, pri čemu je procedura zamjene strogo ureĎena. Prije

korištenja ovakvog postupka šifriranja, pošiljalac i primalac se moraju

dogovoriti oko ključa - odnosno ključne riječi.

Neka je ključna riječ M E S U D. Nakon izbora ključne riječi,

njeni simboli se upišu u kvadrat formata 5x5 i to onako, kao što je

uraĎeno u tabeli broj 6.

Tabela broj 6.

Page 13: KISS - Predavanje 3 i 4 - Nepreradena Verzija

M E S U D

A B C F G

H I/J K L N

O P Q R T

V W X Y Z

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 ključa M E S U D, pretvara se u

šifrat u skladu sa sljedećom 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, izmeĎu 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 način se izvorni bigram MU supstituiše bigramom ED.

3. 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, supstituiše se bigramom PB.

4. Ukoliko se slova predmetnog bigrama nalaze i u različitim

redovima i u različitim kolonama, kao što je to slučaj 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).

Dešifrovanje se vrši tako što se i šifrovani tekst izdjeli na bigrame,

pa na osnovu ranije dogovorenog ključa, slovo iz bigrama šifrata na

osnovu tabele broj 5 (nju identičnu imaju i pošiljaoc 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

slučaju TM, prevod je bigram OD.

Prednosti Plejferove šifre su:

Page 14: KISS - Predavanje 3 i 4 - Nepreradena Verzija

U šifratu se gube jednosimbolski ekvivalenti – poput A - što oteţava

upotrebu frekventne analize prisutnih simbola;

Bigramsko šifriranje povećava broj bigrama u odnosu na broj

slova, pa je frekvencija bigrama mnogo ujednačenija od frekvencije

slova (broj bigrama na skupu od 26 slova je 676, njihov broj se

odreĎuje 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 korištene i u Prvom svjetskom ratu (britanska

vojska) i u Drugom svjetskom ratu (američka vojska), u cilju

podrţavanja povjerljivosti vojnih i diplomatskih komunikacija.

Kriptoanalizu Plejferove šifre, moguće je naći u djelu: A. Sinkov,

“Elementary Cryptanalysis“, Mathematical Association of America,

1966. Napad na ovu šifru načešće se izvodi tako da se traţe

najfrekventniji bigrami šifrata, uz pretpostavku da je to supstitucija za

najčešće 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, supstituiše s m slova šifrata. Stvorivši mogućnost

da se blokovi od tri ili više simbola, poligramskom supstitucijom

šifriraju, Hill je prvi suštinski povezao kriptografiju s linearnom

algebrom (L.S.Hill je doktorirao 1926 godine na Yale University u

oblasti primjenjena matematika). Hillov kriptografski algoritam

definiše se na slijedeći način:

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

, a prostor

ključeva Қ definisan relacijom:

Қ = { (mxm) invertibilne matrice nad Z26}.

Za ključ K definišu 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 očigledno

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 (proširiti) sa onoliko simbola x koliko je potrebno da

se ostvari djeljene proširenog izvornog teksta s brojem m bez ostatka.

Page 15: KISS - Predavanje 3 i 4 - Nepreradena Verzija

Pri izboru ključa K, Hill je preporučio da se koriste involutivne matrice

( kod involutivnih matrica vazi relacija: K-1

= K, odnosno K2 = I ).

Takvim izborom se doista olakšava postupak šifriranja i dešifriranja,

ali se skraćuje i vrijeme potrebno kriptoanalitičarima za provoĎenje

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 0 25 dobijani rezultat, dešifriranjem šifrata.

Prvo se provjerava je li zadati ključ K, doista definisan

involutivnom matricom. Nakon što se pokaţe da je K 2 = I, izvorni

tekst se dijeli u blokove od po tri simbola, dakle na BOS NAX. Potom

se traţe numerički 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, računa se homologni blok šifrata,

računajući 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, računa 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 prvoj etapi

računa

( 19, 18, 8 )٠K-1

= (109, 450, 200) mod 26 =

(5, 8, 18) = ( F, I , S )???

Page 16: KISS - Predavanje 3 i 4 - Nepreradena Verzija

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

duţine m simbola, na skupu ( Z26 ) , postoji tačno (26)m

različitih

blokova. Već pri m = 3 postoji 17 576 različitih trigrama, pa je

prethodna konstatacija u vezi kriptološkog napada, kada kriptolog

posjeduje samo šifrat, sasvim jasna.

Razmatrani algoritam se relativno lako kompromituje napadom

tipa „poznat izvorni tekst“, a pogotovu pomoću napada „odabrani

izvorni tekst“. Naime ti napadi su povezani sa rješavanjem matrične:

Y = X ٠ K

u kojoj je nepoznata veličina 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 slučaj, treba traziti izvorni tekst kod kojeg uz X postoji

i X-1

.

Tokom napada „odabrani izvorni tekst“, kriptoanalitičar 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 stohastičan, onda je kriptolog na

velikim problemima, što znači da je pošiljaoc vrlo pouzdano poslao

poruku. Ali iskazana stohastičnost nije samo problem za kriptologa,

nego i za primaoca.

Dakle primjenjeni postupak pošiljaoca je pouzdan, ali i

neefikasan. U tom kontekstu, prirodno je zaključiti da se pomjeranje

simbola izvornog teksta mora obavljati na način koji je poznat i

pošiljaocu i primaocu.

Page 17: KISS - Predavanje 3 i 4 - Nepreradena Verzija

Spartanski skital je jedan od prvih primjera transpozicijske šifre.

Kriptografski algoritam transpozicije moţe se definisati na slijedeći

način:

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

,

a prostor ključeva Қ sastoji se od svih permutacija skupa {1, 2, 3, 4,

...,m}. Za neku permutaciju (π є Қ) definiše se funkcija enkripcije i

dekripcije na slijedeći način:

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

(π-)-1

predstavlja inverznu permutaciju – koja omogućava vraćanje u

početno stanje.

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 sadrţavati po 4 slova,

a nedostajuće slovo će se nadopuniti slovom x.

4 3 1 2 5 6

E L E K T R

O T E H N I

C K I F A K

U L T E T X

Šifrat je EEIT KHFE LTKL EOCU TNAT RIKX.

Prepoznavanje transpozicijske šifre je olakšano, jer je frekvencija

pojavljivanja simbola u korištenom jeziku zadrţana. Kriptoanaliza

kolonske transpozicije započinje traganjem za podatkom o

dimenzijama pravougaonika, koje nam daju prvu informaciju o ključu.

U tom smislu moguće dimenzije šifrata:

EEITKHFELTKLEOCUTNATRIKX su:

12 x 2; 6 x 4; 4 x 6; 2 x 12.

Page 18: KISS - Predavanje 3 i 4 - Nepreradena Verzija

Mali broj kolona nije vjerovatan, jer se onda te kolone „izreţu u

trake“ i samo prostorno pomjeraju, dok ne dobijemo smislen sadrţaj.

Potom se u mogućim varijantama pravougaonika utvrĎuje odnos

samoglasnika i suglasnika i favorizuje pravougaonik u kojem je odnos

samoglasnika i suglasnika blizak odnosu koji je karakterističan za taj

jezik.

Njemačka šifra ADFGVX, korištena za vrijeme Prvog svjetskog

rata, je kombinovala transpozicione i supstitucione metode u jedinstven

sistem. Ipak francuski kriptoanalitičar Ţorţ Penvan (Georges Painvin)

je uspjeo da vrlo brzo provali ovu šifru i obezbjedi Francuzoma

značajnu pobjedu nad Nijemcima na kraju Prvog svjetskog rata.

2.2 Rezime simetričnog kriptografskog algoritma DES

DES (Data Encryption Standard) je 23.11.1976. godine prihvaćen kao

savezni standard za sigurnosnu zaštitu podataka u USA. Njegov idejni tvorac

je Horst Fejstel (Horst Feistel njemački emigrant, došao u USA 1934. godine,

(1915-1990)), koji je dugo radio na problematici šifriranja i dešifriranja 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 ponuĎena rješenja za novi kriptosistem

moraju ispunjavati i slijedeće uslove:

1. Visok nivo sigurnosti, koji proizilazi iz ključa, a ne iz tajnosti

algoritma.

2. Efikasnost

3. Punu javnost i definisanost algoritma, koji treba biti i lako razumljiv.

4. Racionalnost algoritma pri njegovoj implementaciji na računarsku

infrastrukturu.

5. Dostupnost svim potencijalnim korisnicama.

6. Algoritam mora biti provjerljiv

7. Mogućnost izvoza i u područja van USA.

Page 19: KISS - Predavanje 3 i 4 - Nepreradena Verzija

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 početku bazirala na 112 bitnom ključu), na kojim je insistirala

NSA (National Security Agancy), ovaj algoritam je 1976. godine promoviran

kao nacinalni standard za zaštitu podataka. DES je prema svojoj strukturi:

1. Simetričan algoritam (isti ključ se koristi i za šifriranje i za

dešifriranje).

2. Blokovski orjentisan algoritam (izvorni tekst se transformiše u

binarnu formu, a potom dijeli u blokove, koji se zatim šifriraju blok po

blok, uz upotrebu ključa).

3. Algoritam koji je zasnovan na Feistelovoj mrezi (Feistel Network),

koja je sadrzana i u izvornom konceptu algoritma Lucifer.

NSA se zalagala da se broj mogućih ključeva ograniči na 1017

odnosno na

256

, smatrajući da je takav nivo sigurnosti primjeren civlnim potrebama (u

civilnom sektoru tog doba, niko nije imao tako moćnu računarsku

infrastrukturu, koja bi mogla pretraziti tako ureĎen prostor ključeva. NSA

je s druge strane već tada imala računare sposobne da pretraze i prostor

ključeva reda 256

).

Page 20: KISS - Predavanje 3 i 4 - Nepreradena Verzija

Slika broj 2.2.1 Blok šema algoritma DES

Page 21: KISS - Predavanje 3 i 4 - Nepreradena Verzija

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 početnoj permutaciji IP (Initial

Permutation). Početna permutacija i odgovarajuća završna permutacija,

prema provedenim analizama, ne doprinose značajnije povećanju

bezbjednosti algoritma. One mnogo više imaju za cilj da olakšaju proceduru

unošenja izvornog teksta i šifrata u DES čipove, i to u djelovima veličine byta

(treba imati na umu da je DES nastajao u doba 8-bitnih mikroprocesorskih

magistrala, te da softverski nije lako izvršiti permutovanje bit po bit).

U slijedećem koraku, tako izmješani biti, upravo obraĎivanog 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 ključem algoritma. Taj proces se često u

literaturi terminološki 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 uvoĎenje bitova provjere parnosti,

koji treba da stvore mogućnost provjere je li u ključu napravljena mozda

nezeljena greška) 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 vrši

ciklički pomjeraj u lijevo, za jedno ili dva mjesta, ovisno u kojoj rundi se taj

postpak provodi.

Dobijenih 56 bita se zatim ponovo reducira – komprimira, pomoću

permutacije PC-2, na 48 bita, po sistemu PC-2, definisanom u algoritmu.

Tada praktično 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 označava kao permutacija kompresije

(Compression Permutation). S obzirom da se u svakoj rundi provodi i

translacija unutar ključa za jedno ili dva mjesta, to se unutar 16 subključeva,

što se pridruzuju svakoj od provedenih rundi, pojedini biti iz polazne verzije

56 bitnog ključa pojavljuju bar 14 puta (od 16 teoretski mogućih

pojavljivanja).

Prema slici broj 2.2.2 subključ tekuće runde, treba XOR operacijom

povezati s polublokom R0 . Ovaj polublok se stoga prvo proširuje sa 32 bita

Page 22: KISS - Predavanje 3 i 4 - Nepreradena Verzija

na 48 bita, pomoću permutacije proširenja (Expansion Permutation). Nakon

ovog poteza postoje i biti koji utiču 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 ključa).

Nakon provoĎenja 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 transformišu 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, obraĎuje sa polublokom L0. Rezultat te operacije je

opet 32 bitni blok, ali koji se sada proglašava 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 najviše što

se moglo postići na jednom čipu s tehnologijom 1974. godine).

2. Nijedan izlazni bit S-kutije ne treba da bude previše blizu linearnoj

funkciji ulaznih bitova.

3. Ako fiksirate krajnji lijevi bit i krajnji desni bit S kutije i mijenjate

preostala četiri unutrašnja bita, svaki mogući 4-bitni izlaz dobije se

tačno jednom.

4. Ako se dva ulaza S-kutije razlikuju u tačno jednom bitu, izlazi se

moraju razlikovati u najmanje dva bita.

5. Ako se dva ulaza S-kutije razlikuju u tačno 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 identični, izlazi ne smiju biti isti.

7. Za bilo koju 6-bitnu razliku izmeĎu ulaza, koja nije jednaka nuli,

najviše 8 od 32 para ulaza s tom razlikom mogu da prpizvedu istu

razliku ulaza.

8. Kriterijum sličan prethodnom, ali za slučaj tri aktivne S-kutije.

Page 23: KISS - Predavanje 3 i 4 - Nepreradena Verzija

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

već ranije konstatovano, ponovo se permutuje putem prave permutacije, ili

završne permutacije P (Straight Permutation), za koju je karakteristično da

se nijedan bit ne koristi dvaputa i nijedan bit se ne zanemaruje.

Slično kriterijumima za dizajn S kutija, objavljeni su i ograničenja, koja

su poštovana tokom provoĎenja završne permutacije P.

1. Četiri izlazna bita iz svake S kutije, utječu, odnosno čine ulazne

podatke na šest različitih S kutija u idućoj rundi, a nikoja dva ne utiču

na istu kutiju.

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

dva od njih utiču na središnje 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 slijedeća zakonitost: ako neki izlazni

bit od Sj utiče na neki središnji bit od Sk u narednoj rundi, onda niti

jedan izlazni bit od Sk ne utiče na središnje bitove od Sj . Za Sj = Sk

proizilazi da izlazni bitovi od Sj ne utiču na središnje bitove od Sj.

U literaturi je dosta analizirana i problematika „slabih ključeva u

algoritmu DES“.

a) Izrazito slabi ključevi su u prvom redu ključevi kod kojih se

ispostavlja da su subključevi rundi meĎusobno jednaki, dakle vazi

relacija: K1 = K2 = K3 = K4 = K5 =٠٠٠٠ =K16 . Postupak šifriranja i

dešifriranja su onda identični, odnosno vazi da je:

eK (eK(x)) = x

Zbog ovakve osobine 232

izvornih tekstova nakon šifriranja se ne

mijenja. Postoje tačno 4 slaba ključa algoritma DES. To su oni ključevi, 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 ključevi su:

1. 0101010101010101

2. 1F1F1F1F1F1F1F1F

3. E0E0 E0E0 E0E0 E0E0

4. FEFE FEFE FEFE FEFE

b) Djelimično slabi ključevi su oni ključevi koji tokom 16 rundi generišu

praktično samo dva različita subključa, pri čemu se svaki od njih

koristi tokom 8 rundi. Kaze se da par ključeva (Kj, Kl) predstavlja par

Page 24: KISS - Predavanje 3 i 4 - Nepreradena Verzija

djelimično slabih DES ključeva, ako je rezultat kompozicije dva DES

algoritma provedena s ključevima Kj i Kl ništa drugo nego izvorni

tekst. Šifrovanje sjednim od njih je isto kao i dešifrovanje s drugim od

njih. Postoji šest parova djelimično slabih ključeva, a jedan od njih je

par:

01FE01FE01FE01FE i FE01 FE01 FE01 FE01 FE01

c) Potencijalno slabi ključevi su oni ključevi koji imaju takvu simbolsku

strukturu da generišu samo 4 različita subključa tokom 16 rundi.

Ovakvih ključeva ima tačno 48.

Iz prethodno navedenog pregleda, proizilazi da treba izbjegavati 64

ključa (4+6+6+48=64) koji su specificirani u tačkama od a) do c).

Zašto 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 ključa (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 slučajna funkcija svakog

bita izvornog teksta i svakog bita ključa (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 riješen je problem standardizacije, što je ohrabrilo

poslovni svijet da svoje sluzbene komunikacije zaštiti šifriranjem pomoću

DES-a. Ali tada se pojavio problem sigurne distribucije ključa, što dobro

odslikava recimo komunikacija klijent-banka. Banke su u početku to

rješavale slanjem ključa po povjerljivom glasniku, ali takav pristup ima niz

slabosti posebno iskazan sa porastom broja klijenata (usporenost transporta,

troškovi distribucije rastu....).

Za fiksni ključ K pomoću DES-a definisana je jedna permutacija skupa

{0,1}64

, odnosno 256

permutacija dobijenih pomoću 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 veći od 22499

. Na osnovu ove

činjenice zaključeno je da se višestrukom upotrebom DES-a moze povećati

nivo njegove sigurnosti. Posebno je popularan trostruki DES, koji ima tri

koraka običnog DES-a, ali svaki put sa različitim ključevima.

Page 25: KISS - Predavanje 3 i 4 - Nepreradena Verzija

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 ključa 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 običnog DES-

a.

2.3 Rezime simetričnog 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 sličnu 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 završnu

transformaciju. U tih osam rundi koriste se 52, 16-bitna subuključa ((K1(r)

,

K2(r)

,... K6(r)

) tokom osam rundi ( r= 1,2,..,8) i četiri subključa (K1(9)

, K2(9)

,

K3(9)

, K4(9)

) za završnu transformaciju) koji se generiraju na osnovu polaznog

128 bitnog ključa. U prvoj iteraciji se pravi 6 16- bitnih subključeva ((K1(1)

,

K2(1)

,... K6(1)

) i prva dva subključa druge iteracije ((K1(2)

, K2(2)

). Potom se

bitovi polaznog 128 bitnog ključa K pomjeraju za 25 mjesta ulijevo, čime se

pravi novi 128 bitni raspored kao osnova za preostala četiri ključa druge

iteracije ((K3(2)

, K4(2)

, K5(2)

, K6(2)

) i prva četiri ključa treće 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.

Page 26: KISS - Predavanje 3 i 4 - Nepreradena Verzija

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 treći 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 subključem K6(1)

, po modulu

(216

+1).

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

)

Page 27: KISS - Predavanje 3 i 4 - Nepreradena Verzija

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 tekuće runde su uvijek četiri podbloka, koji su rezultati koraka

broj (11), (12), (13) i (14). Nakon toga, treba još da meĎusobno zamjene i

vlastita mjesta, dva unutrašnja bloka (ovo se ne radi , jedino u posljednjoj

rundi), te da se dobije ulaz za slijedeću rundu (64 bita).

Algoritam IDEA, za razliku od algoritma DES nastao je isključivo 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 odgovarajuću

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

mogućih riješenja za simetričnu 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 ključeva koje treba testirati tokom napada metodom

„potpunog pretrazivanja“, reda 2128

, to se ovaj algoritam smatra zasada

neranjivim.

Slično kao i u algoritmu DES i kod algoritma IDEa postoje „slabi

ključevi“. Sve ključeve iz familije ključeva:

0000, 0000, 0x00, 0000, 0000, 000x, xxxx, x000,

pri čemu je x bilo koji heksadecimalni broj, moguće je kompromitovati, po

skraćenom postupku, putem napada tipa „Poznat otvoreni tekst“.

2.4 Rezime simetričnog kriptografskog algoritma AES

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

objavio meĎunarodni konkurs za kriptosistem, koji je planiran da u 21.

stoljeću postepeno supstituira algoritam DES.

Page 28: KISS - Predavanje 3 i 4 - Nepreradena Verzija

Na predmetnom konkursu tada su definisani i opšti uslovi, koje treba

da ispunjava svaki prijavljeni algoritam:

1. Mora biti iz klase simetričnih algoritama

2. Mora biti blokovski organizovan

3. Algoritamske operacije treba provoditi nad 128 bitnim blokovima

izvornog teksta, uz pomoć ključa duzine 128 ((192) ili (256)) bita, pri

čemu su ključevi dizajnirani tako da ne postoje slabi ključevi.

Predmetni meĎunarodni konkurs, zaključen 15.06.1998. godine,

pokazao je da je od 21 pristigle prijave, njih 15 zadovoljilo opšte uslove.

Konačno 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 stručnim i naučnim krugovima sve češće

pridruzuje naziv AES (Advenced Encryption Standard).

Prije opisa samog dizajnerskog rješenja AES-a, korisno je navesti

osnovne motive koji su doveli do raspisivanje konkursa čiji je rezultat AES.

1. U standardu DES je utvrĎeno da će on biti provjeravan i eventualno

ponovo certificiran svakih pet godina. Provjera provedena 1983. godine

omogućila je njegovu novu sertifikaciju bez ikakvih ograničenja.

MeĎutim tokom provjere provedene 1988. godine uz NBS se uključila i

NSA, koja je uz to imala i snagu veta na mišljenje NBS (u to doba

predsjednik SAD-a je bio R. Regan). NBS u poćetku 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 proširio u

uslovima brze tehnološke 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

američke administracije s rokom vazenja do 1992. godine. Potom je

uslijedila javna debata da li produzavati sertifikaciju DES-a?

Po njenom okončanju 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 moguće

alternative za DES. Jedna od njih je bila i dvostruki, odnosno trostruki

DES. Ideja o dvostrukom DES-u je odbačena, jer zahtjeva mnogo veću

računarsku kompleksnost od običnog DES-a, a dobitak u smislu

podizanja nivoa sigurnosti je umjesto očekivanog nivoa 2128

, u nekim

slučajevima sveden samo na 257

(napad tipa „susret u sredini“ - Meet-

Page 29: KISS - Predavanje 3 i 4 - Nepreradena Verzija

in-the-Middle Attack, samo zahtjeva korištenje više memorije da bi se

skratilo vrijeme napada).

Trostruki DES se pokazao imun na slabosti koje je iskazao dvostruki

DES, ali je pokazao i odreĎene 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 više optimalna veličina za mnoge primjene.

3. Navedene slabosti algoritma 3 DES su osnovni uzroci zašto se on nije

našao na poziciji koju danas zauzima AES.

Dok je većina algoritama kandidiranih na konkursu, čiji je pobjednik

bio AES imala u sebi na odreĎen način uključenu i mrezu Feistela, odnosno

runde bazirane na takvoj mrezi, AES je bio posve drugačiji. U AES-u unutar

jedne runde postoje tri takozvana sloja:

Linearni difuzioni sloj (Linear Mixing Layer), koji obezbjeĎuje

veliku difuziju bitova nakon nekoliko rundi (realizuje se putem

operacija: ShiftRow i MixColumn),

Nelinearni sloj (Non-linear Layer), koji se provodi pomoću upotrebe

supstitucijskih kutija, optimiziranih za najgori mogući slučaj (operacija

ByteSub),

Sloj dodavanja ključa (Key Addition Layer), tokom kojeg se

realizuje operacija ekskluzivno ili nad potključem runde s trenutnim

stanjem bloka (operacija AddRoundKey).

Prilikom projektovanja pobrojanih slojeva posebno se vodilo računa 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 rješenja AES je svoju matematičku

podlogu našao u Teoriji konačnih 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:

b7٠X7 +b6٠ X

6 + b5٠ X

5 + b4٠X

4 + b3٠X

3 +b2٠ X

2 + b1٠ X + b0

Page 30: KISS - Predavanje 3 i 4 - Nepreradena Verzija

Sa stanovišta 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 provoĎenja operacije mnozenja nad

elementima tog polja, za redukciju se koristi polinom: m(x) = X8 + X

4 + X

3 +

X + 1 , pri čemu se nameće uslov da postoji i bar neki element α є GF(28),

takav da je: m(α) = 0. Mnozenje definisano na prethodni način je asocijativno

i ima neutralni element 0x001

Svakom nenultom elementu b є GF(28), iskazanom u polinomijalnom

obliku sa b(x), moguće 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:

c3٠X3 +c2٠ X

2 + c1٠ X + c0

ali kod takvih polinoma koeficijenti ci , nisu više elementi skupa GF(2), nego

su elementi skupa GF(28). Zato se kaze da su takvi polinomi odreĎeni

četverobajtnim vektorom, odnosno kao 32 bitna rječ. Sabiranje takvih

vektora vrši se putem sabiranja po modelu ekskluzivnog ILI odgovarajućih

(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 većeg od četiri,

koristi se polinom p(x) , pri čemu je : p(x) = X4 + 1, uz uslov p(α) = 0, α є

GF(28).

Primjer Pomnoziti dva polinoma trećeg stepena a(x) i c(x), čiji su koeficijenti

iz skupa GF(28), pa dobijeni rezultat ponovo svesti na polinom trećeg stepena

d(x), koristeći za redukciju polinom ( X4 + 1) .

d(x) = (a(x) ٠ c(x)) mod (x4+1) = d3٠X

3 +d2٠ X

2 + d1٠ X + d0

d0 = ( a 0b 0٠ ) + ( a 1b 3٠ ) + ( a 2b 2٠ ) + ( a 3b 1٠ )

d1 = ( a 0b 1٠ ) + ( a 1b 0٠ ) + ( a 2b 0٠ ) + ( a 3b 3٠ )

d2 = ( a 0b 2٠ ) + ( a 1b 1٠ ) + ( a 2b 0٠ ) + ( a 3b 3٠ )

d3 = ( a 0b 3٠ ) + ( a 1b 2٠ ) + ( a 2b 1٠ ) + ( a 3b 0٠ )

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

Page 31: KISS - Predavanje 3 i 4 - Nepreradena Verzija

Stanje bloka (State Block) predstavlja trenutno stanje šifrovanog bloka

podataka. Ako se iskaze u matričnoj formi onda se ta matrica proglašava za

matricu stanja. Blok izvornog teksta od 192 bita se moze iskazati i

pravougaonom matricom formata 6x4, kod koje su matrični 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 matrični 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 veličine 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

Slično matrici stanja i ključ algoritma AES, smješta se u matricu

formata 4x4 (128 bitni ključ), odnosno 4x6 (192 bitni ključ), ili pak 4x8 (256

bitni ključ). Elementi matrice ključa su takoĎer okteti, odnosno osmobitni

rasporedi, a elementi ključa se takoĎe upisuju po kolonama pridruzene

matrice.

Broj rundi (ciklusa) algoritma odreĎuje se u skladu sa utvrĎenim

veličinama bloka izvornog teksta i odabranog ključa. Unutar runde veličina

bloka izvornog teksta mora biti usaglašena sa veličinom ključa runde.

Zakonitost koja se uvazava tokom tog izbora definisana je tabelom 2.4.3

Tabela broj 2.4.2 Tabela ključa za slučaj kada je odabran 128 bitni

ključ

Page 32: KISS - Predavanje 3 i 4 - Nepreradena Verzija

Tabela broj 4.2.3 Broj rundi u funkciji veličine bloka stanja Nb i

veličine odabranog ključa Nk

Postupak šifrovanja počinje tako što se izvorni tekst preslikava u

matricu stanja. Prije prve runde vrši se inicijalno dodavanje ključa

(operacija AddRoundKey), odnosno sabiranje matrice stanja i matrice ključa

(operacija ekskluzivno ili ). Prva runda, kao i preostalih osam, deset ili pak

dvanest rundi (broj rundi zavisi od veličine bloka i veličine odabranog ključa,

što je iskazano putem tabele 4.2.3) strukturne su identično. jer sadrze četiri

transformacije nad oktetima. U posljednjoj rundi uočava 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

odgovarajućim 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 pomoću S kutije algoritma AES. Svaki

element AES bloka zapiše se heksadecimalno. Prvom broju u tom

elementu pridruzimo pripadni red S kutije AES algoritma, a drugom

broju odgovarajuću 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

Page 33: KISS - Predavanje 3 i 4 - Nepreradena Verzija

Druga transformacija (ShiftRow) označava pomjeranje okteta u

redovima matrice stanja. Red 0 nema pomjeranja, u redu 1 vrši se

pomjeranje za C1 bajtova, u redu 2 vrši se pomjeranje za C2 bajtova, a

u redu 3 vrši se pomjeranje za C3 bajtova. Vrijednosti ofseta C1,C2,C3

ovise o veličini 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

Mješanje 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) = 0x03٠X3 + 0x01٠ X

2 + 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

Page 34: KISS - Predavanje 3 i 4 - Nepreradena Verzija

oblika (a0,j + a1,j ٠X + a2,j ٠ X2 + a3,j ٠X

3)٠c(x)(mod (X

4 + 1)) moze se

realizovati i u matričnom obliku prema slijedećoj šemi:

Mnozenje oblika(a0,j + a1,j٠X + a2,j٠X2 + a3,j٠X

3)٠c(x)(mod (X

4 + 1))

Inverz od MixColumn je sličan jer se svaka kolona mnozi sa specifićnim

polinomom d(x), koji je definisan na osnovu relacije: c(x)٠d(x) = 0x01.

d(x) = 0x0B٠X3 + 0x0D٠X

2 + 0x09 ٠X + 0x0E

Dodavanje podključeva u matricu stanja, operacija AddRoundKey.

U skladu s ovom operacijom matrica stanja se transformiše putem

dodavanja elemenata podključa runde homolognim elementima

matrice stanja po osnovu primjene operacije ekskluzivno ili.

Page 35: KISS - Predavanje 3 i 4 - Nepreradena Verzija

Šema dodavanje podključeva u matricu stanja

Ekspanzija ključa Cilj ekspanzije-proširenja ključa, je stvaranje

pretpostavki za generisanje podključeva pojedinih rundi da bi se mogla

realizovati operacija AddRoundKey. Proširenjem ključa generiše se

(Nr +1) Nw 32 bitnih riječi, koje se označavaju sa wi ( 0 ≤ i < (Nr +1) Nw

). Simbol Nr definisan je brojem runde, simbol Nw označava broj riječi

u podključu.

Prošireni ključ se formira tako da prve četiri riječi predstavljaju zadani

ključ. Svaka slijedeća riječ ri dobija se iz prethodne riječi 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 riječi ri-1, obave slijedeće operacije:

- Operacija RotWord, kojom se rotira riječ za jedno mjesto ulijevo

(r0r1r2r3), postaje (r1r2r3r0),

- Operacija SubWord, kojom se uzima jedan po jedan bajt iz riječi i na

svaki pd njih primjeni djelovanje S kutije,

- Potom se još realizuje i operacija ekskluzivno ili s riječi, koja je

definisana relacijom: ( 02(i-4)/4

,00,00,00).

-