strategija obrane od linearne i diferencijalne...

73
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1588 Strategija obrane od linearne i diferencijalne kriptoanalize Darko Poljak Zagreb, lipanj 2006.

Upload: others

Post on 27-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

SVEUČILIŠTE U ZAGREBUFAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

DIPLOMSKI RAD br. 1588

Strategija obrane od linearne i diferencijalne kriptoanalize

Darko Poljak

Zagreb, lipanj 2006.

Page 2: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Abstract. In this document first are described the attacks on the symetric ciphers. Then it is explained the approach of The Wide Trail Design Strategy, how this strategy is applied on Rijndael cipher and what properties should be included when designing S-boxes. It is developed an application that determines the properties of a given S-box. Using this application, properties of the Rijndael cryptosystem S-box are compared with properties of random S-boxes. It is shown that random S-boxes have worse properties than the one that is designed for Rijndael (S-box that was designed by the wide trail strategy).

Sažetak. U ovom radu prvo su opisani napadi na simetrične kriptosustave. Zatim je opisana strategija širokog traga (eng. The Wide Trail Design Strategy), primjena strategije u izgradnji kriptosustava Rijndael i svojstva koja se trebaju uzeti u obzir prilikom izgradnje S-kutija. Razvijen je programski sustav koji provjerava svojstva S-kutije. Koristeći ostvareni programski sustav napravljena je usporedba svojstava S-kutije Rijndael kriptosustava i slučajno generiranih S-kutija. Pokazano je da slučajne S-kutije imaju lošija svojstva od Rijndael S-kutije (S-kutije koja je izgrađena prema strategiji širokog traga).

Page 3: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije
Page 4: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Sadržaj 1. Uvod............................................................................................................... 1 2. Uvod u kriptoanalizu..................................................................................... 2 3. Kriptoanaliza simetričnih kriptosustava..................................................... 4

3.1. Pretraživanje prostora.............................................................................. 4 3.1.1. Pretraživanje cijelog prostora........................................................... 4 3.1.2. Pretraživanje pola prostora............................................................... 4

3.2. Linearna kriptoanaliza............................................................................. 5 3.2.1. Pregled linearne kriptoanalize.......................................................... 5 3.2.2. Otkrivanje bitova ključa..................................................................... 7

3.3. Diferencijalna kriptoanaliza...................................................................... 8 3.3.1. Pregled napada................................................................................ 9 3.3.2. Dobivanje bitova ključa................................................................... 10

3.4. Diferencijalno-linearna kriptoanaliza..................................................... 10 3.5. XSL napad na kriptosustave.................................................................. 10

3.5.1. XSL-kriptosustav............................................................................ 11 3.5.2. S-kutije i preodređene algebarske jednadžbe................................ 11 3.5.3. MQ napad na blokovske kriptosustave...........................................11

3.6. Modulo n kriptoanaliza........................................................................... 12 3.6.1. Modulo 3 napad.............................................................................. 13

3.6.1.1. Aproksimacija rotacija.............................................................. 13 3.6.1.2. Aproksimacija zbrajanja........................................................... 14

3.6.2. Ostali modulo n napadi................................................................... 14 3.7. Napad susret u sredini........................................................................... 14

4. Strategija širokog traga.............................................................................. 16 4.1. Model blokovskog kriptosustava............................................................ 16

4.1.1. Blokovski kriptosustav s alternirajućim ključem.............................. 16 4.1.2. γλ struktura runde........................................................................... 17

4.2. Propagiranje razlika kod diferencijalne kriptoanalize............................ 18 4.3. Postizanje male vjerojatnosti propagacije razlika.................................. 18 4.4. Korelacije kod linearne kriptoanalize..................................................... 19 4.5. Postizanje niske amplitude korelacije.................................................... 20 4.6. Težina traga........................................................................................... 21 4.7. Široki tragovi.......................................................................................... 22 4.8. Difuzija................................................................................................... 22

4.8.1. Brojevi grananja.............................................................................. 22 4.9. Efikasna struktura alternirajućeg ključa................................................. 23

4.9.1. Transformacija difuzije θ................................................................. 24 4.9.2. Linearna transformacija Θ ............................................................. 24 4.9.3. Efikasna konstrukcija za Θ............................................................. 25

4.10. Korištenje identične transformacije runde............................................ 25 5. Izgradnja supstitucijskih tablica................................................................ 27

5.1. Kriteriji u izgradnji S-kutija..................................................................... 27 6. Primjena strategije širokog traga kod Rijndael-a.....................................30

6.1. Opis Rijndael-a...................................................................................... 30 6.1.1. Stanje, ključ i broj rundi................................................................... 31

I

Page 5: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

6.1.2. Transformacija runde...................................................................... 32 6.1.2.1. ByteSub................................................................................... 33 6.1.2.2. ShiftRow.................................................................................. 34 6.1.2.3. MixColumn............................................................................... 35 6.1.2.4. Pribrajanje ključa runde........................................................... 36

6.1.3. Postupak određivanja podključeva................................................. 36 6.1.3.1. Proširenje ključa...................................................................... 36

6.1.4. Odabir podključa............................................................................. 38 6.1.5. Postupak kriptiranja........................................................................ 38

6.2. Primjena strategije širokog traga........................................................... 39 6.2.1. Redukcijski polinom m(x) ............................................................... 39 6.2.2. Izgradnja supstitucijske tablice....................................................... 39 6.2.3. Izgradnja transformacije MixColumn...............................................40

6.2.3.1. Brojevi grananja....................................................................... 41 6.2.4. Izgradnja operacije ShiftRow.......................................................... 41 6.2.5. Izgradnja postupka proširenja ključa.............................................. 41 6.2.6. Broj rundi........................................................................................ 42

6.3. Sigurnost strategije širokog traga i algoritma Rijndael.......................... 42 6.3.1. Diferencijalna kriptoanaliza............................................................ 42 6.3.2. Linearna kriptoanaliza.................................................................... 43 6.3.3. Težina diferencijalnih i linearnih tragova........................................ 43

7. Praktični rad................................................................................................ 45 7.1. Opis problema........................................................................................ 45 7.2. Opis ostvarenih algoritama.................................................................... 45

7.2.1. Određivanje vjerojatnosti diferencijalne kriptoanalize.................... 45 7.2.2. Određivanje vjerojatnosti linearne kriptoanalize............................. 46 7.2.3. Provjera da li S-kutija ima fiksne i reverzne fiksne točke............... 47 7.2.4. Provjera da li je S-kutija linearna ili afina funkcija.......................... 47 7.2.5. Provjera svojstava S-kutija DES-a.................................................. 47

7.3. Korištenje programa............................................................................... 49 7.3.1. Uvod u korištenje programa............................................................ 49 7.3.2. Izbornik File.................................................................................... 49 7.3.3. Format datoteke S-kutije................................................................. 50 7.3.4. Izbornik Edit.................................................................................... 51 7.3.5. Izbornik S-box................................................................................. 51 7.3.6. Izbornik Test Results...................................................................... 54 7.3.7. Izbornik Help................................................................................... 55 7.3.8. Alatna traka.................................................................................... 55

7.4. Čitanje i interpretacija rezultata............................................................. 55 7.4.1. Rezultat određivanja vjerojatnosti diferencijalne kriptoanalize.......55 7.4.2. Rezultat određivanja vjerojatnosti linearne kriptoanalize............... 56 7.4.3. Rezultat određivanja fiksnih točaka................................................ 56 7.4.4. Rezultat određivanja reverznih fiksnih točaka................................ 57 7.4.5. Rezultat provjere da li je S-kutija linearna, odnosno afina funkcija 57 7.4.6. Rezultati provjere NSA DES svojstava........................................... 58 7.4.7. Usporedba rezultata dviju ili više S-kutija....................................... 59

7.5. Eksperimentalni rezultati ....................................................................... 61 7.5.1. Opis eksperimenta.......................................................................... 61

II

Page 6: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

7.5.2. Usporedba svojstava Rijndael S-kutije i slučajnih S-kutija............. 61 8. Zaključak...................................................................................................... 64 9. Literatura...................................................................................................... 65

III

Page 7: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Popis slikaSlika 4.1. Shematska reprezentacija γλ transformacije runde.................... 17Slika 4.2. Transformacija difuzije θ ............................................................... 24Slika 4.3. Shematska reprezentacija koraka od γπθ transformacije runde. 26Slika 6.1. Primjer prikaza stanja (Nb = 6) i ključa (Nk = 4)............................ 31Slika 6.2. Djelovanje ByteSub na pojedinačne byte-ove stanja................... 33Slika 6.3. Djelovanje operacije ShiftRow na retke stanja............................. 34Slika 6.4. Djelovanje MixColumn na stupce stanja........................................35Slika 6.5. Postupak dodavanja ključa je XOR ključa runde i stanja............ 36Slika 6.6. Proširenje ključa i odabir ključa za Nb=6 i Nk=4...........................38Slika 7.1. Izbornik File...................................................................................... 50Slika 7.2. Izbornik Edit..................................................................................... 51Slika 7.3. Izbornik S-box.................................................................................. 51Slika 7.4. Prozor za izbor željenih testova nad S-kutijom.............................52Slika 7.5. Prozor prikazan dok traje postupak testiranja.............................. 52Slika 7.6. Prikaz rezultata testiranja................................................................ 53Slika 7.7. Izbor parametara za testiranje slučajnih S-kutija..........................54Slika 7.8. Izbornik Test Results....................................................................... 54Slika 7.9. Izbornik Help.................................................................................... 55Slika 7.10. Rezultat određivanja vjerojatnosti diferencijalne kriptoanalize 55Slika 7.11. Rezultat određivanja vjerojatnosti linearne kriptoanalize..........56Slika 7.12. Rezultat određivanja fiksnih točaka............................................. 57Slika 7.13. Rezultat određivanja reverznih fiksnih točaka............................ 57Slika 7.14. Rezultat provjere da li je S-kutija linearna/afina funkcija...........58Slika 7.15. Rezultati provjere NSA DES svojstava.........................................59Slika 7.16. Rezultat diferencijalne vjerojatnosti Rijndael S-kutije............... 59Slika 7.17. Rezultat diferencijalne vjerojatnosti slučajne S-kutije............... 60

Popis tablicaTablica 6.1. Broj rundi (Nr) kao funkcija duljine bloka i duljine ključa........32Tablica 6.2. Odmaci posmaka za različite duljine bloka...............................34Tablica 7.1. Rezultati provjere Rijndael S-kutije............................................61Tablica 7.2. Rezultati provjere slučajnih Rijndael S-kutija........................... 63

IV

Page 8: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije
Page 9: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

1. Uvod

Kriptoanaliza je znanstvena disciplina koja proučava postupke otkrivanja otvorenog teksta bez poznavanja ključa, te postupke otkrivanja ključa uz poznavanje otvorenih i/ili kriptiranih tekstova, ili uz poznavanje nekih informacija o otvorenim i/ili kriptiranim tekstovima. Kriptoanaliza danas ima veliku ulogu u izgradnji kriptosustava, kao što je na primjer razvijena “Strategija širokog traga” (eng. WTS – Wide Trail Strategy), strategija izgradnje kriptosustava tako da kriptosustav bude otporan na diferencijalnu i linearnu kriptoanalizu.

U ovom radu opisane su neke metode kriptoanalize simetričnih kriptosustava, strategija obrane od linearne i diferencijalne kriptoanalize (strategija širokog traga), kriteriji koji se koriste prilikom izgradnje supstitucijskih tablica i primjer primjene strategije širokog traga kod naprednog simetričnog kriptosustava (Rijndael). Razvijen je programski sustav koji izračunava vjerojatnosti linearne i diferencijalne kriptoanalize za supstitucijske tablice, te su opisani eksperimentalni rezultati dobiveni testiranjem supstitucijskih tablica navedenim programskim sustavom.

U poglavlju 2 opisan je uvod u kriptoanalizu. U poglavlju 3 opisani su neki postupci kriptoanalize simetričnih kriptosustava: pretraživanje prostora, linearna kriptoanaliza, diferencijalna kriptoanaliza, diferencijalno-linearna kriptoanaliza, XSL napadi na kriptosustave, modulo n kriptoanaliza i napad “susret u sredini” (eng. Meet-in-the-middle). Strategija širokog traga (eng. Wide Trail Strategy) opisana je u poglavlju 4. U sljedećem 5. poglavlju opisani su kriteriji koji se uzimaju u obzir prilikom izgradnje supstitucijskih tablica. Primjena strategije širokog traga opisana je u poglavlju 6 na primjeru kriptosustava Rijndael. Konačno, u poglavlju 7 opisan je praktični rad, programski sustav koji za supstitucijske tablice izračunava vjerojatnosti linearne i diferencijalne kriptoanalize, te su opisani eksperimentalni rezultati dobiveni primjenom programa na Rijndael supstitucijske tablice i na slučajne supstitucijske tablice.

1

Page 10: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

2. Uvod u kriptoanalizu

Kriptoanaliza svoje korijene vuče iz davnih 650-ih godina kada su teolozi željeli dokazati autentičnost rukopisa uspoređujući dosljednost različitih riječi. Prava kriptoanaliza je najvjerojatnije počela u Europi. Najpoznatiji uspjeh kriptoanalize bio je 1500-te godine u Engleskoj, koji je doveo do uhićenja i smaknuća škotske Kraljice Marije zbog izdaje. Povijesno, najuobičajeniji postupak kriptoanalize je frekvencijska analiza. Frkevencijskom analizom se izbroji količina svakog slova ili simbola u šifriranom tekstu i usporedi se sa frekvencijom slova u otvorenom tekstu pisanom danim jezikom.Druga poznata metoda je traženje uzoraka jezika. Svaki jezik ima specifične uzorke. Najkorisnije karakteristike su uzorci koji se ponavljaju. Najvažniji ili najpoznatiji događaj u kriptoanalizi je bilo razbijanje Zimmermann-ovog telegrama 1917. g. za vrijeme I. svjetskog rata.

Četiri glavne prijetnje sigurnosti su: prekidanje, presretanje, modifikacija i izmišljanje.

Napadi na sigurnost se mogu razdvojiti u pasivne i aktivne napade. Pasivnim napadom se samo prisluškuje poslana poruka. Pasivni napad je puno teže detektirati nego aktivni napad. Aktivni napad uključuje mijenjanje poruke, maskiranje, ponovno slanje i DoS (eng. Denial of Service) napade.

U daljnjem tekstu navedene su neke vrste napada:

• Napad poznatim šifriranim tekstom: ovaj napad je najteži. Kriptoanalitičar poznaje samo algoritam kriptiranja i kriptirane tekstove.

• Napad poznatim otvorenim tekstom: za dani kriptirani tekst kriptoanalitičar poznaje odgovarajući otvoreni tekst ili njegov dio. Kriptoanalitičar zna algoritam i N otvorenih i kriptiranih tekstova, ali ne zna ključ.

• Napad odabranim otvorenim tekstom: kriptoanalitičar odabire otvoreni tekst i kriptira ga. Ovaj napad omogućuje pronalaženje slabosti u algoritmu. Kriptoanalitičar zna algoritam, kriptirani tekst i N odabranih parova otvorenih i kriptiranih tekstova, ali ne zna ključ.

• Napad odabranim kriptiranim tekstom: kriptoanalitičar može odabrati kriptirani tekst i na neki način ga dekriptirati i dobiti otvoreni tekst. Također može odabrati neki otvoreni tekst po svojoj želji. Kriptoanalitičar zna algoritam, kriptirani tekst i N navodnih kriptiranih tekstova s otvorenim tekstovima, ali ne zna ključ.

• Adaptivan napad odabranim otvorenim tekstom: kriptoanalitičar koristi napad odabranim otvorenim tekstom. Rezultati napada se koriste za odabir nekog drugog otvorenog teksta. Ovim načinom moguće je unaprijediti napad. Ovaj napad poznat je pod nazivom "diferencijalna kriptoanaliza". Kriptoanalitičaru je poznat algoritam, kriptirani tekst, odabrani otvoreni tekst s kriptiranim tekstom, te odabrani kriptirani tekst s otvorenim tekstom.

2

Page 11: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

• Napad susret u sredini (Meet in the Middle): napad uključuje dvije funkcije f1 i f2 za koje postoje dva ulaza a i b tako da je f1(a)=f2(b). Cilj je naći a i b. Mogu također postojati i drugi parovi ulaza koji zadovoljavaju tu jednadžbu, ali je tipično samo jedan par rješenje.

• Napad korištenjem srodnih ključeva: u ovom napadu pretpostavlja se znanje o odnosu između ključeva u dva različita kriptiranja. Napad može otkriti slabosti u postupku generiranja podključeva.

• Djelomično znanje o ključu: napadač posjeduje djelomično znanje o tajnom kljluču (npr. zbog nedostatka u postupku generiranja podključeva). U dobrim kriptosustavima djelomično znanje o ključu ne bi trebalo olakšati pronalaženje ostatka ključa. Ako nije tako, lakše je izvesti pretraživanje cijelog (ili preostalog) prostora rješenja.

Neki od postupaka kriptoanalize su:

1. Klasična kriptoanaliza:- frekvencijska analiza- Kasiski ispitivanje

2. Simetrični algoritmi:- diferencijalna kriptoanaliza- linearna kriptoanaliza- modulo n kriptoanaliza- XSL napad

3. Ostale metode:- Napad osoba u sredini- Napad susret u sredini- DeCSS- Gardening

U poglavljima 3.2. i 3.3. opisane su linearna i diferencijalna kriptoanaliza, respektivno. Kao postupak razvoja kriptosustava na način da bude otporan na ova dva napada razvijena je “strategija širokog traga” (eng. Wide Trail Strategy). Strategiju su razvili Joan Daemen i Vincent Rijmen prilikom izgradnje Rijndael-a (AES).

3

Page 12: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

3. Kriptoanaliza simetričnih kriptosustava

Blokovski kriptosustavi su kriptosustavi koji otvoreni tekst podijele u blokove. Posebno konstruirane funkcije određenim operacijama transformiraju blok otvorenog teksta s ključem i dobiva se kriptirani tekst. Kako bi se izbjegao napad korištenjem riječnika koriste se veliki blokovi (64, 128 i više bitova). Ideja se sastoji u aproksimaciji slučajne permutacije na velikom skupu ulaza. Jedna od metoda koje se koriste je korištenje nekoliko transformacija. Osnovne metode koje se koriste su supstitucije i permutacije. U supstituciji se koriste supstitucijske tablice (S-kutije), koje su nelinearni dio kriptosustava. S-kutije se izgrađuju tako da zadovoljavaju određena svojstva. Ta svojstva osiguravaju otpornost na kriptoanalizu.

U ovom poglavlju opisane se neke metode kriptoanalize simetričnih kriptosustava: pretraživanje prostora, linearna kriptoanaliza, diferencijalna kriptoanaliza, diferencijalno-linearna kriptoanaliza, XSL napad, modulo n napadi, te napad susret u sredini (eng. Meet-in-the-middle attack).

3.1. Pretraživanje prostora

3.1.1. Pretraživanje cijelog prostora

Pretraživanje cijelog prostora je najjednostavnija i najsporija vrsta napada. Napadač dekriptira kriptirani tekst sa svim mogućim ključevima koji se mogu pojaviti. Algoritam kriptiranja nije tajan pa ovaj napad nije moguće spriječiti.

Napadač kod ovog napada ima poznat otvoreni tekst ili otvoreni tekst ima neku poznatu strukturu. Ovaj napad se najčešće izvodi sklopovski.

3.1.2. Pretraživanje pola prostora

Pretraživanje pola prostora primjenjivo je na kriptosustave koji pokazuju određeno svojstvo simetrije i smanjuje vrijeme napada za 50%.

Ako za kriptosustav duljine ključa n vrijedi:

C = E(P, K) (3.1)

C' = E(P', K') (3.2)

4

Page 13: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

gdje je P otvoreni tekst, P' bitovni komplement otvorenog teksta, C kriptirani tekst, C' bitovni komplement kriptiranog teksta, te K i K' ključ i njegov bitovni komplement i E postupak kriptiranja. Ovaj napad koristi se ako je poznat par otvorenog i kriptiranog teksta za koje vrijedi svojstvo komplementa. Za posljednji bit ključa pretpostavi se vrijednost '0' i pretražuje se prostor s preostalih 2 n-1 ključeva. Ako se za neki ključ dobije kriptirani tekst tada se zaključuje da je taj ključ pravi ključ. Ako se dobije komplement otvorenog teksta tada se zaključuje da je pravi ključ komplement od primjenjenog ključa.

3.2. Linearna kriptoanaliza

Linearnu kriptoanalizu predstavio je Matsui na EUROCRYPT '93 kao teoretski napad na DES (Data Encryption Standard). Kasnije je uspješno iskorišten u praktičnoj kriptoanalizi DES-a. Pokazano je da se DES može razbiti uz pomoć 243 poznatih parova otvorenog i kriptiranog teksta, brže nego iscrpnim pretraživanjem [6] iz [3]. Iako je isprva prezentirana kao napad na DES, linearna kriptoanaliza je primjenjiva i na druge blokovske kriptosustave. Mnogi kandidati za AES (Advanced Encryption Standard) su izgrađeni tako da budu otporni na linearnu kriptoanalizu.

3.2.1. Pregled linearne kriptoanalize

Linearna kriptoanaliza pokušava iskoristiti veliku vjerojatnost pojavljivanja linearnih izraza uključujući bitove otvorenog teksta, bitove kriptiranog teksta i bitove podključeva. Linearna kriptoanaliza je napad poznatim otvorenim tekstom: napadaču je poznat skup otvorenih tekstova i odgovarajućih kriptiranih tekstova, ali napadač ne može odabrati otvorene i odgovarajuće kriptirane tekstove.

Osnovna ideja je da se nađe linearna aproksimacija nelinearnih S-kutija. Dobivenim linearnim izrazima konstruira se linearni put kroz Feistelovu mrežu. Feistelova mreža je niz od r rundi, gdje se runda sastoji od supstitucije, permutacije i djelovanja ključa. Kao rezultat dobiva se linearni izraz kriptosustava koji uključuje otvoreni tekst, kriptirani tekst i ključ.

Dva su koraka linearne kriptoanalize:

1. pronalaženje linearne aproksimacije2. primjena napada poznatim otvorenim tekstom.

Linearna aproksimacija se pronalazi na sljedeći način:

1. Pronalazi se linearna aproksimacija S-kutije koja daje odnos između podskupa ulaza u S-kutiju i podskupa izlaza iz S-kutije.

5

Page 14: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

2. Aproksimacija se proširuje na funkciju F (funkcija transformacije runde) i dobiva se linearni izraz za svaku aproksimaciju.

3. Spajanjem linearnih izraza za funkciju F konstruira se linearna aproksimacija kriptosustava. Vjerojatnost ove aproksimacije se može izračunati iz vjerojatnosti aproksimacija S-kutija.

4. Izračunava se potreban broj otvorenih tekstova potrebnih za dobivanje izraza linearne aproksimacije.

Linearnim izrazom aproksimira se dio kriptiranog teksta, gdje se linearnost odnosi na modulo 2 bitovne operacije (XOR). Takav izraz je oblika:

Xi1 xor Xi2 xor...xor Xiu xor Yj1 xor...xor Yjv = 0 (3.3)

Gdje Xi predstavlja i-ti bit ulaza X=[X1, X2,...], a Yj predstavlja j-ti bit izlaza Y=[Y1, Y2,...]. Ova jednadžba predstavlja ekskluzivno ili zbroj u bitova ulaza i v bitova izlaza. Osnovni koncept u linearnoj kriptoanalizi je određivane izraza u gornjem obliku koji imaju veću ili manju vjerojatnost da vrijede. Ako postoji očita linearnost gornjeg oblika za sve vrijednosti ulaza i izlaza tada je kriptosustav trivijalno slab. Ako za kriptosustav gornja jednadžba vrijedi s velikom vjerojatnošću ili ne vrijedi s velikom vjerojatnošću tada kriptosustav ima slabi generator slučajnih brojeva. Ako slučajno izaberemo vrijednosti za u+v bitova i uvrstimo ih u gornju jednadžbu, vjerojatnost jednakosti izraza bi bila točno 1/2. U linearnoj kriptoanalizi se iskorištava odmak (eng. bias) od vjerojatnosti 1/2 da gornji izraz vrijedi: što je vjerojatnost da linearni izraz vrijedi dalje od vjerojatnosti 1/2, to je primjenjivost linearne kriptoanalize bolja. U daljnjem tekstu koristi se izraz linearni odmak vjerojatnosti kao vrijednost za koju vjerojatnost da linearni izraz vrijedi prelazi 1/2. Ako gornji izraz vrijedi s vjerojatnošću pL za slučajno izabrane otvorene i odgovarajuće kriptirane tekstove tada je odmak vjerojatnosti pL – 1/2. Što je veličina odmaka vjerojatnosti, | pL -1/2|, veća to je bolja primjenjivost linearne kriptoanalize s manjim brojem poznatih otvorenih tekstova.

Jednadžba (3.3) se može ekvivalentno izraziti tako da na desnoj strani bude zbroj određenog broja bitova podključa. U načinu kako je jednadžba napisana u (3.3), bitovi ključa su implicitno uključeni. Ti bitovi su fiksni, ali nepoznati i implicitno uključeni u “0“ na desnoj strani jednadžbe i vjerojatnosti pL da jednadžba vrijedi. Ako je zbroj uključenih bitova podključa “0”, odmak od (3.3) ima isti predznak kao odmak izraza koji uključuje zbroj bitova podključa. Ako je zbroj uključenih bitova podključa “1“, odmak od (3.3) će imati suprotan predznak.

pL=1 znači da je linearni izraz (3.3) savršena reprezentacija kriptosustava, a kriptosustav ima veliku slabost. Ako je pL=0 tada (3.3) predstavlja afin odnos u kriptosustavu, također indikator velike slabosti. Za sustave kod kojih se operacija zbrajanja obavlja u modulo 2 aritmetici, afina funkcija je komplement linearne funkcije. Obje linearne i afine aproksimacije, koje pokazuju da je pL>1/2 i pL<1/2, respektivno, su jednako osjetljive na linearnu kriptoanalizu i izraz linearan se odnosi na oba odnosa, linearan i afin.

Izraz koji je linearan s velikom vjerojatnošću konstruira se tako da se uzimaju u obzir 6

Page 15: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

svojstva jedine nelinearne komponente kriptosustava: S-kutije. Moguće je razviti linearnu aproksimaciju između skupa bitova ulaza u S-kutiju i bitova izlaza iz S-kutije. Moguće je spojiti linearne aproksimacije S-kutija tako da se srednji bitovi (bitovi podataka u kriptiranom tekstu) mogu izbaciti i dobiva se linearni izraz s velikim odmakom koji uključuje samo otvoreni tekst i bitove ulaza u sljedeću rundu.

3.2.2. Otkrivanje bitova ključa

Za danu linearnu aproksimaciju moguće je odrediti jedan bit ključa sljedećim algoritmom:

T:= broj otvorenih tekstova (od njih N) takvih da je lijeva strana jednadžbe (xori P) xor (xorj C) = xork K (i bitova otvorenog teksta se xor-a s j bitova kriptiranog teksta i izjednači s xor-om k bitova podključa, gdje su bitovi koji se xor-aju neki bitovi otvorenog, kriptiranog teksta i podključa) jednaka 0.Ako je T > N/2 tada

pretpostavi xork K = 0 (kada je p > 1/2) ili 1 (inače)inače

pretpostavi xork K = 1 (kada je p > 1/2) ili 0 (inače)

Za praktičan napad poznatim otvorenim tekstom, napad koji daje više od jednog bita informacije o ključu, dešifrira se posljednja runda koristeći podključ posljednje runde. Dobiva se drukčiji izraz koji je istinit s najbolijim odmakom za n-1 rundi:

(xori P) xor (xorj C) xor (xorm f(C, Kn)) = xork K. (3.4)

Ako se zamijeni neispravni kandidat za podključ Kn efikasnost prethodnog linearnog izraza se smanjuje. Vjerojatnost da je linearna aproksimacija istinita, ako dekriptiramo posljednju rundu s dobrim podključem, je veća od vjerojatnosti kada je runda dekriptirana krivim podključem. Jedna runda dekriptiranja s krivim podključem se može smatrati kao još jedna runda kriptiranja čime će otvoreni tekst i njemu odgovarajući kriptirani tekst biti manje ovisni i linearni izraz će imati manji odmak. Sljedeći algoritam ostvaruje metodu najveće mogućnosti za modificiranu linearnu aproksimaciju. Algoritam nalazi i bitova s nekom vjerojatnošću kao rezultat dobrog kandidata podključa i jednog bita informacije o sumi nekih bitova ključa koji čine desnu stranu linearnog izraza.

Algoritam:

za svaki kandidat podključa Ki od K činitiTi := broj otvorenih tekstova (od njih N) takvih da je lijeva strana linearne aproksimacije jednaka 0

kraj

Tmax := max {Ti}Tmin := min {Ti}

7

Page 16: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Ako je |Tmax – N/2| > |Tmin – N/2| tadaPrimijeni kandidat podključa koji odgovara Tmax-u i pretpostavi

xork K = 0 (kada je p > 1/2) ili 1 (inače)kraj

Ako je |Tmax – N/2| < |Tmin – N/2| tadaPrimijeni kandidat podključa koji odgovara Tmin-u i pretpostavi

xork K = 1 (kada je p > 1/2) ili 0 (inače)kraj

Kad je za kriptosustav od R rundi s odgovarajuće velikim linearnim odmakom vjerojatnosti R-1 runda linearno aproksimirana tada se može izvesti napad tako da se dobiju bitovi posljednjeg podključa. Postupak uključuje djelomično dekriptiranje zadnje runde. Za sve moguće vrijednosti bitova posljednjeg podključa odgovarajući bitovi kriptiranog teksta se zbrajaju operacijom XOR s bitovima podključa i rezultat se propusti u obrnutom smjeru kroz odgovarajuće S-kutije. To se radi za sve poznate parove otvorenog i kriptiranog teksta i za svaku vrijednost bita posljedneg podključa se sprema brojač. Brojač za pojedine bitove posljednjeg podključa se povećava kada je linearni izraz istinit za bitove ulaza u S-kutije zadnje runde i bitove poznatog otvorenog teksta. Za vrijednost bitova ključa za koju je brojač različit od najvećeg od pola broja otvorenih/kriptiranih uzoraka se pretpostavlja da predstavlja ispravne vrijednosti bitova podključa. To vrijedi jer se pretpostavlja da ispravna djelomična vrijednost podključa rezultira linearnom aproksimacijom s vjerojatnošću značajno različitom od 1/2. Da li je veća ili manja od 1/2 ovisi o tome da li je linearni ili afini izraz najbolja aproksimacija. To ovisi o nepoznatim vrijednostima bitova podključa implicitno uključenim u linearni izraz. Pretpostavlja se da neispravni podključ rezultira u relativno slučajnom pogađanju bitova kod ulaza u S-kutije posljedne runde i kao rezultat, linearni izraz će vrijediti s vjerojatnošću blizu 1/2.

3.3. Diferencijalna kriptoanaliza

Diferencijalna kriptoanaliza je napad primjenjiv na iterativne blokovske kriptosustave. Napad je prvi put predstavio Murphy u napadu na FEAL-4, a kasnije su ga unaprijedili Biham i Shamir na CRYPTO '90 kao napad na DES [23] u [3]. Diferencijalna kriptoanaliza je u osnovi napad odabranim otvorenim tekstom i oslanja se na analizu razlika između dva otvorena teksta kriptiranim istim ključem. Te razlike se mogu iskoristiti za dodjeljivanje vjerojatnosti mogućim ključevima te za određivanje najvjerojatnijeg ključa. Za kriptosustave poput DES-a kao razlika je odabrana fiksna XOR vrijednost dva otvorena teksta. Diferencijalna kriptoanaliza je upotrijebljena u napadu na mnoge kriptosustave, a može se koristiti u napadima i na ostale kriptografske algoritme kao što su funkcije izračunavanja sažetka (eng. hash function).

8

Page 17: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

3.3.1. Pregled napada

Diferencijalna kriptoanaliza koristi visoku vjerojatnost pojavljivanja razlika otvorenog teksta i razlika u zadnjoj rundi kriptosustava. Neka je ulaz X=[X1X2...Xn] i izlaz Y=[Y1Y2...Yn]. Neka su dva ulaza u sustav X' i X'' s odgovarajućim izlazima Y' i Y''. Razlika između ulaza je

∆X = X' xor X'', (3.5)

gdje je xor bitovni ekskluzivni ili n-bitnih vektora:

∆X = [∆X1 ∆X2 ... ∆Xn] (3.6)

gdje je ∆Xi = X'i xor X''i , X'i i X''i su i-ti bitovi od X' i X''.Slično je

∆Y = Y' xor Y'' (3.7)

izlazna razlika,

∆Y = [∆Y1 ∆Y2 ... ∆Yn] (3.8)

gdje je ∆Yi = Y'i xor Y''i .

U kriptosustavu s idealnim generatorom slučajnih brojeva vjerojatnost da se nad danom razlikom ulaza ∆X pojavi određena razlika izlaza ∆Y je 1/2n gdje je n broj bitova od X. Diferencijalna kriptoanaliza traži slučaj u kojem se određeni ∆Y nad danim ∆X pojavljuje s vrlo velikom vjerojatnošću pD (puno većom od 1/2n). Par (∆X,∆Y) se naziva razlika (diferencija).

Diferencijalna kriptoanaliza je napad odabranim otvorenim tekstom. Napadač po volji odabire ulaze i promatra izlaze s ciljem otkrivanja ključa kriptiranja. Napdač odabire takve parove ulaza, X' i X'', da određeni ∆X bude zadovoljen, znajući da se za taj ∆X određeni ∆Y pojavljuje s velikom vjerojatnošću.

Diferencijalne karakteristike se dobivaju iz razmatranja svojstava pojedinih S-kutija. Razmatra se razlika ulaza i izlaza S-kutije s ciljem određivanja para s velikom vjerojatnošću razlike. Kombiniraju se razlike S-kutija iz jedne runde u drugu, tako da razlika izlaznih bitova iz jedne runde odgovara ulaznim bitovima u sljedeću rundu. Pronalazi se velika vjerojatnost razlike koja se sastoji od razlike otvorenog teksta i razlike ulaza u posljednju rundu. Bitovi podključa nestaju iz razlike, jer su uključeni u oba skupa podataka. Njihov utjecaj na razliku uključuje XOR bitova podključa sa samim sobom što rezultira nulom.

9

Page 18: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

3.3.2. Dobivanje bitova ključa

Kada je za kriptosustav od R rundi dobivena diferencijalna karakteristika za R-1 rundu, s dovoljno velikom vjerojatnošću, moguće je napasti kriptosustav izvlačenjem bitova posljednjeg podključa. U postupku se djelomično dekriptira posljednja runda i dobiva ulaz u zadnju rundu i određuje se da li se pojavio pravi par. Djelomična dekripcija zadnje runde uključuje za sve S-kutije u zadnjoj rundi ekskluzivni ili kriptiranog teksta s dijelovima bitova podključa koji se pokušavaju otkriti. Podaci se propuštaju kroz S-kutije obrnuto, gdje se isprobavaju sve moguće vrijednosti za bitove podključa koji se pokušavaju otkriti.

Djelomično dekriptiranje se provodi za svaki par kriptiranog teksta koji odgovaraju parovima otvorenih tekstova s ciljem da se generira ulazna razlika ∆P za sve moguće vrijednosti djelomičnog dijela podključa. Za svaku vrijednost pohranjuje se brojač. Brojač se povećava kada razlika za ulaz u posljednju rundu odgovara vrijednosti koja se očekuje iz diferencijalne karakteristike. Za djelomični dio ključa koji ima najveći brojač pretpostavlja se da upućuje na ispravne vrijednosti bitova podključa. Kada se pojavi krivi par, čak i kada se koristi djelomično dekriptiranje s ispravnim podključem, brojač za ispravni podključ se ne povećava.

3.4. Diferencijalno-linearna kriptoanaliza

Langford i Hellman su 1994. godine pokazali da se linearna i diferencijalna kriptoanaliza mogu kombinirati u postupak nazvan diferencijalno-linearna kriptoanaliza (eng. differential-linear cryptanalysis). U ovom postupku diferencijalni dijelovi stvaraju linearnu aproksimaciju s vjerojatnošću 1 [1] u [3]. Ovaj postupak primijenili su na DES s 8-rundi i analizirali spomenuti kriptosustav koristeći samo 512 odabranih otvorenih tekstova u nekoliko sekundi na osobnom računalu. Ovaj napad je do sad najbolji napad na DES s 8-rundi. Diferencijalno-linearna analiza je kasnije primjenjena na algoritam IDEA. Diferencijalno-linearne razlike su temeljene na kriptiranju mnogo parova s istom poznatom ulaznom razlikom. Svaki par se kriptira, a paritet izlaznog podskupa se računa za oba kriptirana teksta. Dio kada se dva pariteta podudaraju se razlikuje od 1/2 za dobru diferencijalno-linearnu karakteristiku. Dakle, može se koristiti za razlikovanje kriptiranog teksta od slučajne permutacije. Koristeći standardne postupke (pogađanje podključa runde koja slijedi, itd.) može se obaviti napad kojim se obnovi ključ.

3.5. XSL napad na kriptosustave

XSL napad (eXtended Sparse Linearisation) prvi put je objavljen 2002. godine [3] u [3]. Napad je primjenjen na kriptosustave Rijndael i Serpent. Postoje dvije verzije napada. Prva verzija je općenita i ne uključuje generiranje podključeva. Druga verzija

10

Page 19: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

koristi generiranje podključeva i izrađena je za konkretnu kriptoanalizu Rijndael-a i Serpent-a.

3.5.1. XSL-kriptosustav

XSL-kriptosustav je kompozicija Nr istovrsnih rundi:X Prva runda i = 1 počinje operacijom xor sa sjedničkim ključem Ki-1.S Slijedi B bijektivnih S-kutija, svaka sa s bitova.L Slijedi linearna difuzija.X Slijedi operacija xor sa sljedećim ključem Ki-1. Ako je i= Nr postupak završava, inače se povećava i i nastavlja s korakom S.

3.5.2. S-kutije i preodređene algebarske jednadžbe

S-kutije su jedini nelinearni dio XSL-kriptosustava. Neka je F: GF(2)8 -> GF(2)8 S-kutija takva da je F: x = (x1...xs). U Rijndaelu i Serpentu (i ostalim “dobrim” kriptosustavima), S-kutije su izgrađene s “dobrim” logičkim (boolean) funkcijama. Jedan od kriterija nad logičkim funkcijama koji se primjenjuju u kriptografiji je da svaki yi (funkcija izlaza) treba imati visok algebarski stupanj kada se izrazi kao polinom po xi. Algebarski stupanj je najveća potencija polinoma kojim je funkcija yi izražena. Međutim, to ne osigurava nepostojanje implicitnih multivarijantnih jednadžbi (jednadžbe s više nepoznanica) oblika P(x1,...,xs,y1,...,ys) niskog algebarskog stupnja. Pokazano je da za Rijndael i Serpent postoji velik broj takvih jednadžbi.Za specifičan stupanj jednadžbi d (obično d=2) zanimljiv je pravi broj r takvih jednadžbi P(x1,...,xs,y1,...,ys). Taj broj, što ne vrijedi za eksplicitne jednadžbe yi=f(x1,...,xs), može biti veći od s. Također je zanimljiv broj monomskih jednadžbi koje se pojavljuju u tim jednadžbama, a označavaju se s t, i izračunavaju uključujući konstantni izraz. Općenito vrijedi t~(s

d). Ako je t <<(sd),kažemo da su jednadžbe

rijetke. Ako je r=s, takve jednadžbe (aproksimativno) su dovoljne za potpun opis S-kutije: za svaki y prosječno će postojati 1 rješenje x. Kada je r>>s, kažemo da je sustav preodređen.

3.5.3. MQ napad na blokovske kriptosustave

SA-kriptosustav je kriptosustav sa supstitucijama i afinim funkcijama. Za svaki SA-kriptosustav takav da se S-kutije mogu opisati izrazima algebarskih jednadžbi kriptoanaliza kriptosustava se može opisati kao problem rješavanja sustava takvih jednadžbi. Ako su te jednadžbe multivarijantne kvadratne tada se takav napad naziva “MQ napad”. Takvi kriptosustavi su Rijndael i Serpent.

11

Page 20: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Postoji više načina primjene MQ napada. Sustav jednadžbi bi trebalo napisati u takvom obliku da imaju točno jedno rješenje. U praksi je dovoljno izgraditi sustav s u prosjeku jednim rješenjem. Tada, ako postoje dva rješenja obavi se pogađanje i ispravljanje nekoliko bitova.

Prvi (općeniti) napad koji zanemaruje postupak generiranja podključeva:

Ovaj napad je izrađen za bilo koji XSL-kriptosustav, bez obzira na postupak generiranja podključeva. Kako postoji (Nr+1) ključeva Ki veličina jednakih kao i otvoreni tekst (i potrebno je dovoljno ograničenja da ih se jedinstveno odredi), potrebno je (Nr+1) poznatih otvorenih tekstova. Bolja verzija koristi skup odabranih otvorenih tekstova koji se razlikuju u samo nekoliko bitova u jednoj S-kutiji. Postojat će mnogo zajedničkih varijabli sustava jednadžbi za različite parove otvorenog i kriptiranog teksta.

Drugi (specifičan) napad koji koristi postupak generiranja podključeva:

Ovaj postupak koristi samo jedan poznati otvoreni tekst. Ako je ključ dulji od veličine bloka bit će potreban još jedan otvoreni tekst. Ovaj napad je manje općenit i oslanja se na činjenicu da je postupak generiranja podključeva u Rijndaelu i Serpentu vrlo sličan samom postupku kriptiranja: koristi kombinaciju afinih transformacija i (iste) S-kutije.

Jači napadi:

Ako su napadi poput MQ napada mogući, tj. postoje efikasne metode rješavanja kvadratnih jednadžbi, tada oni omogućuju napad na kriptosustave poput napada kod kojih napadač ima samo kriptirani tekst.

3.6. Modulo n kriptoanaliza

Modulo n kriptoanaliza je još jedan napad kod kojeg se koristi odnos otvorenog teksta i ulaza u posljednju rundu. Napad je primjenjiv za kriptosustave u kojima je sigurnost temeljena na modularnom zbrajanju i rotacijama bitova. Ovaj napad je iskorišten kao modulo 3 napad na RC5P (varijanta RC5 koja koristi zbrajanje umjesto XOR), te kao modulo 5 i modulo 257 napadi na kriptosustave koji se koriste u FireWire standardu, odnosno M6 [8] iz [3].

U ovom napadu pokazuje se da je, u nekim slučajevima, vrijednost ulaza u posljednju rundu modulo n u nekom odnosu sa vrijednošću otvorenog teksta modulo n. Napadač može koristiti ovaj odnos za prikupljanje informacija o podključu posljednje runde. Kriptosustavi koji uspješno smanjuju statističke informacije koje se mogu dobiti linearnom ili diferencijalnom analizom nisu nužno sigurni od ovog napada [8] iz [3].

12

Page 21: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

3.6.1. Modulo 3 napad

U modulo 3 kriptoanalizi istražuju se modulo 3 vrijednosti nekih dijelova bloka kriptosustava kroz uzastopne runde. Dolazi se do informacija o ulazu u posljednju rundu ili dvije posljednje runde koje ih razlikuju od slučajno izabranog bloka. Izraz “modulo 3 vrijednost” predstavlja vrijednost koja se dobiva tako da se izabere neki dio 32-bitnog bloka i reducira ga se modulo 3. Dakle, modulo 3 vrijednost može biti jedino 0, 1 ili 2. U slučajno odabranom 32-bitnom bloku očekuje se da se 0, 1 i 2 kao modulo 3 vrijednosti pojavljuju sa gotovo jednakom vjerojatnošću. Blokovi blokovskih kriptosustava prolaze kroz veći broj uzastopnih rundi. Blok bi trebalo sve teže razlikovati od slučajno odabranog bloka. Modulo 3 kriptoanaliza djeluje kada vrijednost bloka modulo 3 još uvijek nije preteško razlikovati od slučajnog bloka.

3.6.1.1. Aproksimacija rotacija

Motivacija za modulo 3 kriptoanalizu bilo je ponašanje modulo 3 vrijednosti nekih 32-bitnih riječi, X, prije i poslije rotacije za jedan bit.Neka je X 32-bitni cijeli broj, a X<<<1 X rotiran lijevo za jedan bit. Učinak rotacije se može pisati kao:

X<<<1 = 2X , ako je X < 231; (3.9)X<<<1 = 2X + 1 – 232 , ako je X ≥ 231. (3.10)

Vrijedi: 232 ≡ 1 mod 3. Dakle, X<<<1 ≡ 2X mod 3, jer je 2X + 1 – 232 ≡ 2X mod 3.Iz toga se izvodi učinak većeg broja rotacija, kao na primjer:

X<<<2 ≡ (X<<<1) <<< 1 ≡ 2 x 2 x X ≡ X mod 3. (3.11)

Općenito vrijedi:

X<<<n ≡ 2nX ≡ 2 n mod 2 X mod 3. (3.12)

Vrijedi da rotacija za bilo koji neparan broj bitova množi modulo 3 vrijednost s 2, a množenje s bilo kojim neparnim brojem bitova ostavlja modulo 3 vrijednost nepromijenjenu. Kada je poznat broj bitova za koji je 32-bitni blok rotiran i ako je poznata njegova ulazna modulo 3 vrijednost tada se može odrediti njegova izlazna vrijednost modulo 3.

Neka je poznata ulazna vrijednost modulo 3, ali nije poznat broj rotacije. I u ovom slučaju poznate su neke informacije o izlaznoj modulo 3 vrijednosti. To je zato jer vrijedi:

X <<< n mod 3 = 2X mod 3, ako je n neparan (3.13)

13

Page 22: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

X <<< n mod 3 = X mod 3, ako je n paran. (3.14)

Ako je X mod 3 = 0 tada je X <<< n ≡ 0 mod 3 bez obzira na n. Slijedi da je vjerojatnost Pr[X <<< n ≡ X mod 3] = 4/6 kada je X uniformno distribuiran i poznate su nepotpune informacije od X <<< n.

3.6.1.2. Aproksimacija zbrajanja

Za zbrajanje modulo 232 vrijedi:

X + Y mod 232 = X + Y, ako nema prijenosa (eng. Carry) (3.15)

X + Y mod 232 = X + Y - 232, ako postoji prijenos (eng. Carry). (3.16)

Kako vrijedi 232 ≡ 1 modulo 3 može se pisati:

(X + Y mod 232) mod 3 = X + Y mod 3, ako nema prijenosa (3.17)

(X + Y mod 232) mod 3 = X + Y – 1 mod 3, ako postoji prijenos. (3.18)

3.6.2. Ostali modulo n napadi

Od ostalih modulo n napada valja spomenuti modulo 5 napad. Također se Feistelova funkcija f može dobro aproksimirati modulo 257. Te aproksimacije se mogu lako iskoristiti u napadu obnavljanja ključa, jer otkrivaju vrijednosti K2 mod 257.Mogu se razmotiri modulo p napadi za bilo koji prim broj p koji dijeli 232 – 1. Faktorizacija od 232 - 1 je 3 * 5 * 17 * 257 * 65537, pa nema nedostatka za potencijalnog kandidata za p. Također se mogu razmotriti napadi modulo n gdje n nije nužno prim broj. Kada je n složen tada je modulo n napad ekvivalentan kriptoanalizi modulo p s više aproksimacija. Ako je faktorizacija od n jednaka p1 * ... * pm tada se po Kineskom teoremu ostataka svi modulo n napadi mogu rastaviti na m napada modulo pj.

3.7. Napad susret u sredini

Napad susret u sredini (eng. meet-int-the-middle) uključuje dvije funkcije f1 i f2 za koje postoje dva ulaza a i b tako da je f1(a)=f2(b). Cilj je naći a i b. Mogu također postojati i drugi parovi ulaza koji zadovoljavaju tu jednadžbu, ali je tipično samo jedan par rješenje.

14

Page 23: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Napad susret u sredini može se primijeniti na varijanti DES-a naziva dvostruki-DES gdje se podaci kriptiraju dva puta s dva nezavisna ključa (k1, k2). Diffie i Hellman su pokazali da je dvostruki-DES osjetljiv na ovaj napad koji pronalazi k1 i k2. Neka je dan par otvorenog i kriptiranog teksta (P, C) takvi da se postupkom dvostrukog-DES-a uz par ključeva (k1, k2) P preslikava u C. Funkcija f1 je funkcija kriptiranja konstante P s DES ključem, a f2 je funkcija dekriptiranja konstante C s DES ključem. Vrijedi f1(k1)=f2(k2). Ovdje su P i C implicitne konstante u f1 i f2. Mogu postojati i drugi pogrešni parovi ključeva koji preslikavaju P u C, ali samo jedan par ključeva je ispravan.

15

Page 24: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

4. Strategija širokog traga

Strategija širokog traga (eng. Wide Trail Strategy) je način izgradnje blokovskih kriptosustava tako da kriptosustav bude otporan na diferencijalnu i linearnu kriptoanalizu, a uz to i efikasan. Strategiju su razvili Joan Daemen i Vincent Rijmen prilikom izgradnje Rijndael-a

Radi lakšeg objašnjenja strategije širokog traga opisan je model blokovskog kriptosustava čijom analizom se lako može odrediti otpornost na linearnu i diferencijalnu kriptoanalizu [4].

4.1. Model blokovskog kriptosustava

4.1.1. Blokovski kriptosustav s alternirajućim ključem

Blokovski kriptosustav transformira blokove otvorenog teksta fiksne duljine nk u blokove kriptiranog teksta jednake duljine korištenjem ključa k. Iterativni blokovski kriptosustav se definira kao primjena većeg broja logičkih permutacija ovisnih o ključu. Logičke transformacije se nazivaju transformacije runde. Dakle, vrijedi:

β[k] = ρ(r) [k(r)] o ... o ρ(2) [k(2)] o ρ(1) [k(1)] (4.1)

gdje je r broj rundi, ρ(i) je i-ta runda i k(i) je ključ i-te runde. Svaka runda koristi jednake transformacije.

Blokovski kriptosustav s alternirajućim ključem je iterativni blokovski kriptosustav sa sljedećim svojstvima:

● Alternacija: kriptosustav je definiran kao primjena transformacija runde neovisnih o ključu i primjena ključa trenutne runde. Prvi podključ primjenjuje se prije prve runde, a posljednji podključ nakon posljednje runde.

● Binarno zbrajanje ključa: podključ runde se primjenjuje tako da se svaki bit stanja bloka zbraja operacijom XOR s bitom podključa runde.

Vrijedi:

β[k] = σ[k(r)] o ρ(r) o σ[k(r-1)] o ... o σ[k(1)] o ρ(1) o σ[k(0)] (4.2)

16

Page 25: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

4.1.2. γλ struktura runde

U strategiji širokog traga transformacije runde su kompozicija dvaju invertibilnih koraka:

● γ: lokalna nelinearna transformacija. Lokalnost znači da bilo koji izlazni bit ovisi samo o ograničenom broju ulaznih bitova i da susjedni izlazni bitovi ovise o susjednim ulaznim bitovima.

● λ: linearna transformacija koja rezultira visokom difuzijom.

Dakle, transformacija jedne runde ρ je:

ρ = λ o γ, (4.3)

i naziva se γλ transformacija runde.

Tipična konstrukcija za γ je preslikavanje koje se sastoji od invertibilnih supstitucijskih tablica (S-kutija). Bitovi ulaznog vektora se podijele u nt m-bitnih dijelova ai ∈Z2

m gdje je i ∈ I. I se naziva prostorom indeksa. Inverz od γ sastoji se od inverznih supstitucijskih tablica. Veličina bloka kriptosustava je dana s nb=mnt.

Transformacija λ je linearna funkcija. Može se na razini bitova predstaviti kao jednostavna nbx nb binarna matrica M. Vrijedi:

λ : b = λ(a) <=> b = Ma (4.4)

Na slici 4.1. prikazana je shematska reprezentacija γλ transformacije runde koju slijedi dodavanje ključa.

Slika 4.1. Shematska reprezentacija γλ transformacije runde

17

Page 26: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

4.2. Propagiranje razlika kod diferencijalne kriptoanalize

Diferencijalna kriptoanaliza opisana je u poglavlju 3.3. Za n-bitne vektore a i a*

razlika je jednaka a xor a* = a'. Neka je b = h(a), b* = h(a*) i b' = b xor b*. Razlika a' propagira do razlike b' kroz h. Općenito b' nije poptuno određen s a' nego ovisi o vrijednostima a (ili a*).

Definicija 4.1. Vjerojatnost propagacije razlike Ph(a',b') definira se kao

Ph(a',b') = 2-n ∑a δ(b' xor h(a xor a') xor h(a)) (4.5)

gdje je δ(a) Kroneckerova delta funkcija, čiji izlaz je nula, osim kada je ulaz jednak nuli: δ(0)=1. Ako je par izabran uniformno iz skupa svih parova (a,a*) s a xor a* = a' tada je Ph(a',b') vjerojatnost da vrijedi: h(a) xor h(a*) = b'.

Neka je β logičko preslikavanje n-bitnog vektora koje se sastoji od r preslikavanja:

β = ρ(r) o ρ(r-1) o ... o ρ(2) o ρ(1) (4.6)

Diferencijalni trag (eng. differential trail) A kompozicije preslikavanja sastoji se od niza od r+1 diferencijalnih uzoraka:

Q = (q(0),q(1),q(2),...,q(r-1),q(r)). (4.7)

Vjerojatnost diferencijalnog traga je broj vrijednosti a0 za koje diferencijalni uzorci prate diferencijalni trag podijeljen s brojem mogućih vrojednosti za a0. Diferencijalni trag sastoji se od r diferencijalnih koraka (q(i-1),q(i)) koji imaju vjerojatnost propagacije:

P ρ(i) (q(i-1),q(i)). (4.8)

Diferencijalna kriptoanaliza iskorištava diferencijalne propagacije (q(0),q(r)) s velikim vjerojatnostima. Vjerojatnost diferencijalne propagacije (a',b') je suma vjerojatnosti diferencijalnih tragova svih r-rundi s početnom razlikom a' i završnom razlikom b':

P(a',b') = ∑q(0)=a',q(r)=b' P(Q). (4.9)

4.3. Postizanje male vjerojatnosti propagacije razlika

Za uspješnu klasičnu diferencijalnu kriptoanalizu napadač treba znati ulaznu razliku koja propagira do izlazne razlike preko svih osim nekoliko (2 ili 3) rundi s vjerojatnošću većom od 21-nb. Da bi se to izbjeglo izabire se broj rundi tako da ne postoji diferencijalni trag s vjerojatnošću iznad 21-nb.

Ova strategija ne jamči da ne postoji takva diferencijalna propagacija s visokom 18

Page 27: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

vjerojatnošću. Prema izrazu za vjerojatnost diferencijalne propagacije može se vidjeti da se mnogi tragovi s malom vjerojatnošću mogu zbrojiti do diferencijalne propagacije s visokom vjerojatnošću. Za bilo koje logičko preslikavanje ulazna razlika mora propagirati do neke izlazne razlike, a zbroj vjerojatnosti propagacija razlika preko svih mogućih izlaznih razlika je 1. Dakle, moraju postojati propagacije razlika s vjerojatnošću >= 21-nb. Ova činjenica vrijedi i za logička preslikavanja kriptosustava za danu vrijednost ključa. Dakle, prisutnost propagacija razlika s velikim vjerojatnostima preko bilo kojeg broja rundi kriptosustava matematički se ne može izbjeći.Neka diferencijalna propagacija za danu vrijednost ključa ima vjerojatnost y. To znači da postoji točno y2nb-1 parova s danom ulaznom razlikom i danom izlaznom razlikom. Svaki od tih parova slijedi određeni diferencijalni trag.

Uz pretpostavku da su parovi raspodijeljeni po tragovima prema Poissonovoj razdiobi očekivani broj parova koji za dani ključ slijede diferencijalni trag s vjerojatnošću propagacije 2-z je 2nb-1-z. Neka je dan diferencijalni trag s vjerojatnošću propagacije 2-z

manjoj od 21-nb kojeg slijedi barem jedan par. Vjerojatnost da taj trag slijedi više od jednog para je aproksimativno 2nb-1-z. Ako ne postoje diferencijalni tragovi s propagacijskim vjerojatnostima iznad 21-nb tada y2nb-1 parova, koji imaju ispravne ulazne i izlazne razlike, slijedi gotovo y2nb-1 različitih diferencijalnih tragova.

Ako ne postoje diferencijalni tragovi s malom težinom tada su diferencijalne propagacije s velikom vjerojatnošću rezultat mnogih diferencijalnih tragova, a slijedi ih par za danu vrijednost ključa. Za neku drugu vrijednost ključa svaki od tih diferencijalnih tragova može ali ne mora slijediti par. Prema ovome, predviđanje ulaznih i izlaznih razlika koje imaju velike vjerojatnosti diferencijalne propagacije je praktično nedostižno. Ovo vrijedi ako je ključ poznat. Ako ključ nije poznat vrijedi još i više.

Dakle, ograničavanje vjerojatnosti propagacija razlika je dobra strategija u izgradnji kriptosustava.

4.4. Korelacije kod linearne kriptoanalize

Linearna kriptoanaliza opisana je u poglavlju 3.2. Umjesto izraza vjerojatnosti linearne aproksimacije upotrebljava se izraz korelacija.

Definicija 4.2. Korelacija C(f,g) između dviju logičkih funkcija f(a) i g(a) definira se kao

C(f,g) = 2 Prob(f(a) = g(a)) – 1. (4.10)

Slijedi da je C(f,g) = C(g,f). Paritet logičkih vektora je logička funkcija definirana kao xor određenog broja bitova. Paritet se određuje prema pozicijama bitova vektora koji su uključeni u xor. Selekcijski uzorak w pariteta je logički vekor koji ima 1 u

19

Page 28: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

komponentama koje su uključene u paritet, a 0 u svim ostalim komponentama. Paritet vektora a se izražava u odnosu na w kao w ta, gdje je w t transponirani vektor w. Za vektor a od n bitova postoji 2n različitih pariteta. Skup pariteta logičkog vektora je skup svih linearnih logičkih funkcija od tog vektora.

Linearni trag U preko kompozicije preslikavanja sastoji se od niza od r+1 selekcijskih uzoraka:

U = (u(0),u(1),u(2),...,u(r-1),u(r)). (4.11)

Linearni trag je kompozicija od r linearnih koraka (u(i-1),u(i)) koji imaju korelaciju:

C(u(i)tρ(i)(a),u(i-1)ta) (4.12)

Korelacijska kontribucija Cp linearnog traga je umnožak korelacija svih koraka:

Cp(U) = Πi Cρ(i)u(i)u(i-1). (4.13)

4.5. Postizanje niske amplitude korelacije

Za uspješnu linearnu kriptoanalizu napadač treba znati ulazni paritet i izlazni paritet nakon svih osim nekoliko rundi koje imaju korelaciju s amplitudom većom od 2-nb/2. Da bi se ovo izbjeglo izabire se takav broj rundi da ne postoje linearni tragovi s korelacijskom kontribucijom iznad nk

-12-nb/2.

Ovo ne jamči da ne postoje visoke korelacije preko r rundi. Za bilo koji izlazni paritet zbroj kvadriranih amplituda korelacija sa svim ulaznim paritetima je 1. Uz pretpostavku da je izlazni paritet jednako koreliran sa svim 2nb mogućim ulaznim paritetima, korelacija do svakog od tih ulaznih pariteta ima amplitudu 2-nb/2. U praksi je malo vjerojatno da će takva uniformna razdioba biti postignuta i postojat će korelacije s amplitudama većim od 2-nb/2. Ovo vrijedi i za logička preslikavanja u kriptosustavu za danu vrijednost ključa. Dakle, prisutnost visokih korelacije preko svih osim nekoliko rundi matematički se ne može izbjeći.

U odsutnosti lokalnog gomilanja linearnih tragova visoke korelacije se mogu pojaviti samo kao rezultat 'konstruktivnih međudjelovanja' mnogih linearnih tragova koji dijele iste početne i završne selekcijske uzorke. Svaka takva korelacija s amplitudom iznad 2-nb/2 mora biti rezultat od barem nk različitih linearnih tragova. Stanje da linearni trag u ovom skupu konstruktivno pridonosi rezultirajućoj korelaciji nameće linearnu relaciju nad bitovima podključa runde. Prema činjenici da se kombinira više od nk

linearnih tragova je malo vjerojatno da sva takva stanja mogu biti zadovoljena tako da se izabere odgovarajuća vrijednost ključa.

Zbog jake ovisnosti ove interferencije o ključu, ako određeni izlazni paritet ima visoku korelaciju s određenim ulaznim paritetom za dani ključ, malo je vjerojatno da

20

Page 29: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

će tako biti i za drugu vrijednost ključa. Iako visoke korelacije kriptosustava postoje bez obzira na broj rundi, zbog jake ovisnosti o podključu runde mogu se odrediti ulazni i izlazni selekcijski uzorci za koje su visoke korelacije gotovo nedostižne. Ovo vrijedi ako je ključ poznat. Ako ključ nije poznat vrijedi još i više.

Dakle, ograničavanje amplitude korelacije između ulaznih pariteta i izlaznih pariteta je dobra strategija.

4.6. Težina traga

γ je tablično preslikavanje koje se sastoji od S-kutija. Korelacija preko γ je umnožak korelacija preko različitih pozicija u S-kutijama za dani ulazni i izlazni selekcijski uzorak.

Težina korelacije definira se kao negativan logaritam amplitude. Težina korelacije za ulazni selekcijski uzorak i izlazni selekcijski uzorak je zbroj težina korelacija različitih pozicija S-kutija. Ako je izlazni selekcijski uzorak za određenu poziciju S-kutije ili skupine bitova različit od nule tada se takva S-kutija ili skupina bitova naziva aktivnom.

Slično, težina diferencijalne propagacije preko γ definira se kao negativan logaritam vjerojatnosti. Težina diferencijalne propagacije za danu ulaznu i izlaznu diferenciju jednaka je zbroju težina diferencijalnih propagacija pozicija S-kutija. Ako je ulazna diferencija za određenu S-kutiju ili skupinu bitova različita od nule tada se takva S-kutija ili skupina bitova naziva aktivnom.

Kontribucija korelacije linearnog traga jednaka je produktu korelacija svih koraka. Težina takvog traga definira se kao zbroj težina njegovih koraka. Kako je težina koraka jednaka zbroju težini pozicija aktivnih S-kutija, težina linearnog traga je zbroj tih vrijednosti od aktivnih S-kutija. Gornja granica korelacije je donja granica težine po S-kutiji. Dakle, težina linearnog traga jednaka je ili veća od broja aktivnih grupa bitova u svim selekcijskim uzorcima puta minimum (korelacijske) težine po S-kutiji. Broj aktivnih skupina bitova u uzorku ili tragu naziva se težina skupine bitova.

Diferencijalni trag definiran je serijama diferencijalnih uzoraka. Težina takvog traga jednaka je zbroju težina uzoraka diferencija traga. Analogno linearnom tragu, težina diferencijalnog traga jednaka je ili veća od broja aktivnih S-kutija puta minimum (diferencijalne) težine po S-kutiji.

21

Page 30: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

4.7. Široki tragovi

Gornji razlozi sugeriraju dva moguća načina uklanjanja tragova malih težina:

1. Izbor S-kutija s velikom minimalnom diferencijalnom i korelacijskom težinom.2. Izgradnja transformacije runde na takav način da ne postoje relevantni tragovi s

niskom težinom skupine bitova.

Maksimalna amplituda korelacije m-bitne invertibilne S-kutije je iznad 2m/2 što povlači gornju granicu minimalne (korelacijske) težine od n/2. Maksimalna vjerojatnost diferencijalne propagacije je barem 2m-2 što povlači gornju granicu minimalne (diferencijalne) težine od m-2. Može se izvesti zaključak da je potrebno izabrati velike S-kutije.

U ovoj strategiji ne odabire se takav pristup. Ova strategija teži takvim transformacijama runde da ne postoje tragovi s malom težinom skupine bitova. U izgradnji kriptosustava po ovoj strategiji relativno velika količina resursa se troši na to da linearni korak proizvede visoku difuziju.

4.8. Difuzija

Difuzija je izraz kojeg je uveo C. Shannon i označava kvantitativno raspršivanje informacije. Preslikavanje γ dovodi do interakcije između različitih bitova unutar grupe bitova što se može nazvati difuzijom. Međutim, ne dovodi do interakcije između grupa bitova: diferencijalna propagacija i korelacija preko γ ostaju ograničene unutar grupe bitova. Ovu strategiju ne zanima ovakva vrsta difuzije. Izraz difuzija označava svojstva preslikavanja da povećavaju minimalnu težinu skupine bitova linearnog i diferencijalnog traga. Takva difuzija postiže se s λ. γ ne dovodi do difuzije.

Težina skupine bitova jednog traga runde, diferencijalnog ili linearnog, je jednaka broju aktivnih grupa bitova ulaza. Minimalna težina skupine bitova jedne runde je 1, neovisno o λ.

4.8.1. Brojevi grananja

Neka α dijeli bitove stanja u nα skupova koji se nazivaju α-skupovi. Primjer takve podjele je podjela bitova u skupine bitova. Težina vrijednosti stanja u odnosu na podjelu α je jednaka broju α-skupova koji imaju barem jedan bit različit od nule. Ovo se označava s wα (a). Ako se ovo primjeni na razliku a’, wα (a’) je broj aktivnih α-skupova u a’. Ako se primjeni na selekcijski uzorak v, wα (v) je broj aktivnih α-

22

Page 31: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

skupova u v. Ako je α podjela koja formira skupine bitova, wα (a) je broj aktivnih grupa bitova u uzorku a i označava se s wb(a).

Definicija 4.3: Diferencijalni broj grananja transformacije f u odnosu na podjelu α definira se kao:

Bd(f,α) = mina,b<>a { wα(a xor b) + wα(f(a) xor f(b))}. (4.14)

Za linearnu transformaciju λ(a) xor λ(b) = λ(a xor b) vrijedi:

Bd(λ,α) = mina’<>0 { wα(a’) + wα( λ (a’))}. (4.15)

Gornja granica za diferencijalni broj grananja logičke transformacije f u odnosu na podjelu α dana je s nα, jer izlazna diferencija u odnosu na ulaznu diferenciju sa skupinom bitova različitom od nule može imati težinu najviše nα. Dakle, diferencijalni broj grananja od f u odnosu na α je ograničen s gornje strane sa

Bd(f,α) <= nα + 1. (4.16)

Definicija 4.4: Linearni broj grananja transformacije f u odnosu na α definira se kao:

Bl(f,α) = minα,β, c(αtx, βtf(x)) <>0{ wα(α) + wα(β)}. (4.17)

U daljnjem tekstu se ono što vrijedi i za diferencijalne i linearne brojeve grananja označava jednom oznakom za broj grananja B. Podjela α je jasna iz konteksta te se u takvim slučajevima B(f,α) označava s B(f).

4.9. Efikasna struktura alternirajućeg ključa

Efikasna struktura alternirajućeg ključa ostvaruje se tako da se izgradi blokovski kriptosustav s alternirajućim ključem koji se sastoji od alternacije dviju različitih transformacija runde:

ρa = θ ο γ (4.18)ρb = Θ ο γ (4.19)

Transformacija γ se definira kao u prethodnom tekstu i djeluje nad nb m-bitnim skupinama bitova.

23

Page 32: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

4.9.1. Transformacija difuzije θ

U odnosu na θ, skupine bitova stanja grupiraju se u stupce prema podjeli Ξ prostora indeksa I. Stupac se označava sa ξ, a broj stupaca s nΞ. Stupac koji sadrži indeks i označava se sa ξ(i), a broj elemenata u stupcu ξ s nξ. Veličina stupca je u sljedećem odnosu s veličinom bloka:

mΣξ∈Ξ nξ = mnt. (4.20)

θ je tablično preslikavanje s komponentama preslikavanja od kojih svaka djeluje na jedan stupac. Unutar svakog stupca skupine bitova su linearno kombinirane. Vrijedi:

θ : b = θ(a) <=> bi = Σ i∈ξ(i) Ci,jaj (4.21)

Tablično preslikavanje θ treba samo realizirati difuziju unutar stupaca, pa ima manje troškove realizacije.

Slika 4.2. Transformacija difuzije θ

Slično aktivnim skupinama bitova može se govoriti i o aktivnim stupcima. Broj aktivnih stupaca propagacijskog uzorka a označava se s ws(a). Transformacija runde ρa = θ ο γ je tablična transformacija koja djeluje neovisno na veći broj stupaca. Broj grananja od θ je jednak minimumu broja grananja od komponenata te transformacije. Vrijedi sljedeće ograničenje odozgo:

B(θ) <= minξnξ+1. (4.22)

Dakle, najmanji stupac definira gornju granicu broja grananja.

4.9.2. Linearna transformacija Θ

Θ pomiješa skupine bitova preko različitih stupaca.

Θ : b = Θ(a) <=> bi = Σj Ci,jaj (4.23)

24

Page 33: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Cilj transformacije Θ je da pruži difuziju unutar stupca. Kriterij izrade za Θ je da ima veliki broj grananja u odnosu na Ξ. Ovo se naziva broj grananja stupca i označava se s B(Θ,Ξ).

4.9.3. Efikasna konstrukcija za Θ

Θ, suprotno θ, ne djeluje na različite stupce neovisno i može imati mnogo veće troškove realizacije. Θ se može konstruirati, tj. izraziti s θ i transpozicijama skupina bitova označenih s π. Definira se:

Θ = π o θ o π. (4.24)

Transpozicija skupine bitova π.. Transpozicija skupine bitova π definira se kao

π : b = π(a) <=> bi = ap(i), (4.25)

gdje je p(i) permutacija prostora indeksa I. Inverz od π definira se s p-1(i). Valja uočiti da π utječe na težinu skupine bitova propagacijskog uzorka. Dakle, ne utječe na broj grananja transformacije ako je ona sastavljena s π.

Suprotno θ, π pruža difuziju unutar stupca. Intuitivno je jasno da dobra difuzija za π znači da distribuira različite skupine bitova stupca u što je moguće više različitih stupaca. Kaže se da je π difuzijsko optimalna (eng. diffusion-optimal) ako su različite skupine bitova u svakom stupcu distribuirane preko svih različitih stupaca. Formalno:

∀ i, j ∈ I, i <> j : (ξ(i) = ξ(j)) => (ξ(p(i)) <> ξ(p(j))). (4.26)

Može se pokazati da isto svojstvo vrijedi i za π -1. Difuzijsko optimalna transpozicija π povlači:

ws(π(a)) >= maxξ(wb(aξ)). (4.27)

Dakle, difuzijsko optimalna transpozicija može postojati samo ako vrijedi nΞ >= maxi(nξi), tj. π može biti difuzijsko optimalna ako postoji barem toliko stupaca koliko ima skupina bitova u najvećem stupcu. Ako je π difuzijsko optimalna tada se može dokazati da je broj grananja stupca od preslikavanja Θ ograničena odozdo s brojem grananja od θ.

4.10. Korištenje identične transformacije runde

Efikasna struktura opisana u poglavlju 4.9. koristi dvije različite transformacije runde. Moguće je definirati strukturu blokovskog kriptosustava sa samo jednom

25

Page 34: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

transformacijom runde koja postiže jednaka ograničenja. Ovakva struktura runde korištena je u Rijndael-u i srodnim kriptosustavima. Prednost jedne transformacije runde je u tome što reducira linije koda programa u programskom ostvarenju i površinu čipa u sklopovskim ostvarenjima. Zbog toga je λ sastavljena od dva tipa preslikavanja:

● θ: linearno tablično preslikavanje koje pruža visoku lokalnu difuziju, kao što je opisano u poglavlju 4.9.1.

● π: transpozicijsko preslikavanje koje pruža visoku disperziju, kao što je opisano u poglavlju 4.9.3.

Dakle, za transformaciju runde vrijedi:

ρ c = θ o π o λ (4.28)

Na slici 4.3. je prikazana shematska reprezentacija različitih transformacija runde.

Slika 4.3. Shematska reprezentacija koraka od γπθ transformacije runde

26

Page 35: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

5. Izgradnja supstitucijskih tablica

Supstitucijska tablica (S-kutija) je preslikavanje n binarnih ulaza u m binarnih izlaza:SBOX[x]: Z2

n->Z2m.

Svojstva S-kutije čine osnovu sigurnosti simetričnih kriptosustava. Prema Shannon-ovoj teoriji tajnosti sustava koji pružaju konfuziju i difuziju u SP-mrežama (eng. substitution-permutation networks, supstitucije i permutacije u kriptosustavu) i popularnosti DES-a, S-kutije su osnova mnogih efikasnih i sigurnih kriptosustava. Supstitucijska tablica može biti jednostavno programski ostvarena tako da su S-kutije privlačne za brza softverska kriptiranja.

Prilikom opisa kriterija u izgradnji S-kutija neće se ulaziti u matematičke detalje. Oni se mogu pronaći u literaturi [7] i [8].

5.1. Kriteriji u izgradnji S-kutija

S-kutije su jedan od razloga sigurnosti kriptosustava. Nakon otkrića linearne i diferencijalne kriptoanalize izgradnja S-kutija se temelji na tome da S-kutije budu otporne na takve napade. U obzir se također uzima otpornost na algebarske napade. Pokazano je da se linearna i diferencijalna kriptoanaliza mogu spriječiti tako da se izaberu komponente logičkih funkcija koje su blizu optimalnosti [7].

Od važnosti su sljedeća svojstva [7]:

1. maksimizacija nelinearnosti2. minimizacija najveće netrivijalne vrijednosti u XOR tablici3. maksimizacija algebarskog reda4. minimizacija najveće netrivijalne korelacije između linearnih kombinacija bitova

ulaza i linearnih kombinacija bitova izlaza5. nepostojanje fiksnih točaka (SBOX[x]=x) ili reverznih fiksnih točaka (SBOX[x]=x’, x'

je komplement od x)6. kompleksnost ekvivalentnog algebarskog opisa S-kutije u GF2.

Kriteriji 1 i 2 osiguravaju otpornost na linearnu kriptoanalizu. Linearna kriptoanaliza uključuje izgradnju linearnih aproksimacija nelinearnih funkcija kriptosustava. Dakle, maksimizacija nelinearnosti unutar komponenti logičkih funkcija u S-kutiji osigurava izravnu otpornost na takve napade. Ovo je ekvivalentno minimizaciji najveće netrivijalne vrijednosti u XOR tablici.

Neka su x i y 2n ulazne i izlazne logičke varijable, (x0,x1,…,xn-1) i (y0,y1,…,yn-1), odnosno ulazni i izlazni bitovi n x n S-kutije, respektivno. Neka je f neka Z2-linearna

27

Page 36: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

kombinacija varijabli od x, g neka Z2-linearna kombinacija varijabli od y, i A podskup od skupa S veličine 2n gdje S sadrži sve 2n (x,y) parove koji definiraju danu S-kutiju. Tada se n x n S-kutija smatra optimalno otporna na linearnu kriptoanalizu ako vrijedi:

f(x) = g(x) ∀(x,y)∈ A (5.1)||A| - 2n-1| <= 2n/2 n je paran (5.2)

||A| - 2n-1| <= 2(n-1)/2 n je neparan (5.3)

S-kutija, odnosno invertibilno preslikavanje n-bitnih ulaza u n-bitne izlaze je potpuno opisana kao skup S (x,y) parova. A sadrži potpun podskup elemenata od S za koje vrijedi f(x)=g(y).

Algebarski red se također treba maksimizirati da se spriječi aproksimacija. Algebarski red je vrijednost koja zadovoljava polinom kojim je funkcija prikazana. Kriterij 4 je osnova za sprečavanje diferencijalne kriptoanalize. Ovo svojstvo treba minimizirati. Kriterij 6 osigurava otpornost na interpolacijske napade [7].

Navedena svojstva se u danoj S-kutiji kombiniraju. Postoje različite metode za generiranje kriptografski korisne S-kutije: oblik slučajne generacije, korištenje operacija u konačnim poljima, heuristički algoritmi.

Velika pažnja prilikom izgradnje S-kutija pridaje se otpornosti na linearnu i diferencijalnu kriptoanalizu.

Definicija 5.1. [2] Za bilo koju S-kutiju S s m-bintim ulazima i izlazima diferencijska vjerojatnost (eng. Differential Probability) DPS(dx,dy) i linearna vjerojatnost LPS(Gx,Gy) definiraju se na sljedeći način:

DPS(dx,dy) = | { x ∈ GF(2m) | S(x) xor S(x xor dx) = dy } | / 2m (5.4)

i

LPS(Gx,Gy) = ( | { x ∈ GF(2m) | Gx ⋅ x = Gy ⋅ S(x) } | / 2m-1 – 1 )2 (5.5)

respektivno, gdje su dx, dy, Gx i Gy ulazna diferencija, izlazna diferencija, ulazna maska i izlazna maska respektivno. x ⋅ y označava paritet (0 ili 1) od x and y.

Dakle, diferencijska vjerojatnost za danu ulaznu razliku dx i izlaznu razliku dy je jednaka omjeru broja ulaza x za koje dane razlike vrijede i ukupnog broja ulaza. Linearna vjerojatnost za dane selekcijske uzorke Gx i Gy jednaka je korelaciji ulazne linearne aproksimacije i izlazne linearne aproksimacije. Korelacija se računa prema (4.10).

Definicija 5.2. [2] Prema definiciji 5.1. maksimalna diferencijska vjerojatnost p i

28

Page 37: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

maksimalna linearna vjerojatnost q definiraju se kao:

p = max dx<>0,dy DPS(dx,dy) (5.6.)i

q = max Gx,Gy<>0 LPS(Gx,Gy) (5.7.).

Kod određivanja maksimalne diferencijalne vjerojatnosti u obzir se uzimaju samo ulazne razlike različite od nule, odnosno aktivne skupine bitova. Analogno, kod određivanja maksimalne linearne vjerojatnosti u obzir se uzimaju samo izlazni selekcijski uzorci različiti od nule, odnosno aktivne skupine bitova.

29

Page 38: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

6. Primjena strategije širokog traga kod Rijndael-a

6.1. Opis Rijndael-a

Rijndael, algoritam koji je izabran za AES izgradili su Joan Daemen i Vincent Rijmen. Rijndael je iterativni blokovski kriptosustav s varijabilnom duljinom bloka i varijabilnom duljinom ključa. Duljina bloka i duljina ključa mogu biti 128, 192 ili 256 bitova. U izgradnji kriptosustava su u obzir uzeti sljedeći kriteriji:

● otpornost na poznate napade,● brzina i kompaktnost koda za razne platforme,● jednostavnost izgradnje.

U mnogim kriptosustavima transformacija runde je Feistel struktura. U toj strukturi dio bitova stanja se jednostavno premjesti na drugu poziciju. Rijndael u transformaciji runde nema Feistel strukturu. Transformacija runde se sastoji od tri različite invertibilne uniformne transformacije koje se nazivaju slojevima. Pod pojmom “uniformne” misli se na to da se na svaki bit stanja djeluje na jednak način.

Spomenuti slojevi su u većem dijelu izabrani prema strategiji širokog traga. Prema strategiji širokog traga svaki sloj ima svoju funkciju:

Linearni sloj miješanja: osigurava visoku difuziju preko više rundi.Nelinearni sloj: paralelna primjena S-kutija koje imaju optimalna

nelinearna svojstva najgoreg slučaja.Sloj dodavanja ključa: jednostavna operacija XOR između podključa

runde i stanja.

Prije prve runde primjenjuje se dodavanje ključa. Motivacija za početno dodavanje ključa je sljedeće. Svaki sloj nakon zadnjeg dodavanja ključa (ili prije prvog dodavanja, u kontekstu napada poznatim otvorenim tekstom) se može jednostavno izuzeti bez znanja ključa i zbog toga ne doprinosi sigurnosti kriptosustava (npr. kao početna i završna permutacija kod DES-a).

Kako bi postupci kriptiranja i dekriptiranja bili što više slični u svojoj strukturi, linearni sloj miješanja zadnje runde se razlikuje od sloja miješanja u ostalim rundama. Može se pokazati da ovo ne djeluje na sigurnost kriptosustava ni na koji način.

Prilikom opisa Rijndael-a pretpostavlja se poznavanje GF polja, jer su operacije u Rijndael-u matematičke operacije u GF polju.

30

Page 39: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

6.1.1. Stanje, ključ i broj rundi

Različite transformacije djeluju na trenutni rezultat koji se naziva stanje. Stanje se može prikazati kao dvodimenzionalno polje byte-ova. To polje ima četiri retka, a broj stupaca je označen s Nb i jednak je duljini bloka podijeljenoj s 32.

Ključ se može prikazati kao dvodimenzionalno polje s četiri retka. Broj stupaca ključa je označen s Nk i jednak je duljini ključa podijeljenoj s 32.

Ove reprezentacije prikazane su na slici 6.1.

Slika 6.1. Primjer prikaza stanja (Nb = 6) i ključa (Nk = 4)

U nekim slučajevima ovi blokovi se smatraju jednodimenzionalnim poljima 4-byte-nih vektora, gdje se svaki vektor sastoji od odgovarajućeg stupca u dvodimenzionalnom prikazu. Ova polja imaju duljine 4, 6 ili 8 i indekse u intervalima 0..3, 0..5 ili 0..7. 4-byte-ni vektori se ponekad nazivaju riječima.

Tamo gdje je potrebno izdvojiti četiri pojedinačna byte-a unutar 4-byte-nog vektora ili riječi koristi se notacija (a, b, c, d) gdje su a, b, c i d byte-ovi unutar stupca, vektora ili riječi na pozicijama 0, 1, 2 i 3.

Ulaz i izlaz u/iz algoritma Rijndael se smatraju jednodimenzionalnim poljima 8-bitnih byte-ova numeriranih od 0 do 4*Nb-1. Dakle, ovi blokovi imaju duljine 16, 24 ili 32 byte-a i indekse polja u intervalima 0..15, 0..23 ili 0..31. Ključ se smatra jednodimenzionalnim poljima 8-bitnih byte-ova numeriranih od 0 do 4*Nk-1. Dakle, ovi blokovi imaju duljine 16, 24 ili 32 byte-a i indekse polja u intervalima 0..15, 0..23 ili 0..31.

Ulazni byte-ovi se preslikavaju u byte-ove stanja u redoslijedu a0,0, a1,0, a2,0, a3,0, a0,1, a1,1, a2,1, a3,1, a4,1, ..., a byte-ovi ključa se preslikavaju u polje u redoslijedu k0,0, k1,0, k2,0, k3,0, k0,1, k1,1, k2,1, k3,1, k4,1, ... Na kraju kriptiranja izlaz iz kriptosustava se formira tako da se iz stanja uzmu byte-ovi u istom redoslijedu.Dakle, ako je jednodimenzionalni indeks byte-a unutar bloka jednak n i dvodimenzionalni indeks je (i,j) tada vrijedi:

31

Page 40: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

i = n mod 4; j = n / 4 ; n = i + 4 * j (6.1)

Idneks i je također broj byte-a unutar 4-byte-nog vektora ili riječi, a j je indeks vektora ili riječi unutar bloka.

Broj rundi je označen s Nr i ovisi o vrijednostima Nb i Nk. Broj rundi prikazan je u tablici 6.1.

Nr Nb = 4 Nb = 6 Nb = 8Nk = 4 10 12 14Nk = 6 12 12 14Nk = 8 14 14 14

Tablica 6.1. Broj rundi (Nr) kao funkcija duljine bloka i duljine ključa

6.1.2. Transformacija runde

Transformacija runde sastoji se od četiri različite transformacije i prikazana je u pseudokodu u notaciji sličnoj programskom jeziku C:

Runda(Stanje,KljucRunde){

ByteSub(Stanje);ShiftRow(Stanje);MixColumn(Stanje);AddRoundKey(Stanje,KljucRunde);

}

Konačna runda je nešto drugačija:

KonacnaRunda(Stanje,KljucRunde){

ByteSub(Stanje);ShiftRow(Stanje);AddRoundKey(Stanje,KljucRunde);

}

U ovoj notaciji, “funkcije” (Runda, ByteSub, ShoftRow, ...) djeluju nad poljima na koje pokazuju pokazivači (Stanje, KljucRunde).

Posljednja runda jednaka je drugim rundama, jedino je izostavljen korak MixColumn.

32

Page 41: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

6.1.2.1. ByteSub

ByteSub transformacija je nelinearna supstitucija byte-ova i djeluje nezavisno na svaki byte stanja. Supstitucijska tablica (ili S-kutija) je invertibilna i sastavljena je od dviju transformacija:

1. Prvo se određuje multiplikativni inverz u GF(28). '00' se preslikava u samog sebe.2. Tada se primjenjuje afina (preko GF(2)) transformacija prikazana kao:

Primjena opisane S-kutije na sve byte-ove stanja označava se sa:

ByteSub(Stanje).

Slika 6.2. prikazuje djelovanje ByteSub transformacije na stanje.

Slika 6.2. Djelovanje ByteSub na pojedinačne byte-ove stanja

Inverz od ByteSub je byte-na supstitucija primjenom inverzne tablice. Određuje se kao inverz afinog preslikavanja koji slijedi multiplikativni inverz u GF(28).

33

Page 42: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

6.1.2.2. ShiftRow

U ShiftRow retci stanja se kružno posmiču za različite odmake. Redak 0 se ne posmiče, redak 1 se posmiče preko C1 byte-ova, redak 2 preko C2 byte-ova i redak 3 preko C3 byte-ova.

Odmaci C1, C2 i C3 ovise o duljini bloka Nb. Različite vrijednosti prikazane su u tablici 6.2.

Nb C1 C2 C34 1 2 36 1 2 38 1 3 4

Tablica 6.2. Odmaci posmaka za različite duljine bloka

Operacija posmaka redaka stanja preko definiranih odmaka označava se sa:

ShiftRow(Stanje).

Slika 6.3. prikazuje djelovanje ShiftRow transformacije na stanje.

Slika 6.3. Djelovanje operacije ShiftRow na retke stanja

Inverz od ShiftRow je kružni posmak 3 donja retka preko Nb-C1, Nb-C2 i Nb-C3 byte-ova respektivno, tako da se byte na poziciji j u retku i pomiče na poziciju (j+Nb-Ci) mod Nb.

34

Page 43: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

6.1.2.3. MixColumn

U MixColumn stupci stanja se smatraju polinomima u GF(28) i množe se modulo x4+1 s fiksnim polinomom c(x) danim sa

c(x) = '03' x3 + '01' x2 + '01' x + '02'. (6.2)

Ovaj polinom je relativno prost s x4+1 i zbog toga je invertibilan. Ova operacija se može prikazati kao množenje matrica. Neka je b(x) = c(x) xor a(x), tada je

Djelovanje ove operacije na sve stupce stanja označava se sa

MixColumn(Stanje).

Slika 6.4. prikazuje primjenu transformacije MixColumn na stanje.

Slika 6.4. Djelovanje MixColumn na stupce stanja

Inverz od MixColumn je sličan. Svaki stupac se množi sa specifičnim polinomom d(x), definiranim sa

( '03' x3 + '01' x2 + '01' x + '02' ) xor d(x) = '01'. (6.3)

d(x) je dan sa:

d(x) = '0B' x3 + '0D' x2 + '09' x + '0E'. (6.4)

35

Page 44: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

6.1.2.4. Pribrajanje ključa runde

U ovoj operaciji ključ runde se dodaje stanju operacijom XOR. Ključ runde se izvodi iz glavnog ključa. Duljina ključa runde je jednaka duljini bloka Nb.

XOR ključa runde i stanja označava se sa:

AddRoundKey(Stanje,KljucRunde).

Ova operacija prikazana je na slici 6.5.

Slika 6.5. Postupak dodavanja ključa je XOR ključa runde i stanja

AddRoundKey operacija je sama sebi inverz.

6.1.3. Postupak određivanja podključeva

Ključevi rundi (podključevi) se određuju iz glavnog ključa. Ovaj postupak se sastoji od dvije komonente: proširenja ključa i odabira ključa. Osnovni princip je sljedeći:

● Konačan broj bitova podključa je jednak duljini bloka pomnožen s brojem rundi plus 1. (npr. za duljinu bloka 128 bitova i 10 rundi, potrebno je 1408 bitova ključa runde).

● Glavni ključ se proširuje u ProsireniKljuc.● Podključevi se uzimaju iz ProsireniKljuc na sljedeći način: prvi podključ sastoji

se od prvih Nb riječi, drugi od sljedećih Nb riječi, itd.

6.1.3.1. Proširenje ključa

ProsireniKljuc je linearno polje koje se sastoji od 4-byte-nih riječi i označava se s W[Nb*(Nr+1)]. Prvih Nk riječi sadrži glavni ključ. Sve ostale riječi definiraju se rekurzivno preko riječi s manjim indeksima. Postupak proširenja ključa ovisi o vrijednosti Nk: postoji verzija za Nk <= 6 i verzija za Nk > 6.

36

Page 45: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Za Nk <= 6 postupak je sljedeći:

ProsirenjeKljuca(byte Key[4*Nk] word W[Nb*(Nr+1)]){

for(i=0;i<Nk;++i)W[i]=(Key[4*i],Key[4*i+1],Key[4*i+2],

Key[4*i+3]);for(i=Nk;i<Nb*(Nr+1);++i) {

temp=W[i-1];if(i%Nk==0)

temp=SubByte(RotByte(temp))^Rcon[i/Nk];W[i]=W[i-Nk]^temp;

}}

U ovom algoritmu, SubByte(W) je funkcija koja vraća 4-byte-nu riječ u kojoj je svaki byte rezultata dobiven primjenom S-kutije na byte na odgovarajućoj poziciji u ulaznoj riječi. Funkcija RotByte(W) vraća riječ u kojoj su byte-ovi kružna permutacija byte-ova ulaza tako da ulazna riječ (a,b,c,d) postaje izlazna riječ (b,c,d,a).

Može se vidjeti da je prvih Nk riječi jednako glavnom ključu. Svaka sljedeća riječ W[i] je jednaka operaciji XOR prethodne riječi W[i-1] i riječi na Nk pozicija ranije W[i-Nk]. Za riječi na pozicijama koje su višekratnik od Nk primjenjuje se transformacija na W[i-1] prije operacije XOR i primjenjuje se operacija XOR s konstantom. Ova operacija sastoji se od kružnog posmaka byte-ova u riječi (RotByte), a slijedi ju primjena supstitucije na sva četiri byte-a riječi (SubByte).

Za Nk > 6 postupak je sljedeći:

ProsirenjeKljuca(byte Key[4*Nk] word W[Nb*(Nr+1)]){

for(i=0;i<Nk;++i)W[i]=(Key[4*i],Key[4*i+1],Key[4*i+2],

Key[4*i+3]);for(i=Nk;i<Nb*(Nr+1);++i) {

temp=W[i-1];if(i%Nk==0)

temp=SubByte(RotByte(temp))^Rcon[i/Nk];else if(i%Nk==4)

temp=SubByte(temp);W[i]=W[i-Nk]^temp;

}}

Razlika u odnosu na postupak za Nk<=6 je u tome da se za i-4, višekratnik od Nk, SubByte primjenjuje na W[i-1] prije operacije XOR.

Konstante za runde su neovisne o Nk i definirane su sa:

37

Page 46: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Rcon[i] = (RC[i],'00','00','00') (6.5)

gdje je RC[i] element od GF(28) s vrijednošću x(i-1) tako da je:

RC[1] = 1 (tj. '01') (6.6)

RC[i] = x (tj. '02') (RC[i-1]) = x(i-1) (6.7)

6.1.4. Odabir podključa

Podključ i je definiran s riječima W[Nb*i] do W[Nb*(i+1)]. Postupak je prikazan na slici 6.6.

Slika 6.6. Proširenje ključa i odabir ključa za Nb=6 i Nk=4

Postupak dobivanja podključeva se može ostvariti bez eksplicitnog korištenja polja W[Nb*(Nr+1)]. Podključevi se mogu odrediti onda kada su potrebni koristeći spremnik od Nk riječi.

6.1.5. Postupak kriptiranja

Postupak kriptiranja kod Rijndael-a sastoji se od

● početnog dodavanja podključa● Nr-1 rundi● konačne runde.

U pseudokodu, postupak je sljedeći:

38

Page 47: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Rijndael(Stanje,GlavniKljuc){

ProsirenjeKljuca(GlavniKljuc,ProsireniKljuc);AddRoundKey(Stanje,ProsireniKljuc);for(i=1;i<Nr;++i) Runda(Stanje,ProsireniKljuc+Nb*i);KonacnaRunda(Stanje,ProsireniKljuc+Nb*Nr);

}

Postupak proširenja ključa se može prethodno odrediti i Rijndael se može prikazati na sljedeći način:

Rijndael(Stanje,ProsireniKljuc){

AddRoundKey(Stanje,ProsireniKljuc);for(i=1;i<Nr;++i) Runda(Stanje,ProsireniKljuc+Nb*i);KonacnaRunda(Stanje,ProsireniKljuc+Nb*Nr);

}

Prošireni ključ bi se trebao uvijek odrediti iz glavnog ključa i nikada se ne primijeniti izravno. U odabiru samog glavnog ključa nema ograničenja.

6.2. Primjena strategije širokog traga

U ovom poglavlju opisan je postupak izgradnje i primjena strategije širokog traga u izgradnji Rijndael-a. Strategija širokog traga teži takvim transformacijama runde da ne postoje tragovi s malom težinom skupine bitova. Relativno velika količina resursa se troši na to da linearni korak proizvede visoku difuziju. Što se tiče S-kutija strategija jedino teži tome da vjerojatnost linearne korelacije i vjerojatnost razlika budu što je moguće manje.

6.2.1. Redukcijski polinom m(x)

Polinom m(x) ('11B') za množenje u GF(28) izabran je jer je prvi u popisu ireducibilnih polinoma stupnja 8 [6].

6.2.2. Izgradnja supstitucijske tablice

U izgradnji S-kutije u obzir se uzela diferencijalna i linearna kriptoanaliza, te napadi koji koriste algebarske manipulacije kao što su interpolacijski napadi. Slijedi popis kriterija u izgradnji:

39

Page 48: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

1. Invertibilnost;2. Minimizacija najveće netrivijalne korelacije između linearnih kombinacija bitova

ulaza i linearnih kombinacija bitova izlaza;3. Minimizacija najveće netrivijalne vrijednosti u XOR tablici;4. Kompleksnost algebarskog izraza u GF(28);5. Jednostavnost opisa.

Za invertibilne S-kutije koje djeluju nad byte-ovima za maksimum ulazne/izlazne korelacije se može postići vrijednost niska kao što je 2-3. Za maksimalnu vrijednost XOR tablice može se dobiti vrijednost niska kao što je 4 (što odgovara vjerojatnosti diferencijalne propagacije od 2-6).

Kao S-kutija odabrano je preslikavanje x -> x -1 u GF(28). Kao afino preslikavanje izabrano je ono s jednostavnim opisom, ali s kompliciranim algebarskim izrazom ako se kombinira s inverznim preslikavanjem. Može se pokazati kao modularno polinomsko množenje koje slijedi zbrajanje:

b(x) = (x7 + x6 + x2 + x) + a(x)(x7 + x6 + x5 + x4 + 1) mod x8 + 1 (6.5)

Modul je izabran tako da bude što jednostavniji. Multiplikativni polinom je izabran iz skupa polinoma relativno prostih s modulom, odnosno onaj s jednostavnim opisom. Konstanta je izabrana tako da S-kutija nema fiksnih točaka i nema reverznih fiksnih točaka.

6.2.3. Izgradnja transformacije MixColumn

Transformacija MixColumn je izabrana iz prostora 4-byte-a u 4-byte-a linearnih transformacija prema sljedećim kriterijima:

1. Inveribilnost;2. Linearnost u GF(2);3. Relevantni stupanj difuzije;4. Brzina na 8-bitnim procesorima;5. Simetričnost;6. Jednostavnost opisa.

Kriteriji 2, 5 i 6 razlog su odabira modula-polinoma x4 + 1. Kriteriji 1, 3 i 4 djeluju na koeficijente. Kriterij 4 određuje da koeficijenti imaju male vrijednosti u prioritetnom redoslijedu '00', '01', '02', '03'...

Kriterij 3 određuje kompliciranije utjecaje na koeficijente.

40

Page 49: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

6.2.3.1. Brojevi grananja

U strategiji širokog traga bitno je sljedeće svojstvo operacije MixColumn. Neka je F linearna transformacija koja djeluje na byte-ne vektore i neka je težina byte-a vektora broj byte-ova različitih od nule. Težina byte-a vektora se označava s W(a). Broj grananja linearne transformacije je mjera stupnja difuzije.

Broj grananja linearne transformacije F je

mina<>0 (W(a) + W(F(a))). (6.6)

Byte različit od nule naziva se aktivni byte. Za MixColumn se može vidjeti da ako se stanje primijeni s jednim aktivnim byte-om, a MixColumn neovisno djeluje na stupce, izlaz može imati najviše 4 aktivnih byte-ova. Dakle, gornja granica za broj grananja je 5. Koeficijenti su izabrani tako da se gornja granica postigne. Ako je broj grananja 5 tada razlika u jednom ulaznom (ili izlaznom) byte-u propagira u sva 4 izlazna (ili ulazna) byte-a, a 2-byte-na ulazna (ili izlazna) razlika u barem 3 izlazna (ili ulazna) byte-a. Štoviše, linearna relacija između ulaznih i izlanih bitova uključuje bitove od barem 5 različitih byte-ova iz ulaza i izlaza.

6.2.4. Izgradnja operacije ShiftRow

Izbor iz svih mogućih kombinacija načinjen je na temelju sljedećih kriterija:

1. Četiri odmaka su međusobno različiti i vrijedi C0=0;2. Otpornost na napade koristeći skraćene diferencijale;3. Otpornost na kvadratni napad (eng. Square attack);4. Jednostavnost.

6.2.5. Izgradnja postupka proširenja ključa

Funkcija ovog postupka je pružanje otpornosti na sljedeće napade:

● Napadi u kojima je poznat dio ključa;● Napadi gdje je poznat ključ ili se može izabrati (npr. ako se kriptosustav koristi

kao funkcija kompresije u funkciji izračunavanja sažetka);● Napadi kod kojih je više ključeva u vezi. Potrebno svojstvo za otpornost na

takve napade je da ne postoje dva ključa koji imaju velik skup zajedničkih podključeva.

41

Page 50: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Postupak proširenja ključa ima veliku ulogu u eliminaciji simetrije:

● Simetrija transformacije runde: transformacija runde djeluje na sve byte-ove stanja na gotovo jednak način. Ova simetrija se može izbjeći tako da u postupku određivanja podključeva u rundama postoje konstante;

● Simetrija između rundi: transformacija runde je jednaka za sve runde. Ova jednakost se može izbjeći tako da u postupku određivanja podključeva postoje konstante u rundi koje su ovisne o rundi.

Postupak određivanja podključeva je izabran prema sljedećim kriterijima:

● Postupak bi trebao koristiti inveribilnu transformaciju, tj. poznavanje bilo kojih Nk riječi u nizu proširenog ključa trebao bi dopustiti regeneraciju cijele tablice;

● Brzina na raznim procesorima;● Korištenje konstanti runde koje eliminiraju simetriju;● Difuzija glavnog ključa unosi razliku u podključeve;● Poznavanje dijela bitova glavnog ključa ili podključa ne smije dopustiti

mogućnost izračunavanja mnogih ostali bitova podključa;● Dovoljno nelinearnosti da spriječi potpunu određenost razlika podključa samo

iz diferencija glavnog ključa;● Jednostavnost opisa.

6.2.6. Broj rundi

Broj rundi je izabran na takav način da se našao maksimalni broj rundi za koji su nađeni skraćeni napadi (eng. Shortcut attacks, napad efikasniji od napada pretrage potpunog stanja ključa) i zbrojio sa sigurnim odmakom.

6.3. Sigurnost strategije širokog traga i algoritma Rijndael

6.3.1. Diferencijalna kriptoanaliza

Napad diferencijalnom kriptoanalizom je moguć ako postoje predvidive propagacije razlika preko svih osim nekoliko (tipično 2 ili 3) rundi koje imaju vjerojatnost propagacije razlike (autori to zovu prop ratio, relativna količina svih ulaznih parova za koje za danu ulaznu diferenciju vrijedi izlazna diferencija) znatno veću od 21-n, gdje je n duljina bloka. Diferencijalna propagacija je sastavljena od diferencijalnih tragova čija je vjerojatnost propagacije razlike jednaka zbroju vjerojatnosti propagacija razlika svih diferencijalnih tragova koji imaju dane početne i završne uzorke razlika. Za otpornost na diferencijalnu kriptoanalizu nužno svojstvo je da se odabere broj rundi dovoljno velik tako da ne postoje diferencijalni tragovi s vjerojatnošću propagacije razlike većom od 21-n.

42

Page 51: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Općenito je prihvaćeno da se jaki blokovski kriptosustav treba ponašati kao slučajna logička permutacija za svaku fiksnu vrijednost ključa kriptosustava. Pretpostavlja se da je u slučajnoj logičkoj permutaciji 2n-1 parova s danom ulaznom razlikom raspodijeljeno prema Poissonovoj razdiobi preko 2n-1 izlaznih razlika različitih od nule. Očekuje se da se može naći mnogo izlaznih razlika koje se pojavljuju za više od jednog para ili ekvivalentno, mnoge diferencijske propagacije s vjerojatnostima propagacije koje su veće od 21-n.

Za Rijndael je dokazano da ne postoje diferencijalni tragovi preko 4 runde s predvidivom vjerojatnošću propagacije razlika iznad 2-150 (i nema tragova preko 8 rundi s vjerojatnošću iznad 2-300). Za sve duljine bloka Rijndael-a ovo je dovoljno.

Predloženo je da se primijeni diferencijalna kriptoanaliza s drugom operacijom diferencije. Ovo je posebno primjenjivo na kriptosustave gdje zbrajanje ključa nije operacija XOR. Iako su u Rijndael-u ključevi zbrojeni koristeći operaciju XOR istražilo se da li se mogu koristiti napadi koristeći neku drugu razliku. Nisu nađeni napadi koji bi bili bolji od napada koji koristi operaciju XOR kao razliku.

6.3.2. Linearna kriptoanaliza

Napadi linearnom kriptoanalizom mogući su ako postoje predvidive ulazno izlazne korelacije preko svih osim nekoliko (tipično 2 ili 3) runde veće od 2n/2. Ulazno izlazna korelacija se sastoji od linearnih tragova, gdje je njihova korelacija jednaka zbroju koeficijenata korelacija svih linearnih tragova koji imaju određene početne i završne selekcijske uzorke. Koeficijenti korelacije linearnih tragova imaju predznak, a taj predznak ovisi o vrijednosti podključeva. Za otpornost na linearnu kriptoanalizu nužno je svojstvo da ne postoje linearni tragovi s koeficijentom korelacije višom od 2n/2.

Za Rijndael je dokazano da ne postoje linearni tragovi kroz 4 runde koji imaju korelaciju iznad 2-75 (i nema tragova kroz 8 rundi s korelacijom iznad 2-150). Za sve duljine bloka Rijndael-a ovo je dovoljno.

6.3.3. Težina diferencijalnih i linearnih tragova

Vrijedi:

● Vjerojatnost propagacije diferencijalnog traga može se aproksimirati produktom vjerojatnosti svih aktivnih S-kutija.

● Korelacija linearnog traga može se aproksimirati produktom ulazno izlaznih korelacija aktivnih S-kutija.

43

Page 52: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Strategija širokog traga se može sažeti na sljedeći način:

● Potrebno je izabrati S-kutiju za koju je maksimalna vjerojatnost propagacije diferencije i maksimalna ulazno izlazna korelacija što je moguće manja. Za S-kutije Rijndael-a vrijednosti su 2-6 i 2-3, respektivno.

● Potrebno je konstruirati sloj difuzije na takav način da ne postoje tragovi kroz više rundi s malo aktivnih S-kutija.

Dokazano je da je minimalni broj aktivnih S-kutija u bilo kojem diferencijalnom ili linearnom tragu kroz 4 runde jednak 25. Ovo daje maksimalnu vjerojatnost propagacije razlike od 2-150 za bilo koji diferencijalni trag kroz 4 runde i maksimalnu korelaciju linearnog traga kroz 4 runde od 2-75. Ovo vrijedi za sve duljine bloka Rijndael-a i ovisi o vrijednosti podključeva.

Očekuje se da je nelinearnost S-kutije koja je izabrana slučajno iz skupa mogućih invertibilnih 8-bitnih S-kutija manje optimalna. Tipične vrijednosti su 2-5 do 2-4 za maksimalnu vjerojatnost propagacije razlike i 2-2 za maksimum ulazno izlazne korelacije [5].

44

Page 53: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

7. Praktični rad

7.1. Opis problema

Prilikom izgradnje kriptosustava prema strategiji širokog traga potrebno je izgraditi supstitucijske tablice sa što manjim vjerojatnostima linearne i diferencijalne kriptoanalize. Ako se za supstitucijske tablice izaberu slučajno generirane tablice onda te vjerojatnosti nisu zadovoljavajuće. Ostvareni programski sustav za dane supstitucijske tablice izračunava vjerojatnosti za linearnu i diferencijalnu kriptoanalizu. Također je omogućeno slučajno generiranje supstitucijskih tablica i izračunavanje vjerojatnosti za slučajne tablice. Osim izračunavanja vjerojatnosti za linearnu i diferencijalnu kriptoanalizu programom se može odrediti da li supstitucijska tablica ima fiksne točke, da li supstitucijska tablica ima reverzne fiksne točke, da li je supstitucijska tablica linearna, odnosno afina funkcija. Za supstitucijske tablice koje imaju ulaz jednake veličine kao i supstitucijske tablice algoritma DES omogućena je provjera svojstava koje je NSA koristila prilikom izgradnje DES supstitucijskih tablica. Programski sustav se može primijeniti na supstitucijske tablice proizvoljnih veličina.

U nastavku su opisani ostvareni algoritmi, opisano je korištenje programa, čitanje rezultata programa, te su na kraju dani rezultati i usporedba rezultata za S-kutiju algoritma Rijndael i za slučajno generirane S-kutije.

7.2. Opis ostvarenih algoritama

7.2.1. Određivanje vjerojatnosti diferencijalne kriptoanalize

Za određivanje vjerojatnosti diferencijalne kriptoanalize koristi se izraz (5.4). Za određivanje maksimalne vjerojatnosti koristi se izraz (5.6). Prije određivanja diferencijalne vjerojatnosti za danu S-kutiju najprije se odrede parovi ulaznih i izlanih razlika. Postupak određivanja parova ulaznih i izlaznih razlika prikazan je pseudokodom:

za svaki moguci ulaz x1 {za svaki moguci ulaz x2 {

odredi ulaznu razliku dx = x1 xor x2;za ulaze x1 i x2 odredi izlaze is S-kutije y1 i y2;odredi izlaznu razliku dy = y1 xor y2;upisi par (dx,dy) u kolekciju parova razlika;

}}

Nakon određivanja parova ulaznih i izlaznih razlika diferencijalna vjerojatnost i maksimalna vjerojatnost određuje se na sljedeći način:

45

Page 54: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

za svaku ulaznu razliku dx {za svaku izlaznu razliku dy ulazne razlike dx {

inicijaliziraj brojac cnt na 0;za sve ulaze x {

y1 = S(x);y2 = S(x xor dx);ako je (y1 xor y2 == dy) {

povecaj brojac cnt;}

}izracunaj vjerojatnost p: p = cnt/broj_mogucih_ulaza;azuriraj maksimalnu vjerojatnost;pohrani izracunatu diferencijsku vjerojatnost te par (dx,dy) za koje ta vjerojatnost vrijedi u kolekciju vjerojatnosti;

}}

Nakon završetka izračunavanja lako se može doći do maksimalne vjerojatnosti i do vjerojatnosti za sve parove ulaznih i izlaznih razlika.

7.2.2. Određivanje vjerojatnosti linearne kriptoanalize

Za određivanje vjerojatnosti linearne kriptoanalize koristi se izraz (5.5). Za određivanje maksimalne vjerojatnosti koristi se izraz (5.7). Postupak određivanja linearne vjerojatnosti za svaki par ulazne i izlazne maske i određivanje maksimalne linearne vjerojatnosti prikazuje sljedeći pseudokod:

za svaku ulaznu masku Gx { za svaku izlaznu masku Gy { inicijaliziraj brojac cnt na 0; za svaki ulaz x { odredi xor ulazniXOR bitova od x definiranih maskom Gx; odredi xor izlazniXOR bitova od S(x) definiranih maskom Gy; ako je (ulazniXOR == izlazniXOR) { povecaj brojac cnt; } } izracunaj vjerojatnost p: ((cnt/broj_mogucih_ulaza/2) -1)^2; azuriraj maksimalnu vjerojatnost; pohrani izracunatu linearnu vjerojatnost te par (Gx,Gy) za koje ta vjerojatnost vrijedi u kolekciju vjerojatnosti; } }

Nakon završetka izračunavanja lako se može doći do maksimalne vjerojatnosti i do vjerojatnosti za sve parove ulaznih i izlaznih maski.

46

Page 55: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

7.2.3. Provjera da li S-kutija ima fiksne i reverzne fiksne točke

Pojmovi fiksne i reverzne fiksne točke objašnjeni su u poglavlju 5.1. Postupak određivanja fiksnih i reverznih fiksnih točaka je jednostavan. Za svaki mogući ulaz x u S-kutiju provjeri se da li vrijedi S(x)=x za fiksnu točku, te S(x)=x' za reverznu fiksnu točku, gdje je x' komplement od x.

7.2.4. Provjera da li je S-kutija linearna ili afina funkcija

U programu je ostvarena provjera da li je S-kutjia linearna funkcija oblika y=a and x, gdje je x ulaz u S-kutiju, y izlaz iz S-kutije, te a neki koeficijent. Posupak je sljedeći:

za svaki ulaz x {odredi izlaz iz S-kutije y=S(x);

za svaki moguci koeficijent a {ako je ( x and a == y ) {

dodaj x u listu koeficijenta a;}

}}

Ako se u listi za neki koeficijent a nalaze svi ulazi x tada je S-kutija linearna funkcija. Što je u toj listi manje vrijednosti to je bolje.

Također je ostvarena provjera da li je S-kutija afina funkcija oblika y(=a and x) xor b, gdje je x ulaz u S-kutiju, y izlaz iz S-kutije, te a i b koeficijenti. Postupak je sljedeći:

za svaki ulaz x {odredi izlaz iz S-kutije y=S(x);

za svaki moguci koeficijent a {za svaki moguci koeficijent b {

ako je ( ((x and a) xor b) == y ) {dodaj x u listu za par koeficijenata a,b;

}}

}}

Ako se u listi za neki par koeficijenata a,b nalaze svi ulazi x tada je S-kutija afina funkcija. Što je u toj listi manje vrijednosti to je bolje.

7.2.5. Provjera svojstava S-kutija DES-a

NSA (National Security Agency) je izgradila S-kutije DES-a tako da zadovoljavaju sljedeća svojstva (preuzeto iz [1]):

47

Page 56: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

1. Svaki redak u svakoj S-kutiji je permutacija brojeva od 0 do 15. 2. Niti jedna S-kutija nije linearna ili afina funkcija ulaznih podataka. 3. Promjena jednog bita u ulaznom podatku kod primjene S-kutije ima za posljedicu

promjenu barem 2 bita u izlaznom podatku. 4. Za svaku S-kutiju i svaki ulazni podatak x (niz bitova duljine 6), S(x) i S(x xor

001100) razlikuju se za barem 2 bita. 5. Za svaku S-kutiju, svaki ulazni podatak x i sve e, f ∈ {0,1} vrijedi

S(x) <> S(x xor 11ef00). 6. Za svaku S-kutiju, ako fiksiramo jedan bit u ulaznom podatku i gledamo vrijednosti

jednog fiksnog izlaznog podatka, onda će broj ulaznih podataka kod kojih je taj bit jednak 0 biti blizu broja onih kod kojih je taj bit jednak 1. Preciznije, ako fiksiramo 1. ili 6. bit ulaznog podatka, onda su oba broja jednaka 16, dok kod drugih bitova variraju između 13 i 19.

Provjera svojstva 3.

za svaki ulaz x {odredi izlaz iz S-kutije y=S(x);za svaki bit ulaza b {

promijeni bit b u ulazu x i pohrani novi ulaz u xch;odredi izlaz iz S-kutije ych=S(xch);ako je u ych promijenjeno manje od 2 bita s obzirom na ytada S-kutija nije prosla test, inace jest;

}}

Provjera svojstva 4.

za svaki ulaz x {odredi izlaz y1=S(x);odredi izlaz y2=S(x xor 001100);ako je u y2 promijenjeno manje od 2 bita s obzirom na y1tada S-kutija nije prosla test, inace jest;

}

Provjera svojstva 5.

za svaki ulaz x {odredi izlaz y1=S(x);za svaku vrijednost bitova ef u 11ef00 {

odredi ulaz x2=x1 xor 11ef00;odredi izlaz y2=S(x2);ako je ( y1==y2 ) {

S-kutija nije prosla test;} inace {

S-kutija je prosla test;}

}}

48

Page 57: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Provjera svojstva 6.

za svaki bit ulaza b {bit b ulaza je fiksan;za svaku mogucu vrijednost ostatka bitova ulaza {

povecaj brojac ulaza za izlaz gdje je bit b=0;povecaj brojac ulaza za izlaz gdje je bit b=1;

}}

7.3. Korištenje programa

7.3.1. Uvod u korištenje programa

Programski sustav SBoxProperties je ostvaren u programskom jeziku Java (grafičko sučelje u swing-u) što ga čini prenosivim na različite platforme i operacijske sustave. Program za S-kutiju ili slučajno generiranu S-kutiju (ili više njih) može provesti sljedeće provjere i izračunavanja:

● izračunavanje vjerojatnosti diferencijalne kriptoanalize;● izračunavanje vjerojatnosti linearne kriptoanalize;● provjera da li S-kutija ima fiksne točke;● provjera da li S-kutija ima reverzne fiksne točke;● provjera da li je S-kutija linearna ili afina funkcija;● provjera svojstava koje je NSA koristila prilikom izgradnje S-kutija DES-a.

Program se može naći zapakiran u izvršivu java jar arhivu na priloženom CD-u. U jar arhivi su osim prevedenih klasa zapakirane i izvorne datoteke, odnosno Eclipse projekt. Uz program također dolaze datoteke sa S-kutijama Rijndaela i DES-a.

U opisu korištenja programa dan je pregled izbornika i dijaloga koji služe za odabir parametara. Ovdje dan pregled može se u ekvivalentnom obliku pronaći kao pomoć u samom programu odabirom Help u Help izborniku ili pritiskom na tipku F1.

7.3.2. Izbornik File

Izbornik File prikazan je na slici 7.1.

File->New (Ctrl+N)● Briše prikaz tablice i rezultat i na taj način priprema program za novi rad.

File->Open S-box (Ctrl+O)● Učitava S-kutiju iz izabrane datoteke. Format datoteke je opisan u poglavlju

7.3.3.49

Page 58: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Slika 7.1. Izbornik File

File->Save S-box (Ctrl+S)● Pohranjuje S-kutiju u odabranu datoteku. Format datoteke je opisan u

poglavlju 7.3.3.

File->Quit (Ctrl+Q)● Program završava s radom.

7.3.3. Format datoteke S-kutije

S-kutija se u datoteku pohranjuje u sljedećem formatu:

Prva linija u datoteci je veličina ulaza u S-kutiju u bitovima.Druga linija je veličina izlaza iz S-kutije u bitovima.Brojevi koji predstavljaju veličine ulaza i izlaza su u decimalnom formatu.Slijede linije koje sadrže parove ulaza i izlaza S-kutije.

Par ulaz-izlaz je u sljedećem formatu:ULAZ:IZLAZgdje su ULAZ i IZLAZ heksadecimalni brojevi.

Svaka prazna linija se zanemaruje.

Primjer:88

00:6301:7C02:7703:7B...

Primjer prikazuje S-kutiju koja ima ulaze veličine 8 bitova i izlaze veličine 8 bitova. Za

50

Page 59: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

ulaz 00 izlaz je 63, za ulaz 01 izlaz je 7C, itd.

7.3.4. Izbornik Edit

Slika 7.2. Izbornik Edit

Edit->Clear Result Area (Ctrl+L)● Briše sadržaj područja za rezultat.

Edit->Copy S-box Table (Ctrl+C)● Kopira S-kutiju u područje za rezultat.

7.3.5. Izbornik S-box

Slika 7.3. Izbornik S-box

S-box->Get S-box Output (Ctrl+G)● Za upisan ulaz obavlja supstituciju S-kutije i izlaz S-kutije za dani ulaz upisuje

u područje za rezultat.

S-box->Random S-box (Ctrl+R)● Generira slučajnu S-kutiju. Prije postupka generiranja unosi se veličina ulaza i

izlaza S-kutije u bitovima.

S-box->Test Properties (Ctrl+T)● Za danu S-kutiju prikazuje prozor u kojem se odabiru testovi koji se žele

provesti nad danom S-kutijom. Ovaj prozor prikazan je na slici 7.4.

51

Page 60: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Slika 7.4. Prozor za izbor željenih testova nad S-kutijom

Nakon odabira željenih testova započinje ispitivanje odabranih testova. Prilikom izvršavanja testova prikazan je prozor u kojem se ispisuje što se trenutno obavlja. Ovaj prozor prikazan je na slici 7.5.

Slika 7.5. Prozor prikazan dok traje postupak testiranja

52

Page 61: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Postupak testiranja može se prekinuti pritiskom na gumb Cancel. Kada je postupak završen gumb Cancel se mijenja u gumb OK. Rezultati testiranja prikazani su u području za prikaz rezultata kao što je prikazano na slici 7.6.

Slika 7.6. Prikaz rezultata testiranja

S-box->Test Random S-boxes (Ctrl+M)● Prikazuje prozor za izbor parametara za postupak generiranja i testiranja

slučajnih S-kutija, što je prikazano na slici 7.7.

U ovom prozoru osim izbora željenih testova potrebno je unijeti i broj i dimenziju slučajnih S-kutija. Svaka generirana S-kutija se može, ako je tako odabrano, ispisati u prostoru za rezultat.

53

Page 62: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Slika 7.7. Izbor parametara za testiranje slučajnih S-kutija

7.3.6. Izbornik Test Results

Slika 7.8. Izbornik Test Results

Test Results->Save Results (Ctrl+V)● Rezultat testova sprema u tekstualnu datoteku (u ASCII formatu).

54

Page 63: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

7.3.7. Izbornik Help

Slika 7.9. Izbornik Help

Help->Help (F1)● Prikazuje pomoć.

7.3.8. Alatna traka

Na alatnoj traci nalaze se gumbi čijim pritiskom se obavljaju jednake akcije kao i izborom odgovarajućeg elementa izbornika.

7.4. Čitanje i interpretacija rezultata

7.4.1. Rezultat određivanja vjerojatnosti diferencijalne kriptoanalize

Primjer rezultata prikazan je na slici 7.10. (za prikaz svih vjerojatnosti diferencijalne kriptoanalize u ispisu je prikazano samo nekoliko linija).U rezultatu je ispisana maksimalna diferencijalna vjerojatnost koja za danu S-kutiju (Rijndael) iznosi 0.015625. Što je vjerojatnost manja to je teže primijeniti diferencijalnu kriptoanalizu.

Slika 7.10. Rezultat određivanja vjerojatnosti diferencijalne kriptoanalize55

Results for "AESsbox.txt"

Input size = 8 bitsOutput size = 8 bits

Differential probabilities test result: Maximum DP: 0.015625NOTE: The lower the differential probability the better!

All differential probabilities (Input difference, output difference and probability):Input Output Probability Is Critical Value ( Probability > 0.1)0 0 1.0 true1 1F 0.015625 false1 C 0.0078125 false1 99 0.0078125 false...

Page 64: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Kada se ispisuju sve vjerojatnosti onda se ispisuju ulaz, izlaz, vjerojatnost diferencijalne kriptoanalize te oznaka da li je vrijednost vjerojatnosti kritična. Izabrano je da je vrijednost kritična ako je vjerojatnost veća od 0.1.

7.4.2. Rezultat određivanja vjerojatnosti linearne kriptoanalize

Primjer rezultata prikazuje slika 7.11. (za prikaz svih vjerojatnosti linearne kriptoanalize u ispisu je prikazano samo nekoliko linija).

U rezultatu je ispisana maksimalna linearna vjerojatnost koja za danu S-kutiju (Rijndael) iznosi 0.015625 . Što je vjerojatnost manja to je teže primijeniti linearnu kriptoanalizu.

Kada se ispisuju sve vjerojatnosti onda se ispisuju ulaz, izlaz, vjerojatnost linearne kriptoanalize i oznaka da li je vrijednost vjerojatnosti kritična. Izabrano je da je vrijednost kritična ako je vjerojatnost veća od 0.1.

Slika 7.11. Rezultat određivanja vjerojatnosti linearne kriptoanalize

7.4.3. Rezultat određivanja fiksnih točaka

Slika 7.12. prikazuje primjer rezultata.

Ovaj test određuje da li dana S-kutija ima fiksne točke. Poželjno je da S-kutija nema fiksnih točaka. Ako postoje fiksne točke i ako je tako izabrano, one se ispisuju.

56

Results for "AESsbox.txt"

Input size = 8 bitsOutput size = 8 bits

Linear probabilities test result: Maximum LP: 0.015625NOTE: The closer the linear probability is to 0.5 the better!

All linear probabilities (Input mask, output mask and probability):Input Output Probability Is Critical Value ( Probability > 0.1 (distance from 0.5 is already calculated))1 0 0.0 false1 1 0.0087890625 false1 2 0.0 false...

Page 65: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Slika 7.12. Rezultat određivanja fiksnih točaka

7.4.4. Rezultat određivanja reverznih fiksnih točaka

Primjer rezultata prikazuje slika 7.13.

Slika 7.13. Rezultat određivanja reverznih fiksnih točaka

Ovaj test određuje da li dana S-kutija ima reverzne fiksne točke. Poželjno je da S-kutija nema reverznih fiksnih točaka. Ako postoje reverzne fiksne točke i ako je tako izabrano, one se ispisuju.

7.4.5. Rezultat provjere da li je S-kutija linearna, odnosno afina funkcija

Primjer rezultata (od svih koeficijenata prikazano je samo nekoliko linija) prikazuje slika 7.14.

Ovaj test određuje da li je dana S-kutija linearna ili afina funkcija ulaza. Ako su za neki koeficijent a ispisani svi ulazi u S-kutiju tada je S-kutija linearna funkcija oblika y = a and x. Ako su za neki par koeficijenata a, b ispisani svi ulazi u S-kutiju tada je S-kutija afina funkcija oblika y = a and x xor b.

57

Results for "AESsbox.txt"

Input size = 8 bitsOutput size = 8 bits

Fixed points test result: S-box has fixed points: falseNOTE: The less fixed points the better!

All fixed points:

Results for "AESsbox.txt"

Input size = 8 bitsOutput size = 8 bits

Reverse fixed points test result: S-box has reverse fixed points: falseNOTE: The less reverse fixed points the better!

All reverse fixed points:

Page 66: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Slika 7.14. Rezultat provjere da li je S-kutija linearna/afina funkcija

Dobro je kada je popis ulaza uz odgovarajući ulaz malen. Valja uočiti da za svaki koeficijent kod provjere da li je S-kutija linearna funkcija i za svaki par koeficijenata kod provjere da li je S-kutija afina funkcija postoji najmanje jedan ulaz za kojeg vrijedi y = a and x ili y = a and x xor b. Ovo vrijedi jer za par (x,y) u provjeri da li je S-kutija linearna funkcija postoji koeficijent a za koji vrijedi a = x and-1 y. Analogno vrijedi za provjeru da li je S-kutija afina funkcija.

7.4.6. Rezultati provjere NSA DES svojstava

Primjer rezultata (tamo gdje je rezultat poduži prikazano je samo nekoliko linija) nalazi se na slici 7.15.

Osim za zadnji test rezultati su samorazumljivi. Što se tiče posljednjeg testa rezultat je sljedeći: za svaki izlaz iz S-kutije i za svaki fiksni bit ispisan je broj ulaza kada je taj fiksni bit 0 i broj ulaza kada je taj fiksni bit 1.

58

Results for "AESsbox.txt"

Input size = 8 bitsOutput size = 8 bits

Linear function (y = a and x) result (a: x1, x2,...):NOTE: The less values in the list for coefficient a the better! If there are all S-box inputs in a list for coefficient a then S-box is a linear function y = a and x! Those lines are marked with '<- LINEAR!'1: 9, 522: 6A3: 9, 6A4: 525: 9, 526: 6A7: 9, 6A8: 52, BF9: 52C: 52D: 5210: 7C11: 9, 7C12: 6A, 7C13: 9, 6A, 7C...

Page 67: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Slika 7.15. Rezultati provjere NSA DES svojstava

7.4.7. Usporedba rezultata dviju ili više S-kutija

Ovdje je objašnjeno kako se mogu usporediti rezultati za dvije S-kutije. Prikazan je primjer samo za provjeru vjerojatnosti za diferencijalnu kriptoanalizu. Za ostale testove je analogno.

Rezultat provjere vjerojatnosti za diferencijalnu kriptoanalizu za S-kutiju algoritma AES (Rijndael) :

Slika 7.16. Rezultat diferencijalne vjerojatnosti Rijndael S-kutije

59

Results for "AESsbox.txt"

Input size = 8 bitsOutput size = 8 bits

Differential probabilities test result: Maximum DP: 0.015625NOTE: The lower the differential probability the better!

Results for "DESsbox1.txt"

Input size = 6 bitsOutput size = 4 bits

Test (NSA DES property): If 1 input bit is changed then at least 2 output bits are changed.Test passed: true

Test (NSA DES property): For each input x, S(x) and S(x xor 001100) differs in at least 2 bits.Test passed: true

Test (NSA DES property): For each input x and e,f from {0,1}, S(x) <> S(x xor 11ef00).Test passed: true

Test (NSA DES property): If 1 input bit is fixed and one output is fixed then the number of inputs where that fixed bit is 0 is close to the number of inputs where that fixed bit is 1.Test result:O=outputF=fixed bitI0=number of inputs when fixed bit is 0I1=number of inputs when fixed bit is 1 O F I0 I1 - - -- -- 0 0 2 2 0 1 2 2 ... 1 0 2 2 1 1 1 3 ... ... F 4 3 1 F 5 2 2

Page 68: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

Rezultat provjere vjerojatnosti za diferencijalnu kriptoanalizu za slučajnu S-kutiju algoritma AES (Rijndael) :

Slika 7.17. Rezultat diferencijalne vjerojatnosti slučajne S-kutije

Može se vidjeti da je vjerojatnost diferencijalne kriptoanalize za slučajnu S-kutiju veća od vjerojatnosti S-kutije algoritma Rijndael. Ovo vrijedi jer je S-kutija algoritma Rijndael izgrađena tako da ta vjerojatnost bude što je moguće manja uzimajući u obzirom svojstva ostalih dijelova algoritma, kao što je difuzija te zbrajanje ključa.

Postupak usporedbe svojstava za više S-kutija je analogan opisanom postupku.

60

Results for "Random S-box"

Input size = 8 bitsOutput size = 8 bits

Differential probabilities test result: Maximum DP: 0.0390625NOTE: The lower the differential probability the better!

Page 69: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

7.5. Eksperimentalni rezultati

7.5.1. Opis eksperimenta

Koristeći ostvareni programski sustav provedene su provjere svojstava slučajnih Rijndael S-kutija. Rezultati su uspoređeni s rezultatima koji su dobiveni provjerom svojstava originalne Rijndael S-kutije. Provjere svojstava se mogu provesti i nad drugim S-kutijama, npr. DES S-kutijama za koje su dodatno omogućene provjere svojstava koje je NSA koristila prilikom izgradnje.

7.5.2. Usporedba svojstava Rijndael S-kutije i slučajnih S-kutija

Rezultati provjere svojstava Rijndael S-kutije prikazani su u tablici 7.1.

Test RezultatVjerojatnost diferencijalne

kriptoanalize0.015625

Vjerojatnost linearne kriptoanalize 0.015625

Postojanje fiksnih točaka NEPostojanje reverznih fiksnih točaka NE

S-kutija je linearna funkcija NES-kutija je afina funkcija NE

Tablica 7.1. Rezultati provjere Rijndael S-kutije

Vjerojatnost diferencijalne kriptoanalize za S-kutiju za danu ulaznu i izlaznu razliku se izračunava kao omjer broja ulaza u S-kutiju za koje vrijede dane ulazna i izlazna razlika i broja svih mogućih ulaza u S-kutiju. Dobivena maksimalna vjerojatnost diferencijalne kriptoanalize za Rijndael S-kutiju iznosi 0.015625. To znači da za 1.56% ulaza u S-kutiju vrijedi da se za danu ulaznu razliku i te ulaze u S-kutiju dobiva dana izlazna razlika. Što je ova vrijednost veća, to vjerojatnost diferencijalne kriptoanalize cijelog kriptosustava raste. Zato je poželjno da ova vrijednost bude što je moguće manja.

Vjerojatnost linearne kriptoanalize izračunava se kao kvadrat vjerojatnosti ulazno/izlazne korelacije. Vjerojatnost ulazno/izlazne korelacije za dani linearni izraz se izračunava kao omjer broja ulaza u S-kutiju za koje dani linearni izraz vrijedi i broja svih mogućih ulaza u S-kutiju, minus 1. Dobivena maksimalna vjerojatnost

61

Page 70: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

linearne kriptoanalize za Rijndael S-kutiju iznosi 0.015625. To znači da za 1.56% ulaza u S-kutiju dani linearni izraz vrijedi. Što je ova vrijednost veća, to vjerojatnost linearne kriptoanalize cijelog kriptosustava raste. Zato je poželjno da ova vrijednost bude što je moguće manja.

Rezultati dobiveni provjerom svojstava Rijndael S-kutije se poklapaju sa rezultatima koje su dobili autori Rijndael-a. Autori Rijndael-a navode u [6] kako je vjerojatnost diferencijalne kriptoanalize jednaka 2-6, a za vjerojatnost ulazno/izlazne korelacije autori su dobili vrijednost 2-3, što odgovara vjerojatnosti 2-6, jer se prema izrazu (5.5) vjerojatnost linearne kriptoanalize izračunava kao kvadrat vjerojatnosti ulazno/izlazne korelacije. Navedeni rezultati dobiveni su i ostvarenim programom. Navedene niske vrijednosti za Rijndael S-kutiju posljedica su primjene strategije širokog traga.

Ulaz x je fiksna točka S-kutije S ako vrijedi S(x)=x. Ulaz x je reverzna fiksna točka S-kutije S ako vrijedi S(x)=x' gdje je x' komplement od x. Iz tablice 7.1. se vidi da Rijndael S-kutija nema fiksnih ni reverznih fiksnih točaka. Poželjno je da S-kutija nema fiksnih i nema reverznih fiksnih točaka jer se u protivnom prisutnost fiksnih točaka može iskoristiti u napadima na kriptosustav.

Rezultati provedeni nad 20 slučajnih S-kutija prikazani su u tablici 7.2.

Kao što se iz tablice 7.2. vidi, prosječna maksimalna vrijednost za diferencijalnu kriptoanalizu je 0.0426, a za linearnu kriptoanalizu je 0.0730. Slučajne S-kutije imaju veće vjerojatnosti linearne i diferencijalne kriptoanalize. Ako se iz tablice 7.2. uzme npr. slučajna S-kutija broj 20, vjerojatnost diferencijalne kriptoanalize iznosi 0.0391 što znači da se za 3.9% ulaza dobiva dana ulazna i izlazna razlika, za razliku od samo 1.5% ulaza kod Rijndael S-kutije. Za linearnu kriptoanalizu vjerojatnost je dosta veća od vjerojatnosti za linearnu kriptoanalizu za Rijndael S-kutiju i iznosi 0.0791. Dakle, za 7.9% ulaza vrijedi dana ulazna i izlazna razlika, za razliku od Rijndael S-kutije gdje vrijedi za samo 1.5% ulaza.

Dakle, vjerojatnosti diferencijalne i linearne kriptoanalize slučajnih S-kutija su veće od S-kutije izgrađene prema strategiji širokog traga.

Što se tiče fiksnih točaka vidi se da se kod slučajno generiranih S-kutija mogu pojaviti fiksne točke, što nije poželjno. Tako se npr. kod slučajne S-kutije broj 20 pojavljuju reverzne fiksne točke, kod S-kutije 19 pojavljuju se i fiksne i reverzne fiksne točke, za razliku od slučajne S-kutije broj 7. S-kutija broj 7 nema fiksnih točaka, što je dobro, ali ima veće vjerojatnosti za diferencijalnu i linearnu kriptoanalizu od vjerojatnosti Rijndael S-kutije.

Kada bi se u kriptosustavu primjenile ovakve slučajno generirane S-kutije, sigurnost kriptosustava bi bila niža nego kad se primijeni S-kutija izgrađena prema strategiji širokog traga.

Dakle, primjena strategije širokog traga u izgradnji supstitucijskih tablica (također i u izgradnji cijelog kriptosustava) smanjuje vjerojatnosti linearne i diferencijalne

62

Page 71: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

kriptoanalize i dobivaju se S-kutije sa svojstvima koje smanjuju mogućnosti primjene napada na kriptosustav.

Slučajna S-kutija

DP LP Postojanje fiksnih točaka

Postojanje reverznih

fiksnih točaka

1. 0.0391 0.0706 DA DA2. 0.0469 0.0625 NE DA3. 0.0391 0.0791 NE DA4. 0.0391 0.0748 DA NE5. 0.0391 0.0748 DA DA6. 0.0391 0.0748 DA NE7. 0.0469 0.0791 NE NE8. 0.0469 0.0665 DA DA9. 0.0469 0.0706 NE DA10. 0.0391 0.0748 DA DA11. 0.0469 0.0748 NE DA12. 0.0391 0.0836 DA NE13. 0.0469 0.0706 DA NE14. 0.0391 0.0706 DA DA15. 0.0469 0.0748 DA DA16. 0.0469 0.0881 DA DA17. 0.0391 0.0625 DA DA18. 0.0469 0.0665 DA DA19. 0.0391 0.0625 DA DA20. 0.0391 0.0791 NE DA

Prosječno 0.0426 0.0730 - -

Tablica 7.2. Rezultati provjere slučajnih Rijndael S-kutija

63

Page 72: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

8. Zaključak

Prema strategiji širokog traga kriptosustav se izgrađuje tako da ne postoje tragovi s malom težinom skupine bitova. Relativno velika količina resursa se troši na to da linearni korak proizvede visoku difuziju. Što se tiče S-kutija strategija jedino teži tome da vjerojatnost linearne korelacije i vjerojatnost razlika budu što je moguće manje. Uz ta dva svojstva prilikom izgradnje S-kutije se uzima u obzir i to da S-kutija nema fiksnih i reverznih fiksnih točaka, da nije linearna, odnosno afina funkcija, kompleksnost zapisa u GF poljima, visok algebarski stupanj. Sva ta svojstva, uz ostale dijelove kriptosustava osiguravaju otpornost na napade kao što su linearna kriptoanaliza, diferencijalna kriptoanaliza, algebarski napadi i dr.

Ostvarenim programskim sustavom pokazana je usporedba sigurnosti S-kutija izgrađenih prema strategiji širokog traga i slučajno generiranih S-kutija. Usporedba se obavlja tako da se usporede rezultati provjere svojstava S-kutija.

U poglavlju 7.5. pokazano je da slučajno generirane S-kutije imaju lošija svojstva u odnosu na S-kutije izgrađene prema opisanoj strategiji. Primjer takve S-kutije s kojom su slučajne S-kutije uspoređene je Rijndael S-kutija. Iz rezultata se vidi da slučajne S-kutije imaju veće vjerojatnosti za diferencijalnu i linearnu kriptoanalizu, kod slučajnih S-kutija se mogu pojaviti fiksne i reverzne fiksne točke. S-kutija također ne smije biti linearna, odnosno afina funkcija svojih ulaza. Ako se primjeni neka S-kutija s lošim svojstvima, kriptosustav ima manju sigurnost. Primjenom S-kutija generiranih prema strategiji širokog traga uz primjenu postupka strategije za izgradnju sloja difuzije sigurnost kriptosustava je za sada zadovoljavajuća. Na takav način je izgrađen kriptosustav Rijndael, a zbog svojih svojstava je izabran za AES.

Prilikom izgradnje novog kriptosustava ostvareni program može poslužiti kao alat za provjeru svojstava generiranih S-kutija, ali se ne može korisiti u postupku izgradnje S-kutija. Program je zamišljen kao edukacijski alat kojim se može pokazati kako slučajne S-kutije imaju lošija svojstva od S-kutija generiranih prema strategiji širokog traga. Zbog toga se nije pridavala velika pažnja generatoru slučajnih brojeva, te samom postupku generiranja slučajnih S-kutija. Da bi se program mogao koristiti u izgradnji S-kutija potrebno je ugraditi bolji generator slučajnih brojeva. Također je potrebno ugraditi različite postupke izgradnje S-kutija. Na primjer, generiranje S-kutija nad GF poljima na način da S-kutija ima inverz i da se istovremeno uzimaju u obzir postupci kojima bi S-kutije bile otporne na napade.

64

Page 73: Strategija obrane od linearne i diferencijalne kriptoanalizesigurnost.zemris.fer.hr/algoritmi/simetricni/2006_poljak_darko/data/doc/diplomski.pdfsupstitucijskih tablica. Primjena strategije

9. Literatura

[1] Andrej Dujella, Kriptografija, skripta, dokument je dostupan na Internet adresi: http://web.math.hr/~duje/kript/kriptografija.html

[2] Beomsik Song, Observations on the Cryptologic Properties of the AES Algorithm, April 2004, dokument je dostupan na Internet adresi: http://www.library.uow.edu.au/adt-NWU/uploads/approved/adt-NWU20041028.102719/public/02Whole.pdf

[3] Darko Poljak, Kriptoanaliza, SEMINARSKI RAD, Zagreb, lipanj 2005, dokument je dostupan na Internet adresi: http://os2.zemris.fer.hr/algoritmi/simetricni/2005_poljak_darko/seminar/index.html

[4] Joan Daemen, Vincent Rijmen, The Wide Trail Design Strategy, dokument je dostupan na Internet adresi: http://www.iaik.tugraz.at/aboutus/people/rijmen/ima.pdf

[5] Joan Daemen, Vincent Rijmen, Security of a Wide Trail Design, dokument je dostupan na Internet adresi: http://www.iaik.tugraz.at/aboutus/people/rijmen/indo.pdf

[6] Joan Daemen, Vincent Rijmen, AES Proposal: Rijndael, 2003, dokument je dostupan na Internet adresi: http://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael-ammended.pdf

[7] Joanne Elizabeth Fuller, Analysis of Affine Equivalent Boolean Functions for Cryptography (Chapter 6: Bijective S-box Applications), December, 2003, dokument je dostupan na Internet adresi: http://adt.library.qut.edu.au/adt-qut/uploads/approved/adt-QUT20040709.110711/public/07Chapter6.pdf

[8] Matthew G. Parker, Generalised S-Box Nonlinearity, Institute for Informatics, University of Bergen, Norway, 2003, dokument je dostupan na Internet adresi: http://www.ii.uib.no/~matthew/SBoxLin.pdf

[9] Vincent Rijmen, CRYPTOMAThIC, The Advanced Encryption Standard, Rijndael and Wide Trails, dokument je dostupan na Internet adresi: http://www.datalogforeningen.dk/fa/fa-20020110slides.pdf

[10] Internet stranice o računalnoj sigurnosti na službenim stranicama Fakulteta elektrotehnike i računarstva, dostupne na Internet adresi: http://os2.zemris.fer.hr/index.php?show=start

65