Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne...

35
Sveuˇ ciliˇ ste J.J. Strossmayera u Osijeku Odjel za matematiku Sveuˇ ciliˇ sni nastavniˇ cki studij matematike i informatike Vanja Zeˇ cevi´ c Protoˇ cne ˇ sifre Diplomski rad Osijek, 2013.

Transcript of Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne...

Page 1: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

Sveuciliste J.J. Strossmayera u OsijekuOdjel za matematiku

Sveucilisni nastavnicki studij matematike i informatike

Vanja Zecevic

Protocne sifre

Diplomski rad

Osijek, 2013.

Page 2: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

Sveuciliste J.J. Strossmayera u OsijekuOdjel za matematiku

Sveucilisni nastavnicki studij matematike i informatike

Vanja Zecevic

Protocne sifre

Diplomski rad

Mentor: doc. dr. sc. Ivan Matic

Osijek, 2013.

Page 3: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

Sadrzaj

Uvod 1

1 Ukratko o kriptografiji 2

2 Uvod u protocne sifre 52.1 Klasifikacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Registri povratnih pomaka 103.1 Linearni registri povratnih pomaka . . . . . . . . . . . . . . . . . . . . 10

3.1.1 Linearna kompleksnost . . . . . . . . . . . . . . . . . . . . . . . 133.1.2 Berlekamp-Massey algoritam . . . . . . . . . . . . . . . . . . . . 143.1.3 Nelinearni registri povratnih pomaka . . . . . . . . . . . . . . . 15

4 Protocne sifre temeljene na LFSR-u 184.1 Nelinearni kombinirajuci generatori . . . . . . . . . . . . . . . . . . . . 194.2 Nelinearni filtrirajuci generatori . . . . . . . . . . . . . . . . . . . . . . 204.3 Generatori kontrolirani satom . . . . . . . . . . . . . . . . . . . . . . . 21

4.3.1 Generator izmjenicnog koraka . . . . . . . . . . . . . . . . . . . 224.3.2 Generator skupljanja . . . . . . . . . . . . . . . . . . . . . . . . 23

5 Ostale protocne sifre 255.1 SEAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.2 RC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Page 4: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

Uvod

U ovom radu govorit cemo o protocnim siframa.Rad je podijeljen na 5 poglavlja. U prvom poglavlju reci cemo nesto ukratko o kripto-grafiji, znanosti koja koristi matematiku i matematicke metode za kriptiranje i dekrip-tiranje podataka. Drugo poglavlje nas uvodi u protocne sifre i klasifikaciju istih. Takoupoznajemo sifriranje jednokratnim kljucem, sinkrone protocne sifre i samosinkroneprotocne sifre. Sljedece poglavlje obraduje registre povratnih pomaka i to linearneregistre povratnih pomaka. Reci cemo nesto i o linearnoj kompleksnosti, o Berlekamp-Masseyevom algoritmu te o nelineranim registrima povratnih pomaka. Cetvrto poglav-lje se bavi protocnim siframa koje su temeljene na LFSR-u. Upoznat cemo nelinearnikombinirajuci generator, nelinearni filtrirajuci generator te generatore kontorilrane sa-tom. Zadnje poglavlje nam daje uvid u dvije vrste protocnih sifri, SEAL i RC4.

1

Page 5: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

Poglavlje 1

Ukratko o kriptografiji

Kada je Julije Cezar slao poruke svojim generalima, nije vjerovao svojim glasnicima.Zato je svaki A zamjenio s D, svako B s E i tako dalje kroz cijelu abecedu. Samo suoni koji su znali za pravilo ”pomak za 3” mogli procitati njegove poruke.Tako pocinjemo...

Od davnina su ljudi zeljeli sigurno komunicirati, svjesni da njihove poruke cestoputuju nesigurnim komunikacijskim kanalima. Kriptografija je znanost koja koristi ma-tematiku i matematicke metode za kriptiranje i dekriptiranje podataka. Kriptografijanam omogucava pohranjivanje ili transportiranje ”osjetljivih informacija” preko nesi-gurnih komunikacijskih kanala bilo to koristenjem staromodnih pisama, radio odasiljacaili u danasnje vrijeme interneta na nacin da nitko ne moze procitati sadrzaj tajne infor-macije osim osobe kojoj je stvarno namijenjena. Sama enkripcija se sastoji od toga dase cisti tekst (ili bilo kakva druga informacija) sakrije tj. prikaze na nerazumljiv nacinsvima osim osobama koje ne poznaju dekripcijski kljuc.

Kriptografija ima dugu i fascinantnu povijest. Postoje cak podaci da su Egipcaniprije vise od 4000 godina koristili kriptografske sustave za zastitu informacija. Krip-tografija se pocela ubrzano razvijati tijekom 2. svjetskog rata. Jedna od poznatijihkriptografskih naprava je bila njemacka Enigma. To je bio mehanicki stroj za krip-tiranje koji je pomocu rotora i mehanickih kontakata sifrirala poruke te omogucavaNjemcima da tajno razgovaraju sa svojim podmornicama.

Pocetkom 60-ih sa razvojem racunala doslo je do sve vecih zahtjeva za zastitominformacija a time i do razvojem kriptografije. U zadnjih 20-ak godina desila se pravaeksplozije u razvoju kriptografije kod akademskim zajednicama. Dok je klasicna krip-tografija bila u upotrebi od obicnih ljudi vec duze vrijeme, kompjuterska kriptografijaje bila u potpunosti u vojnoj domeni jos od 2. svjetskog rata. Americka NSA (NationalSecurity Agency) i njihovi ekvivalenti u bivsem Sovjetskom savezu, Engleskoj, Izraelu,Francuskoj i drugdje potrosili su milijarde dolara na razno razne igre osiguranja svojihkomunikacija i pritom zeleci razbiti tude. Privatne osobe sa manje znanja i novaca subile bespomocne u zastiti svoje privatnosti od takvih vlada.

Danas je situacija bitno drugacija. Postoji puno sustava, sto besplatnih koji kojiomogucavaju vrlo visoki nivo kriptiranja svakome tko zeli. Doduse u nekim drzavama idanas postoje zakoni o ogranicenju koristenja kriptografskih alata, ali sve je to uzaludnokada se na internetu mogu naci gotovo sve implementacije kriptografskih metoda.

2

Page 6: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

3

Osnovni ciljevi kriptografije su:

• tajnost podataka: da podacima mogu pristupiti samo oni koji smiju

• integritet podataka: da se otkrije neovlastena promjena podataka

• provjera identiteta: dokazivanje da su stranke u komunikaciji zaista one kojetvrde da jesu

• neosporivost: onemogucava sudioniku komunikacije da zanijece svoje prethodneporuke

Postoji par osnovnih metoda enkripcije. Konvencionalno kriptiranje ili jos poznato ponazivu kriptiranje ”simetricnim kljucem” koristi jedan kljuc za enkripciju i dekripciju.DES (Data Encryption Standard) je primjer konvencionalnog kriptiranja. Ovaj tipkriptiranja ima svoje prednosti. On je jako brz. Posebno je pogodan za kriptiranjepodataka koji ne moraju ”putovati”. Tu se javlja problem sigurne razmjene kljucevakoji uveliko poskupljuje siguran prijenos informacija. Da bi dvije stranke komuniciralemoraju se usaglasiti oko tajnog kljuca i moraju ga cuvati tajnim. Ako se oni nalaze narazlicitim fizickim udaljenostima moraju vjerovati nekom tipu kurira koji treba izmedunjih dvoje razmijeniti dogovoreni kljuc.

Problem razmjene kljuceva rjesava metoda kriptiranja sa ”javnim kljucem”. Tajkoncept su predstavili od Whitfield Diffie i Martin Hellman 1975. Metoda javnog kljucaje asimetricna sema koja koristi par kljuceva za enkripciju:

1. Javni kljuc: koji sluzi za kriptiranje podataka,

2. Tajni kljuc: koji sluzi za dekripciju.

Javni kljuc objavimo svima koji zele sigurno komunicirati sa nama. Svatko sa kopi-jom javnog kljuca moze kriptirati podatke koje jedino mi mozemo dekriptirati pomocunaseg tajnog kljuca. To nam omogucuje da komuniciramo i sa ljudima koje i ne poz-najemo. Nemoguce je iz javnog kljuca nekom metodom dobiti tajni kljuc. Neki odprimjera kriptosustava s javnim kljucem su: RSA kriptosustav, DSA kriptosustav, EL-Gamalov kriptosustav... Velika prednost metode kriptiranaj ”javnim kljucem” je toda omogucuje koristenje ”digitalnog potpisa”. Digitalni potpis omogucuje primateljuinformacije da utvrdi autenticnost porijekla same informacije i njenu izvornost (da nijebila mijenjana tokom puta). Digitalni potpis ima istu svrhu kao i potpis rukom samosto je digitalni potpis gotovo nemoguce krivotvoriti.

Naravno, za sve kripitirane poruke postoje i potencijalni napadaci. Oni mogu bitipasivni i aktivni. Pasivni napadac samo promatra tok podataka i moze samo narusitiprivatnost, dok aktivni napadac zeli i izmijeniti sadrzaj razmjenjivanih informacija.

Vrste mogucih napada su sljedece:

• iskljucivo sifrirani tekst: napadac ima pristup samo sifriranom tekstu

• poznati otvoreni tekst: napadac ima dio otvorenog teksta i sifrirani tekst

• izabrani otvoreni tekst: napadac sam bira otvorenog tekst i dobiva sifrirani

• adaptivni izabrani otvoreni tekst: izbor otvorene poruke ovisi o sifriranim poru-kama iz prethodnih pokusaja

Page 7: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

4

• izabrani sifrirani tekst: napadac bira sifrirani tekst i prema njemu moze dobitiotvoreni tekst

• adaptivni izabrani sifrirani tekst

Page 8: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

Poglavlje 2

Uvod u protocne sifre

Protocne sifre su vazna vrsta enkripcijskih algoritama. One sifriraju pojedinacneznakove (najcesce binarne znamenke) ciste tekstualne poruke jednu po jednu, koristecitransformaciju sifri koja se mijenja s vremenom. Suprotno tome, blok sifre istodobnosifriraju skupinu znakova ciste poruke koristeci fiksiranu transformaciju sifri. Protocnesifre su opcenito brze nego blok sifre u hardveru i imaju manje slozeni hardverski sklop.One su takoder prikladnije, a u nekim slucajevima i obavezne (npr. u primjeni teleko-munikacije), kada je medupohrana ogranicena ili kada znakovi moraju biti pojedinacnoobradeni kao sto su i primljeni. Zato sto imaju ogranicenu ili uopce nemaju sirenjepogreske, protocne sifre mogu biti korisne u situacijama gdje su greske u prijenosu vrlomoguce.Postoji veliko teorijsko znanje o protocnim siframa. Predlozena su razna dizajnerskanacela za protocne sifre i ona su ekstenzivno proucavana. Medutim, postoji relativnomalo potpuno odredenih algoritama za protocne sifre u otvorenoj literaturi. Ovo ne-sretno stanje se djelomicno moze objasniti cinjenicom da je vecina protocnih sifri kojase koristi u praksi povjerljiva i da ju vlasnik zeli zastiti. S druge strane, objavljenisu brojni konkretni prijedlozi blok sifri, od kojih su neki standardizirani ili smjesteniu javnoj domeni. Unatoc tome, zbog znacajnih prednosti, protocne sifre su u sirokojuporabi danas i moze se ocekivati sve vise konkretnih pomaka u nadolazecim godinama.

2.1 Klasifikacija

Protocne sifre mogu biti ili sifre sa simetricnim kljucem ili sifre s javnim kljucem.Fokus ovog poglavlja su protocne sifre sa simetricnim kljucem; primjer protocne sifres javnim kljucem jest Blum-Goldwasserov vjerojatnosni algoritam za kriptiranje.Blok sifre procesuiraju prazan tekst u relativno velikim blokovima (npr. s barem 64bita). Ista funkcija se koristi za enkripciju uzastopnih blokova. Prema tome (ciste)blok sifre su bezmemorijske. Nasuprot tome, protocne sifre procesuiraju otvoreni tekstu blokovima malim poput jednog bita, i enkripcija moze varirati dok se cisti tekst pro-cesuira, zato kazemo da protocne sifre imaju memoriju. One se ponekad nazivaju sifrestanja jer enkripcija ne ovisi samo o kljucu i otvorenom tekstu, nego i o sadasnjem(tekucem) stanju. Ova razlika izmedu blok sifri i protocnih sifri nije u potpunostiodredena; ako dodajemo malu kolicinu memorije blok sifri (kao u CBC nacinu),

5

Page 9: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

6

rezultat je protocna sifra s velikim blokovima. CBC nacin rada (engl. Cipher BlockChaining mode) je najkoristeniji oblik sifriranja diskova. U ovom nacinu rada svaki bloksa podacima se spaja sa prethodnim sifriranim blokom pomocu operacije ekskluzivno-ILI (engl. Exclusive OR – XOR), time svaki blok ovisi o svim prethodno obradenimblokovima. Dodatno, kako bi svaka poruka bila jedinstvena koristi se posebna vrijed-nost za sifriranje prvog bloka, a ta vrijednost se naziva inicijalizacijski vektor (engl.Initialization vector).

1. Sifriranje jednokratnim kljucemVernamova sifra nad binarnom abecedom definirana je na sljedeci nacin:

ci = mi ⊕ ki, i = 1, 2, 3, . . . ,

gdje su m1,m2,m3, . . . znamenke otvorenog teksta, k1, k2, k3, . . . znamenke nizasimbola kljuca, a c1, c2, c3, . . . znamenke sifrata. ⊕ je funkcija XOR (zbrajanje ilioduzimanje u bazi 2). Dekripcija je definirana s

mi = ci ⊕ ki.

Ako je niz simbola kljuca nezavisno i slucajno generiran, Vernamova sifra se zovesifra s jednokratnim kljucem (OTP – one-time pad) i bezuvjetno je sigurna protivnapada samo na sifrirani tekst. Preciznije, ako su M , C i K slucajne varijable,odnosno oznacuju otvoreni tekst, sifrirani tekst i tajni kljuc te ako H() oznacavaentropiju, tada je H(M |C) = H(M). Ekvivalentno, I(M ;C) = 0: sifrirani tekstnema informacija o otvorenom tekstu.Entropija slucajne varijable je mjera kolicine informacija dobivenih od varijableX, tj. nesigurnost ishoda prije promatranja varijable X.

Definicija 2.1.1 Entropija ili nesigurnost od varijable X je definirana s

H(X) = −n∑

i=1

pi log pi =n∑

i=1

pi log(1

pi),

gdje vrijedi pi · log pi = pi · log( 1pi

) = 0, ako je pi = 0.

Shannon je dokazao da je nuzan uvjet da enkripcijska shema simetricnog kljucabude bezuvjetno sigurna da vrijedi H(K) ≥ H(M). To jest, nesigurnost tajnogkljuca mora biti velika barem kao i nesigurnost u cistom tekstu. Ako kljuc imaduljinu k bita i kljucevi bita su izabrani slucajno i neovisno, tada je H(K) = k,i Shannonov nuzni uvjet za bezuvjetnu sigurnost postaje k ≥ H(M). Sifriranjejednokratnim kljucem je bezuvjetno sigurno bez obzira na statisticku distribu-ciju otvorenog teksta i optimalna je u smislu da je odgovarajuci kljuc najmanjevjerojatan od svih enkripcijskih shema sa simetricnim kljucevima koje imaju ovosvojstvo.Ociti nedostatak sifriranja jednokratnim kljucem je taj sto bi kljuc trebao bitidugacak kao i otvoreni tekst, sto povecava poteskoce distribucije kljuca i uprav-ljanje kljucem. To je motiviralo dizajniranje protocnih sifri u kojoj je niz simbolakljuca generiran pseudoslucajno od manjeg tajnog kljuca, s namjerom da se niz

Page 10: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

7

simbola kljuca pojavi slucajno racunski omedenom protivniku. Takve protocnesifre ne nude bezuvjetnu sigurnost (jer je H(K)� H(M)), ali nadamo se da suracunski sigurne. Protocne sifre se obicno klasificiraju kao sinkrone ili samosin-krone.

2. Sinkrone protocne sifre

Definicija 2.1.2 Sinkrona protocna sifra je ona u kojoj je niz simbola kljucageneriran neovisno o otvorenom tekstu poruke i o sifriranom tekstu.

Proces enkripcije sinkrone protocne sifre se moze opisati jednadzbama

σi+1 = f(σi, k),

zi = g(σi, k),

ci = h(zi,mi),

gdje je σ0 pocetno stanje koje se moze odrediti iz pocetnog kljuca k, f je funkcijasljedeceg stanja, g je funkcija koja proizvodi sifru kljuca zi i h je izlazna funkcijakoja kombinira sifru kljuca i otvoreni tekst mi da bi proizvela sifrirani tekstci. Procesi enkripcije i dekripcije su prikazani na slici ispod. OFB nacin bloksifriranja je primjer sinkrone protocne sifre.

Slika 2.1: Opci model sinkrone protocne sifre

Navedimo osnovna svojstva sinkrone protocne sifre:

(a) Zahtjevi sinkronizacije: U sinkronoj protocnoj sifri, i posiljatelj i prima-telj moraju biti sinkronizirani – moraju koristiti isti kljuc i radeci s iste po-zicije (stanja) unutar tog kljuca – kako bi se omogucilo pravilno desifriranje.Ako je sinkronizacija izgubljena zbog sifriranih znamenki koje su umetnuteili obrisane tijekom prijenosa, tada dekripcija ne uspijeva i moze se samoobnoviti kroz dodatne tehnike za ponovnu sinkronizaciju. Tehnike za po-novnu sinkronizaciju ukljucuju ponovno pokretanje, postavljanje posebnihoznaka u redovitim razmacima u sifriranom tekstu, ili ako otvoreni tekstsadrzi dovoljno redundacije, pokusati sve moguce sifre kljuceva.

(b) Nema sirenja pogreske: Sifrirani tekst koji je modificiran (ali ne i obrisan)tijekom prijenosa ne utjece na desifriranje ostalih znamenki sifriranog teksta.

Page 11: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

8

(c) Aktivni napadi: Kao posljedica svojstva (a), umetanje, brisanje ili po-navljanje znamenki sifriranog teksta aktivnog protivnika, uzrokuje trenutnigubitak sinkronizacije i stoga moze biti otkriven od onog tko ga desifrira.Kao posljedica svojstva (b), aktivni protivnik bi mogao napraviti promjeneu odabranim znamenkama sifriranog teksta i znati tocno utjecaj promije-njenog na otvoreni tekst. To ilustrira da dodatni mehanizmi moraju bitizaposleni da bi osigurali autentifikaciju podrijetla podataka i integritet jam-stvenih podataka.

Vecina protocnih sifri koje su do danas predlozene u literaturi su aditivne protocnesifre:

Definicija 2.1.3 Binarne aditivne protocne sifre su sinkrone protocne sifre ukojima su sifra kljuca, otvoreni tekst i sifrat binarne znamenke, a izlazna funkcijah je XOR funkcija.

Binarne aditivne sifre opisane su na donjoj slici. Pozivajuci se na tu sliku, gene-rator kljuca je sastavljen od funkcije f sljedeceg stanja i funkcije g.

Slika 2.2: Opci model binarne aditivne protocne sifre

3. Samosinkrone protocne sifre

Definicija 2.1.4 Samosinkrona ili asinkrona protocna sifra je ona u kojoj jenizovni kljuc generiran kao funkcija kljuca i fiksnog broja prethodnih znamenkisifrata.

Funkcija enkripcije samosinkrone sifre se moze opisati jednadzbama:

σi = (ci−t, ci−t+1, . . . , ci−1),

zi = g(σi, k),

ci = h(zi,mi),

gdje je σ0 = (ci−t, ci−t+1, . . . , ci−1) (ne - tajno) pocetno stanje, k je kljuc, g jefunkcija koja generira niz kljuceva zi i h je izlazna funkcija koja kombinira nizkljuceva i otvoreni tekst mi da proizvode sifrirani tekst ci. Procesi enkripcije idekripcije su opisani na Slici 2.3.U nastavku navedimo neka svojstva samosinkronih protocnih sifri:

Page 12: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

9

Slika 2.3: Opci model samosinkrone protocne sifre

(a) Samosinkronizacija: Samosinkronizacija je moguca ako su znamenke sifri-ranog teksta obrisane ili umetnute, jer dekripcija ovisi samo o fiksiranombroju prethodnih simbola sifriranog teksta. Takve sifre su u mogucnostiponovo uspostaviti odgovarajuci dekripciju automatski nakon gubitka sin-kronizacije, samo s fiksnim brojem nepovratnih simbola otvorenog teksta.

(b) Ograniceno sirenje pogreske: Pretpostavimo da stanje samosinkroneprotocne sifre ovisi o t znamenaka prethodnog sifriranog teksta. Ako jejedna znamenka sifriranog teksta modificirana (ili cak obrisana ili umetnuta)tijekom prijenosa, tada dekripcija do sljedecih t znamenki sifriranog tekstamoze biti netocna, nakon cega se nastavlja ispravna dekripcija.

(c) Aktivni napadi: Svojstvo (b) implicira da bilo kakva modifikacija zna-menki sifriranog teksta aktivnog protivnika uzrokuje da nekoliko drugih zna-menki sifriranog teksta bude desifrirano netocno, time poboljsava (u uspo-redbi sa sinkronim protocnim siframa) vjerojatnost da se otkrije od stranenapadaca (dekriptora). Kao posljedica svojstva (a), teze je (nego sinkro-nim protocnim siframa) otkriti ubacivanje, brisanje ili ponavljanje znamenkisifriranog teksta od strane aktivnog protivnika. To pokazuje kako se morajuukljuciti i dodatni mehanizmi kako bi se sprjecila autentifikacija podrijetlapodataka i integritet jamstva podataka.

(d) Difuzija statistickih svojstava otvorenog teksta: Posto svaka zna-menka otvorenog teksta utjece na citav sifrat, statisticka svojstva otvorenogteksta su rasprsena kroz sifrirani tekst. Stoga, samosinkrone protocne sifremogu biti otpornije nego sinkrone protocne sifre protiv napada temeljenihna redudanciji (tj. temeljenih na vecem broju jednakih simbola u otvorenomtekstu) otvorenog teksta.

Page 13: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

Poglavlje 3

Registri povratnih pomaka

Registri povratnih pomaka, posebno linearni, su osnovne komponente mnogih ge-neratora niza simbola kljuca.

3.1 Linearni registri povratnih pomaka

Linearni registri povratnih pomaka (LFSR, engl. Linear feedback shift register) sekoriste u mnogim generatorima kljuceva koji su predlozeni u literaturi. Nekoliko jerazloga za to:

1. LFSR su pogodna za hardversku implementaciju,

2. mogu proizvesti nizove velikih perioda,

3. mogu proizvesti nizove s dobrim statistickim svojstvima,

4. zbog svoje strukture, mogu se direktno analizirati algebarskim tehnikama.

Definicija 3.1.1 Linearni registar povratnih pomaka (LFSR) duljine L sastoji se odL stupnjeva numeriranih s 0, 1, . . . , L− 1, od kojih je svaki sposoban za pohranu jednogbita i imaju po jedan ulaz i izlaz; i sat koji kontrolira kretanje podataka. Tijekom svakejedinice vremena izvode se sljedece operacije:

1. sadrzaj stanja 0 je izlaz i formira dio izlaznog niza,

2. sadrzaj stanja i je premjesten u stanje i− 1, za svaki i, 1 ≤ i ≤ L− 1,

3. novi sadrzaj stanja L − 1 je povratni bit sj, dobiven dodavanjem modulo 2 pret-hodnom sadrzaju fiksiranog podskupa stanja 0, 1, . . . , L− 1.

Na Slici 3.1 opisan je jedan LFSR. Jasno vidimo da je svaki c1 ili 0 ili 1. Zatvorenipolukrugovi su AND sklopke. Povratni bit sj je suma sadrzaja stanja i modulo 2 zbrojasadrzaja tih stanja i, 0 ≤ i ≤ L− 1, za svaki cL−i = 1.

Definicija 3.1.2 Linearni registar povratnih pomaka na Slici 3.1 je oznacen s 〈L,C(D)〉,gdje je C(D) = 1+c1D+c2D

2+· · ·+cLDL ∈ Z2[D] polinom veze . Za LFSR kazemoda je nesingularan ako je stupanj polinoma C(D) jednak L (tj. cL = 1.) Ako je svakipocetni sadrzaj stanja i je si ∈ {0, 1}, za svaki i, 0 ≤ i ≤ L− 1, tada [s(L−1), . . . , s1, s0]zovemo pocetno stanje LFSR-a.

10

Page 14: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

11

Slika 3.1: Linearni registar povratnih pomaka duljine L

Primjetimo da, ako je pocetno stanje LFSR-a na Slici 3.1 jednako [s(L−1), . . . , s1, s0],tada je izlazni niz s = s0, s1, s2, ... jedinstveno odreden sljedecom rekurzijom:

sj = (c1sj−1 + c2sj−2 + · · ·+ cLsj−L) mod 2, za j ≥ L.

Primjer 3.1.1 Promotrimo sljedecu sliku na kojoj je dan LFSR 〈4, 1 +D+D4〉. Ako

Slika 3.2: LFSR 〈4, 1 +D +D4〉

je pocetno stanje LFSR-a jednako [0, 0, 0, 0], tada je izlazni niz nul-niz. Sljedece tablicepokazuju sadrzaj stanja D3, D2, D1, D0 na kraju svake jedinice vremena t kada jepocetno stanje [0, 1, 1, 0].

Slika 3.3: Tablice stanja D3, D2, D1, D0.

Izlazni niz je s = 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, ...., i periodican je s periodom 15.

Page 15: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

12

Znacaj nesingularnog LFSR-a je objasnjen cinjenicom da je svaki izlazni niz (npr. zasva moguca pocetna stanja) LFSR-a 〈L,C(D)〉 periodican ako i samo ako polinom vezeC(D) ima stupanj L.Ako je LFSR 〈L,C(D)〉 singularan (npr. C(D) ima stupanj manji od L), tada nisusvi izlazni nizovi periodicni. Ipak, izlazni nizovi su konacno periodicni, tj. niz dobivenignoriranjem odredenog konacnog broja uvjeta na pocetku je periodican.U ovom poglavlju radit cemo s nesingularnim LFSR-ovima. Prvo definirajmo sljedece:

Definicija 3.1.3 Neka je f(x) ∈ F [x] polinom stupnja najmanje 1. Tada za f(x)kazemo da je ireducibilan nad F ako se ne moze napisati kao produkt dva polinoma izF [X], od kojih su oba pozitivnog stupnja.

Definicija 3.1.4 Ireducibilan polinom f(x) ∈ Zp[x] stupnja m zovemo primitivnimpolinomom ako je x generator F∗pm, multiplikativne grupe svih nenul elemenata uFpm = Zp[x]/(f(x)).

Drugim rijecima, ireducibilni polinom f(x) stupnja m je primitivan ako i samo ako jenajmanji k takav da f(x) dijeli xk − 1 jednak pm − 1.Na primjer, polinom f(x) = x4 + x + 1 je ireducibilan nad Z2 te je f(x) i primitivanpolinom jer se svaki element iz F ∗1 6 moze prikazati kao potencija od x.

Periode izlaznih nizova nekih posebnih tipova nesingularnih LFSR-ova odredit cemosljedecim cinjenicama:Neka je C(D) ∈ Z2[D] polinom veze stupnja L.

1. Ako je C(D) ireducibilan nad Z2, tada svako od 2L−1 ne-nul pocetnih stanja ne-singularnog LFSR-a 〈L,C(D)〉 daje izlazni niz s periodom jednakim najmanjemprirodnom broju N takvom da C(D) dijeli 1 + DN u Z2[D]. (Primjetimo da jeN djelitelj 2L − 1. )

2. Ako je C(D) primitivan polinom, tada svaki od 2L−1 ne-nul pocetnih stanja ne-singularnog LFSR-a 〈L,C(D)〉 daje izlazni niz s najvecim mogucim maksimalnimperiodom 2L − 1 .

Iz prethodne cinjenice dolazimo do sljedece definicije.

Definicija 3.1.5 Ako je je C(D) ∈ Z2[D] primitivan polinom stupnja L, tada 〈L,C(D)〉zovemo LFSR maksimalne duljine. Izlaz LFSR-a maksimalne duljine sa ne-nul pocetnimstanjem naziva se m-niz.

Pogledajmo statisticka svojstva m-niza:Neka LFSR maksimalne duljine L generiran s m-nizom.

1. Neka je s m-niz i neka je k cijeli broj, 1 ≤ k ≤ L i neka je s bilo koji podniz nizas duljine 2L +k−2. Tada se svaki ne-nul niz duljine k pojavljuje tocno 2L−k putakao podniz od s. Nadalje, nul niz duljine k se pojavljuje tocno 2L−k− 1 puta kaopodniz od s.

2. s zadovoljava Golombove postulate slucajnosti. To jest, svaki m-niz je takoderpn-niz.

Primjer 3.1.2 (Primjer m-niza) Kako je C(D) = 1 + D + D4 primitvni polinomnad Z2, LFSR 〈4, 1 + D + D4〉 je LFSR maksimalne duljine. Stoga, izlazni niz togLFSR-a je m-niz najveceg moguceg perioda N = 24 − 1 = 15.

Page 16: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

13

3.1.1 Linearna kompleksnost

U ovom potpoglavlju sazet cemo odabrane rezultate o linearnoj kompleksnosti niza.Za sve nizove cemo pretpostaviti da su binarni nizovi. Oznake: Neka s oznacavabeskonacan niz ciji su elementi s0, s1, ....; s

n oznacava konacan niz duljine n ciji suelementi s0, s1, ..., sn−1.

Definicija 3.1.6 Kazemo da LFSR generira niz s ako postoji neko pocetno stanje zakoje je izlazni niz LFSR-a jednak s. Slicno, kaze se da LFSR generira konacan niz sn

ako postoji neko pocetno stanje za koje izlazni niz LFSR-a ima prvih n elemenata nizaod sn.

Definirajmo linearnu kompleksnost.

Definicija 3.1.7 Linearna kompleksnost beskonacnog binarnog niza s, oznacena s L(s),definirana je na sljedeci nacin:

(i) ako je s nul niz, tj. s = 0, 0, 0, ..., tada je L(s) = 0;

(ii) ako nijedan LFSR ne generira s, tada je L(s) =∞ ;

(iii) inace, L(s) je duljina najkraceg LFSR-a koji generira s.

Linearna kompleksnost konacnog binarnog niza sn, oznacena s L(sn), je duljina naj-kraceg LFSR-a koji generira niz cijih prvih n elemenata od sn.Neka od osnovnih svojstava linearne kompleksnosti su:

• Neka su s i t binarni nizovi.

1. Za svaki n ≥ 1, linearna kompleksnost podniza sn zadovoljava 0 ≤ L(sn) ≤n.

2. L(sn) = 0 ako i samo ako je sn nul niz duljine n.

3. L(sn) = n ako i samo ako je sn = 0, 0, 0, ..., 0, 1.

4. Ako je s periodican s periodom N , tada je L(sn) ≤ N .

5. L(s⊕ t) ≤ L(s)+L(t), gdje s⊕ t oznacava sumu nizova s i t funkcijom XORbit po bit.

• Ako je polinom C(D) ∈ Z2[D] ireducibilan nad Z2 i ima stupanj L, tada svaki od2L− 1 ne-nul pocetnih stanja nesingularnog LFSR-a 〈L,C(D)〉 daje izlazni niz slinearnom kompleksnoscu L.

• Ocekivanje i varijanca linearne kompleksnosti slucajnog niza.Neka je sn slucajno odabran niz skupa svih binarnih nizova duljine n, i nekaje L(sn) linearna kompleksnost niza sn. Neka B(n) oznacava parnost funkcije:B(n) = 0 ako je n paran i B(n) = 1 ako je n neparan.

1. Ocekivana linearna kompleksnost od sn je:

E(L(sn)) =n

2+

4 +B(n)

18− 1

2n

(n

3+

2

9

).

Stoga, za umjereno veliki n:

Page 17: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

14

– ako je n paran, vrijedi: E(L(sn)) ≈ n2

+ 29,

– ako je n neparan, vrijedi: E(L(sn)) ≈ n2

+ 518

.

2. Varijanca linearne kompleksnosti od sn je

V ar(L(sn)) =86

81− 1

2n

(14−B(n)

27n+

82− 2B(n)

81

)− 1

22n

(n2

9+

4n

27+

4

81

).

Stoga, za umjereno veliki n je V ar(L(sn)) ≈ 8681

.

• Ocekivanje linearne kompleksnosti slucajnog periodicnog niza.Neka je sn uniformno i slucajno izabran niz iz skupa svih binarnih nizova duljinen, gdje je n = 2t za neki fiksan t ≥ 1, te neka je s n-periodican beskonacan nizdobiven ponavljanjem niza sn. Tada je ocekivana linearna kompleksnost od sjednaka E(L(sn)) = n− 1 + 2−n.

3.1.2 Berlekamp-Massey algoritam

Berlekamp-Massey algoritam je ucinkovit algoritam za utvrdivanje linearne komplek-snosti konacnog binarnog niza sn duljine n. Algoritam se sastoji od n iteracija, gdjeN -ta iteracija izracunava linearnu kompleksnost podniza sN koji se sastoji od prvih Nelemenata od sn.

Definicija 3.1.8 Neka je sN+1 = s0, s1, . . . , sN−1, sN konacan binarni niz. Za C(D) =1+c1D+· · ·+cLDL, neka je 〈L,C(D)〉 LFSR koji generira podniz sN = s0, s1, . . . , sN−1.Sljedeci udaljenost dN je razlika izmedu sN i izraza (N + 1)-og izraza generiranog sLFSR-om:

dN = (sN +L∑i=1

ciSN−i) mod 2.

Neka je sN = s0, s1, . . . , sN−1 konacan binaran niz linearne kompleksnosti L(sN), teneka je 〈L,C(D)〉 LFSR koji generira niz sN .

(i) LFSR 〈L,C(D)〉 takoder generira i niz sN+1 = s0, s1, . . . , sN−1, sN ako i samo akoje sljedeci raskorak dn jednak 0.

(ii) Ako je dn = 0, tada je L(sN+1) = L.

(iii) Pretpostavimo da je dn = 1. Neka je m najveci cijeli broj manji od N tako davrijedi L(sm) < L(sN) i neka je 〈L(sm), B(D)〉 LFSR duljine L(sm) koji generiraniz sm. Tada je 〈L′, C ′(D)〉 LFSR najmanje duljine koji generira niz sN+1, gdjeje

L′ =

{L, L > N/2,N + 1− L, L ≤ N/2,

i C ′(D) = C(D) +B(D) ·DN−m.

Page 18: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

15

Berlekamp - Massey algoritam:

ULAZ: binarni niz sn = s0, s1, s2, . . . , sn−1 duljine n.IZLAZ: linearna kompleksnost L(sn) niza sn, 0 ≤ L(sn) ≤ n.

1. Inicijalizacija. C(D)← 1, L← 0, m← −1, B(D)← 1, N ← 0.

2. Dok je (N < n), radi sljedece:

(a) Racunaj sljedeci raskorak d. d← (sN +∑L

i=1 cisN−i) mod 2.

(b) Ako je d = 1, radi sljedece:

T (D)← C(D), C(D)← C(D) +B(D) ·DN−m.

Ako je L ≤ N/2, tada L← N + 1− L,m← N,B(D)← T (D).

(c) N ← N + 1.

3. Vrati (L).

Na kraju svake iteracije drugog koraka, 〈L,C(D)〉 je LFSR najkrace duzine koji gene-rira niz sN . Stoga, prethodni algoritam mozemo koristiti i za racunanje profila linearnekompleksnosti nekog konacnog niza.

Definicija 3.1.9 Neka je s = s0, s1, . . . binaran niz i neka LN oznacava linearnu kom-pleksnost podniza sN = s0, s1, . . . , sN−1, N ≥ 0. Niz L1, L2, . . . zovemo profilom line-arne kompleksnosti niza s. Slicno, ako je sn = s0, s1, . . . , sn−1 konacan binarni niz, nizL1, L2, . . . , Ln zovemo profilom linearne kompleksnosti niza sn.

Vrijeme rada Berlekamp-Masseyevog algoritma za odredivanje linearne kompleksnostibinarnog niza, cija je duljina bita n, jednako je O(n2) operacija.

Primjer 3.1.3 U sljedecoj tablici prikazani su koraci Berlekamp-Masseyevog algo-ritma za racunanje linearne kompleksnosti binarnog niza sn = 0, 0, 1, 1, 0, 1, 1, 1, 0 du-ljine n = 9. Ovaj niz ima linearnu kompleksnost 5, a LFSR koji generira taj niz je〈5, 1 +D3 +D5〉.

3.1.3 Nelinearni registri povratnih pomaka

Ovo potpoglavlje nam donosi odabrane rezultate o nelinearnim registrima povratnihpomaka. Funkcija s n binarnih ulaza i jednim binarnim izlazom se zove Booleovafunkcija n varijabli; postoji 22n razlicitih Booleovih funkcija n varijabli.

Definicija 3.1.10 Registar povratnih pomaka (FSR) duljine L se sastoji od L stanjanumeriranih s 0, 1, . . . , L − 1, od kojih je svako sposobno za pohranu jednog bita, imajedan ulaz i jedan izlaz te sat koji kontrolira kretanje podataka. Tijekom svake jedinicevremena izvode se sljedece operacije:

(i) sadrzaj stanja 0 je izlaz i tvori dio izlaznog niza,

Page 19: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

16

Slika 3.4: Koraci Berlekamp-Masseyevog algoritma

(ii) sadrzaj stanja i je pomaknut u stanje i− 1 za svaki i, 1 ≤ i ≤ L− 1,

(iii) novi sadrzaj stanja L − 1 je povratni bit sj = f(sj−1, sj−2, . . . , sj−L), gdje jepovratna funkcija f Booleova funkcija, a sj−i je prethodni sadrzaj stanja L − i,1 ≤ i ≤ L.

Ako stanje i ima pocetni sadrzaj si ∈ {0, 1} za svaki 0 ≤ i ≤ L−1, tada [sL−1, . . . , s1, s0]nazivamo pocetnim stanjem FSR-a.

Na sljedecoj slici opisan je FSR. Prijetimo da ako je povratna funkcija f linearnafunkcija, tada je FSR zapravo LFSR. U suprotnom, FSR nazivamo nelinearnim FSR-om.

Slika 3.5: Registar povratnih pomaka FSR duljine L

Ako je pocetno stanje FSR-a s gornje slike [sL−1, . . . , s1, s0], tada je izlazni niz s =s0, s1, s2, . . . jedinstveno odreden sljedecom rekurzijom

sj = f(sj1 , sj−2, . . . , sj−L), zaj ≥ L.

Definicija 3.1.11 Za FSR kazemo da je nesingularan ako i samo ako je svaki izlazniniz FSR-a (tj. za sva moguca pocetna stanja) periodican.

FSR s povratnom funkcijom f(sj−1, sj−2, . . . , sj−L) je nesingularan ako i ako je f =sj−L ⊕ g(sj−1, sj−2, . . . , sj−L+1), gdje je g Booleova funkcija.Period izlaznog niza nesingularnog FSR-a duljine L je najvise 2L.

Page 20: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

17

Definicija 3.1.12 Ako je period izlaznog niza (za bilo koje pocetno stanje) nesingu-larnog FSR-a duljine L jednak 2L, tada FSR nazivamo de Bruijnov FSR, a izlazni nizde Bruijnov niz.

Primjer 3.1.4 (De Bruijnov niz) Promotrimo FSR duljine 3 s nelinearnom povrat-nom funkcijom f(x1, x2, x3) = 1⊕ x2 ⊕ x3 ⊕ x1x2. Sljedece tablice prikazuju sadrzaj 3stanja FSR-a na kraju svake jedinice vremena t kad je pocetno stanje [0, 0, 0].

Slika 3.6: De Bruijnov niz

De Bruijnov niz ima dobra statisticka svojstva.

Neka je s de Bruijnov niz koji je generiran de Bruijnovim FSR-om duljine L. Neka jek cijeli broj takav da je 1 ≤ k ≤ L i neka je s bilo koji podniz niza s duljine 2L +k− 1.Tada se svaki niz duljine k pojavljuje tocno 2L−k puta kao podniz niza s. Drugimrijecima, distribucija uzorka koji imaju fiksnu duljinu najvise L je jednolika.

Page 21: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

Poglavlje 4

Protocne sifre temeljene na LFSR-u

Kao sto je vec receno, linearni registri povratnih pomaka su u sirokoj upotrebi u genera-torima niza simbola kljuca jer su pogodni za hardversku implementaciju, jer proizvodenizove velikih perioda i dobrih statistickih svojstava te se mogu lako analizirati alge-barskim tehnikama. Nazalost, izlazni niz LFSR-a je lako predvidljiv sto cemo sada ipokazati.Pretpostavimo da izlazni niz s LFSR-a ima linearnu kompleksnost L. Polinom vezeC(D) LFSR-a duljine L koji generira niz s se lako odreduje Berlekamp-Masseyvim al-goritmom za bilo koji (kratki) podniz t niza s cija je duljina najmanje n = 2L. Nakonsto je C(D) odreden, LFSR 〈L,C(D)〉 moze biti zapocet s bilo kojim podstringom odpodniza t duljine L i njime se moze generirati ostatak niza s. Protivnik moze dobitipotreban podniz t niza s koristeci napad na poznati ili odabrani otvoreni tekst naprotocnoj sifri; ako protivnik zna podniz m1,m2, . . . ,mn otvorenog teksta koji odgo-vara nizu sifrata c1, c2, . . . , cn, odgovarajuci bitovi nizovnog kljuca dobiju se kao mi⊕ci,1 ≤ i ≤ n.

Upotreba LFSR-a u generatorima niza simbola kljucaKako bi dobro dizajniran sistem trebao biti siguran protiv napada poznatog otvorenogteksta, sam LFSR se nikad ne bi trebao koristiti kao generator niza simbola kljuca. No,LFSR je pozeljan zbog svojih vrlo niskih troskova implementacije. U ovom djelu cemoreci nesto o tri osnovne metodologije za unistavanje linearnih svojstava LFRS-a:

1. pomocu nelinearne kombinirane funkcije izlaza nekoliko LFSR-ova,

2. pomocu nelinearne filtrirane funkcije sadrzaja pojedinacnog LFSR-a,

3. koristenjem izlaza jednog (ili vise) LFSR-ova kako bi kontrolirali sat jednog (ilivise) drugih LFSR-ova.

Pozeljna svojstva generatora niza simbola kljuca koji su temeljeni na LFSR-uU osnovi bi za sve moguce tajne kljuceve, izlazni niz generatora niza simbola kljucatemeljenog na LFSR-u trebao imati sljedeca svojstva:

1. jako veliki period,

2. jako veliku linearnu kompleksnost,

18

Page 22: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

19

3. dobra statisticka svojstva.

Naglaseno je da su ova svojstva samo nuzni uvjeti da bi generator niza simbola kljucasmatran kriptografski sigurnim. Kako matematicki dokazi za sigurnost takvih gene-ratora nisu poznati, takvi generatori se mogu smatrati samo racunski sigurnim nakondovoljno javnog ispitivanja.Kako je pozeljno svojstvo za generatore niza simbola kljuca da izlazni niz ima velikeperiode, komponente LFSR-a trebaju se uvijek izabrati da budu maksimalne duljineLFRS-a. Recimo, ako je LFSR oblika 〈L,C(D)〉, gdje je C(D) ∈ Z2[D] primitivnipolinom stupnja L.

4.1 Nelinearni kombinirajuci generatori

Jedna opca tehnika za nadilazenje linearnog svojstva u LFSR-ovima jest usporednokoristenje nekoliko LFSR-ova. Niz simbola kljuca je generiran kao nelinearna funkcijaf izlaznih komponenti LFSR-ova, kao sto vidimo na sljedecoj slici.

Slika 4.1: Nelinearni kombinirajuci generator

Definicija 4.1.1 Produkt m razlicitih varijabli nazivamo produktom m-tog reda. SvakaBooleova funkcija f(x1, x2, . . . , xn) se moze zapisati kao suma modulo 2 zbroja razlicitihprodukata m-tog reda njegovih varijabli, 0 ≤ m ≤ n; ovaj izraz nazivamo algebarskomnormalnom formom funkcije f . Nelinerani red funkcije f je maksimum reda izraza kojise pojavljuju u njegovom algebarskom normalnom obliku.

Na primjer, Booleova funkcija f(x1, x2, x3, x4, x5) = 1 ⊕ x2 ⊕ x3 ⊕ x4x5 ⊕ x1x3x4x5ima nelinearni red 4. Sljedeca tvrdnja govori da izlazni niz nelinearnog kombinacijskoggeneratora ima veliku linearnu kompleksnost, pod uvjetom da koristi kombinirajucufunkciju f visokog nelinearnog reda.Pretpostavimo da je maksimalna duljina LFSR-a n, cije su duljine L1, L2, . . . , Ln uparovima razlicite i vece od 2, kombinirana s nelinearnom funkcijom f(x1, x2, . . . , xn)sto je izrazeno u algebarskoj normalnoj formi. Tada linearna kompleksnost niza simbolakljuca iznosi f(L1, L2, . . . , Ln).

Page 23: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

20

Primjer 4.1.1 (Geffeov generator) Geffeov generator je definiran s tri LFSR-a mak-simalne duljine cije duljine L1, L2, L3 su u parovima relativno proste, s nelineranomkombinirajucom funkcijom

f(x1, x2, x3) = x1x2 ⊕ (1 + x2)x3 = x1x2 ⊕ x2x3 ⊕ x3.

Generirani niz simbola kljuca ima period (2L1 − 1) · (2L2 − 1) · (2L3 − 1) i linearnu kom-pleksnost L = L1L2 +L2L3 +L3. Geffeov generator je kriptografski slab jer informacije

Slika 4.2: Geffeov generator

o stanjima LFSR 1 i LFSR 3 cure u izlazni niz. Da bi to vidjeli, neka x1(t), x2(t),x3(t), z(t) oznacavaju t-ti izlazni bit LFSRova 1, 2, 3, odnosno niza simbola kljuca.Tada je korelacija vjerojatnosti niza x1(t) i izlaznog niza z(t) jednaka:

P (z(t) = x1(t)) = P (x2(t) = 1) + P (x2(t) = 0) · P (x3(t) = x1(t))

=1

2+

1

2· 1

2=

3

4.

Slicno, P (z(t) = x3(t)) = 34. Iz tog razloga, unatoc velikom periodu i umjereno visokoj

linearnoj kompleksnosti, Geffeov generator podlijeze korelacijskim napadima. To sunapadi koji koriste (i nastoje pogoditi) vezu ulaznog i izlaznog niza simbola, racunajucibroj podudaranja izmedu znakova ulaznog niza i svih mogucih pomaka izlaznog niza.

4.2 Nelinearni filtrirajuci generatori

Sljedeca tehnika za nadilazenje linearnosti LFSR-a jest generiranje niza simbola kljucakao neku nelinearnu funkciju stanja pojedinog LFSR-a. Ova konstrukcija je prikazanana Slici 4.3. Takvi se generatori niza simbola kljuca nazivaju nelinearni filtrirajucigeneratori, a f zovemo filtirajuca funkcija.

Page 24: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

21

Slika 4.3: Nelinearni filtrirajuci generator

Sto mozemo reci o linearnoj kompleksnosti izlaznog niza ovog generatora?Pretpostavimo da je nelinearni filtrirajuci generator konstruiran najduzim LFSR-omduljine L i filtrirajucom funkcijom f nelinearnog reda m.

(i) (Granica kljuca) Linearna kompleksnost niza simbola kljuca je najvise Lm =∑m

i=1

(Li

).

(ii) Za fiksni LFSR velike duljine L, vecina generatora proizvodi nizove cija je linearnakompleksnost priblizno jednaka granici Lm iz (i).

Nelinearna funkcija f izabrana za filtrirajuci generator mora ukljucivati mnoge uvjetena svaki red sve do nelinearnog reda funkcije f .

Primjer 4.2.1 (Generator naprtnjace) Generator naprtnjace niza simbola kljucaje definiran s LFSR maksimalne duljine 〈L,C(D)〉 i modula Q = 2L. Tajni kljucse sastoji od cjelobrojnih tezina a1, a2, . . . , aL duljine bita L i pocetnog stanja LFSR-a. Problem zbroja podskupova je odrediti podskup tezine naprtnjace koji dodan danomcijelom broju s, osigurava da takav podskup postoji. Niz simbola kljuca se definira nasljedeci nacin: u vremenu j, LFSR je krenuo i suma naprtnjace Sj =

∑Li=1 xiai mod Q

je izracunata, gdje je [xL, . . . , x2, x1] stanje LFSR-a u vremenu j. Konacno, izabranibitovi sume Sj (nakon sto je pretvorena u odgovarajuci binarni zapis) su izvuceni dacine dio niza simbola kljuca(dlogLe najmanje znacajnih bitova sume Sj trebaju bitiodbaceni). Tada je za linearnu kompleksnost niza simbola kljuca virtualno sigurnoda iznosi L(2L − 1). Kako je stanje LFSR-a binarni vektor, funkcija koja preslikavaLFSR stanje u sumu naprtnjace Sj je zaista nelinearna. Eksplicitno, neka je funkcija

f definirana na sljedeci nacin: f(x) =∑L

i=1 xiai mod Q, gdje je [xL, . . . , x2, x1]. Akosu x i y dva stanja, tada opcenito vrijedi f(x⊕ y) 6= f(x) + f(y).

4.3 Generatori kontrolirani satom

U nelinearnim kombiniranim generatorima i nelinearnim filter generatorima, kompo-nente LFSR-a su mjerene regularno, tj. kretanje podataka u svim LFSR-ovima je

Page 25: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

22

kontrolirano istim satom. Glavna ideja generatora kontroliranih satom jest upoznatinelinearnost s generatorima niza simbola kljuca temeljenim na LFSR-u tako da imajuza izlaz jedan LFSR koji kontorlira mjerenja drugog LFRS-a. Kako je drugi LFSRmjeren na iregularan nacin, nadamo se da se napadi temeljeni na regularnom kretanjuLFSR-ova mogu izbjeci. U ovom djelu opisat cemo dva takva generatora: generatorizmjenicnog koraka i generator skupljanja.

4.3.1 Generator izmjenicnog koraka

Generator izmjenicnog koraka koristi LFSR R1 za kontrolu koraka dva LFSR-a, R2 iR3. Dobiveni niz simbola kljuca jest XOR izlaznih nizova od R2 i R3.AlgoritamSAZETAK: kontrolni LFSR R1 se koristi da selektivno preskoci dva druga LFSR-a,R2 i R3.IZLAZ: niz koji je bit po bit dobiven kao XOR izlaznih nizova registara R2 i R3.Sljedeci koraci se ponavljaju dok se ne dobije niz simbola kljuca zeljene duljine.

1. Registar R1 je izmjeren.

2. Ako je izlaz od R1 jednak 1 onda: R2 je izmjeren, R3 nije izmjeren ali je njegovprethodni izlazni bit ponovljen.(Za prvi krug mjerenja, za ”prethodni izlazni bit” od R3 uzima se 0. )

3. Ako je izlaz od R1 jednak 0 onda: R3 je izmjeren, R2 nije izmjeren ali je njegovprethodni izlazni bit ponovljen.(Za prvi krug mjerenja, za ”prethodni izlazni bit” od R2 uzima se 0. )

4. Izlazni bitovi su dobiveni kao XOR od R2 i R3; rezultirajuci bit je dio niza simbolakljuca.

Formalnije, neka su izlazni nizovi LFSR-ova R1, R2 i R3 oznaceni redom a0, a1, a2, . . .,b0, b1, b2, . . ., i c0, c1, c2, . . .. Definirajmo b−1 = c−1 = 0. Tada je niz simbola kljucadobivenim ovakvim generatorom x0, x1, x2, . . ., gdje je xj = bt(j) ⊕ cj−t(j)−1 i t(j) =

(∑j

i=0 ai)− 1, za sve j ≥ 0.

Slika 4.4: Generator izmjenicnog koraka

Page 26: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

23

Primjer 4.3.1 (Generator izmjenicnog koraka s umjetno malim parametrima)

Promatrajmo generator izmjenicnog koraka s komponentama LFSR-ova R1 = 〈3, 1 +D2 +D3〉, R2 = 〈4, 1 +D3 +D4〉 i R3 = 〈5, 1 +D+D3 +D4 +D5〉. Pretpostavimo dasu pocetna stanja registara R1 = [0, 0, 1], R2 = [1, 0, 1, 1] i R3 = [0, 1, 0, 0, 1]. Izlazniniz registra R1 je niz perioda 7 s ciklusom

a7 = 1, 0, 0, 1, 0, 1, 1.

Izlazni niz registra R2 niz perioda 15 s ciklusom

b15 = 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0.

Izlazni niz registra R3 niz perioda 31 s ciklusom

c31 = 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0.

Generirani niz simbola kljuca je

x = 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, . . . .

Navedimo jos svojstva generatora izmjenicnog koraka.Pretpostavimo da R1 daje de Bruijnov niz perioda 2L1 . Nadalje, pretpostavimo dasu R2 i R3 LFSR-ovi maksimalne duljine cije su duljine redom, L2 i L3 takve da je(L2, L3) = 1. Neka je x izlazni niz generatora izmjenicnog koraka dobiven iz R1, R2 iR3.

(i) Niz x ima period 2L1 · (2L2 − 1) · (2L3 − 1).

(ii) Linearna kompleksnost L(x) od x zadovoljava

(L2 + L3) · 2L1−1 < L(x) < L2 + L3) · 2L1

(iii) Distribucija uzorka u x je skoro uniformna. Preciznije, neka je P bilo koji binarniniz znakova duljine t bitova, gdje je t ≤ min(L2, L3). Ako x(t) oznacava bilo kojiht uzastopnih bitova u x, tada je vjerojatnost da je x(t) = P jednaka (1/2)t +O(1/2L2−t) +O(1/2L3−t).

4.3.2 Generator skupljanja

Generator skupljanja je relativno novi generator niza simbola kljuca, predlozen je 1993.Ipak, zbog svoje jednostavnosti i dokazanih svojstava, obecavajuci je kandidat za pri-mjenu u vrlo brzim enkripcijama. U generatoru skupljanja, kontrolni LFSR R1 sekoristi za biranje dijelova izlaznog niza drugog LFSR-a R2. Zato je dobiveni niz sim-bola kljuca, skupljena (smanjena) verzija izlaznog niza registra R2.

Algoritam

SAZETAK: kontrolni LFSR R1 se koristi za kontrolu izlaza drugog LFSR-a R2.Sljedeci koraci se ponavljaju dok se ne dobije niz simbola kljuca zeljene duljine.

Page 27: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

24

1. Registri R1 i R2 su uskladeni.

2. Ako je izlaz registra R1 jednak 1, izlazni bit registra R2 cini dio niza simbolakljuca.

3. Ako je izlaz registra R1 jednak 0, izlazni bit registra R2 se odbacuje.

Formalnije, neka su izlazni nizovi LFSR-ova R1 i R2 oznaceni redom s a0, a1, a2, . . ., ib0, b1, b2, . . .. Tada je niz simbola kljuca dobivenim ovakvim generatorom x0, x1, x2, . . .,gdje je xj = bij i za svaki j ≥ 0, ij je pozicija j-e jedinice u nizu a0, a1, a2, . . ..

Slika 4.5: Generator skupljanja

Primjer 4.3.2 (Generator skupljanja s umjetno malim parametrima)Promatrajmo generator skupljanja s komponentama LFSR-ova R1 = 〈3, 1 + D + D3〉i R2 = 〈5, 1 + D3 + D5〉. Pretpostavimo da su pocetna stanja registara R1 = [1, 0, 0] iR2 = [0, 0, 1, 0, 1]. Izlazni niz registra R1 je niz perioda 7 s ciklusom

a7 = 0, 0, 1, 1, 1, 0, 1,

dok je izlazni niz registra R2 niz perioda 31 s ciklusom

b31 = 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0.

Generirani niz simbola kljuca je

x = 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, . . . .

Navedimo jos svojstva generatora skupljanja.Neka su R1 i R2 LFSR-ovi maksimalne duljine s duljinama L1 i L2 te neka je x izlazniniz generatora skupljanja kojeg su proizveli R1 i R2.

(i) Ako je (L1, L2) = 1, tada x ima period (2L2−1) · 2L1−1.

(ii) Linearna kompleksnost L(x) od x zadovoljava

L2 · LL1−2 < L(x) ≤ L2 · 2L1−1.

(iii) Pretpostavimo da su polinomi veze za R1 i R2 odabrani uniformno i slucajnoiz skupa svih primitivnih polinoma stupnjeva L1 i L2 nad skupom Z2. Tada jedistribucija uzorka u x skoro uniformna. Preciznije, ako je P bilo koji binarni nizznakova duljine t bitova i x(t) oznacava bilo kojih t uzastopnih bitova u x, tadaje vjerojatnost da je x(t) = P jednaka (1/2)t +O(t/2L2).

Page 28: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

Poglavlje 5

Ostale protocne sifre

Iako su protocne sifre temeljene na LFSR-u vrlo pogodne za hardversku implementa-ciju, za softversku implementaciju bas i nisu. To je dovelo do nekoliko novijih prijedlogaza protocne sifre dizajnirane posebno za brzu softversku implementaciju. Vecina ovihprijedloga je ili zakonom zasticena ili su relativno nove i nisu dovoljno proucavane sastrane kriptografske zajednice; iz tog razloga, njih necemo spominjati u ovom radu.Najrasirenije protocne sifre dizajnirane za brzu softversku implementaciju su SEAL iRC4.

5.1 SEAL

SEAL (engl. Software-optimized Encrytion Algorithm) je binarna aditivna protocnasifra. Osmislili su je Phil Rogaway i Don Coppersmith za IBM. Radi se o algoritmukoji je posebno dizajniran za softversku implementaciju i optimiziran je za 32-bitneprocesore. SEAL nije tradicionalan algoritam kriptiranja podataka, vec on spada upseudo-slucajne funkcije. 32-bitnu vrijednost n, SEAL ce pomocu 160-bitnog kljuca arazvuci u L-bitni string, pri cemu L moze poprimiti bilo koju vrijednost do 64 kilo-bajta.U svom radu SEAL koristi prethodno generirane tablice koje potom sluze za ubrzanjekriptiranja i dekriptiranja. Zbog tablicno orijentiranog pristupa, moderni 32-bitni pro-cesor kriptira podatke SEAL-om unutar 4 ciklusa za jedan bajt teksta. Usporedbe radi,DES algoritam je cak vise od 10 puta sporiji. SEAL kao pseudo-slucajna funkcija imajednostavan pristup bilo kojoj poziciji u nizu simbola kljuca te olaksavaju sinkroniza-cijske probleme koje mozemo susresti kod nekih algoritama kriptiranja toka podataka.Naime, kada se salje niz sifriranih poruka u nekim kanalima moze doci do gubitkapaketa. Sa pseudo-slucajnom funkcijom, n-tu poruku koja se odasilje, xn, moguce jekriptirati kljucem k kao rezultat operacije XOR izmedu x(n) i pseudo-slucajnog stringa.Primatelj poruka ne mora pohraniti niti jedno stanje koje prethodi poruci xn, niti ceizgubljene poruke utjecati na proces dekriptiranja.

Kao sto smo rekli, algoritam se bazira na vec generiranim tablicama. Stoga je naszadatak prvo generirati tablice T , R i S upotrebom kljuca a. Kljuc a se upotrebljavasamo za generiaranje ovih tablica.. Za taj zadatak koristimo kompresijsku funkciju

25

Page 29: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

26

algoritma SHA1, funkciju Ga ciji su ulazni podatci 160-bitni kljuc a i cijeli broj i takavda je 0 ≤ i < 232.

U SEAL-u koristimo sljedece oznake:

• A: binarni komplement od A,

• A ∧B: logicko I, A ∨B: inkluzivno ILI,A⊕B: ekskluzivno ILI,

• ”A←↩ s”: 32-bitni rezultat rotiranja A u lijevo za s mjesta,

• ”A ↪→ s”: 32-bitni rezultat rotiranja A u desno za s mjesta,

• A+B: zbrajanje modulo 232 nepotpisanih cijelih brojeva A i B,

• f(B,C,D) = (B ∧ C) ∨ (B ∧ D), g(B,C,D) = (B ∧ C) ∨ (B ∧ D) ∨ (C ∧ D),h(B,C,D) = B ⊕ C ⊕ D, gdje su f, g, h pomocne funckije koje koristimo ukompresijskoj funkciji Ga,

• A‖B: konkatenacija A i B,

• (X1, . . . , Xj)← (Y1, . . . , Yj): simultano pridruzivanje (Xi ← Yi), gdje se (Y1, . . . , Yj)evaluira prije bilo kakvih zadataka.

Slijedi opis postupka generiranja tablica:

ALGORITAM I : Funkcija generiranja tablice Ga(i)

Ga(i)ULAZ: 160-bitni string a i cijeli broj i, 0 ≤ i < 232.IZLAZ: 160-bitni string, oznaka: Ga(i).

1. Definicija konstanti.Definiramo cetiri 32-bitne konstante (u heksadecimalnom sustavu): y1 = 0x5A827999,y2 = 0x6ED9EBA1, y3 = 0x8F1BBCDC, y4 = 0xCA62C1D6.

2. Funkcija generiranja tablice.(inicijaliziraj 80 32-bitnih rijeci X0, X1, . . . , X79)Postavi X0 ← i. Za j od 1 do 15 radi: Xj ← 0x00000000.Za j od 16 do 79 radi: Xj ← ((Xj−3 ⊕Xj−8 ⊕ xj−14 ⊕ xj−16)←↩ 1).(inicijaliziraj radne varijable)

Rastavi 160-bitni string a na pet 32-bitnih rijeci: a = H0H1H2H3H4.(A,B,C,D,E)← (H0, H1, H2, H3, H4).(izvrsi cetiri dijela po dvadeset koraka, pa dogradi; t je privremena varijabla )

(Prvi dio) Za j od 0 do 19 radi sljedece:

1SHA je skracenica engleske slozenice Secure Hash Algorithm . To je algoritam koji sluzi za provjeruautenticnosti datoteka ili poruke prilikom prijenosa izmedu posiljaoca i primatelja.

Page 30: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

27

t← ((A←↩ 5) + f(B,C,D) + E +Xj + y1),(A,B,C,D,E)← (t, A,B ←↩ 30, C,D).

(Drugi dio) Za j od 20 do 39 radi sljedece:t← ((A←↩ 5) + h(B,C,D) + E +Xj + y2),(A,B,C,D,E)← (t, A,B ←↩ 30, C,D).

(Treci dio) Za j od 40 do 59 radi sljedece:t← ((A←↩ 5) + g(B,C,D) + E +Xj + y3),(A,B,C,D,E)← (t, A,B ←↩ 30, C,D).

(Cetvrti dio) Za j od 60 do 79 radi sljedece:t← ((A←↩ 5) + h(B,C,D) + E +Xj + y4),(A,B,C,D,E)← (t, A,B ←↩ 30, C,D).

(dogradi lancane vrijednosti)(H0, H1, H2, H3, H4)← (H0 + A,H1 +B,H2 + C,H3 +D,H4 + E)

(kraj) Vrijednost funkcije Ga(i) je 160-bitni string H0‖H1‖H2‖H3‖H4.

ALGORITAM II : Generator niza simbola kljuca za SEAL

SEAL(a, n)ULAZ: 160-bitni string a (tajni kljuc), (netajni) cijeli broj n, 0 ≤ n < 232 (broj ko-raka), ocekivana duljina bitova L niza simbola kljuca.IZLAZ: niz simbola kljuca y duljine bita L′, gdje je L′ najmanji mnozitelj broja 128koji je ≥ L.

1. Generiranje tablice. Generiraj tablice T , S i R, ciji su ulazi 32-bitne rijeci. De-finirajmo funkciju Fa(i) = H i

imod5, gdje je H i0H

i1H

i2H

i3H

i4 = Ga(bi/5c). Funkcija

Ga je definirana u algoritmu I.

1.1 Za i od 0 do 511 radi sljedece: T [i]← Fa(i).

1.2 Za j od 0 do 255 radi sljedece: S[j]← Fa(0x00001000 + j).

1.3 Za k od 0 do 4 · d(L− 1)/8192e radi: R[k]← Fa(0x00002000 + k).

2. Inicijalizacija procedure. Slijedi opis potprogramaInitialize(n, l, A,B,C,D, n1, n2, n3, n4) koji za ulaz ima 32-bitnu rijec n i cijelibroj i, a izlaz joj predstavljaju 32-bitne rijeci A, B, C, D, n1, n2, n3 i n4. Ovajpotprogram koristimo u 4. koraku funkcije SEAL.A ← n ⊕ R[4l], B ← (n ↪→ 8) ⊕ R[4l + 1], C ← (n ↪→ 16) ⊕ R[4l + 2],D ← (n ↪→ 24)⊕R[4l + 3].Za j od 1 do 2 radi sljedece:

P ← A ∧ 0x000007FC,B ← B + T [P/4], A← (A ↪→ 9),P ← B ∧ 0x000007FC,C ← C + T [P/4], B ← (B ↪→ 9),P ← C ∧ 0x000007FC,D ← D + T [P/4], C ← (C ↪→ 9),P ← D ∧ 0x000007FC,A← A+ T [P/4], D ← (D ← 9).

Page 31: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

28

(n1, n2, n3, n4)← (D,B,A,C)P ← A ∧ 0x000007FC,B ← B + T [P/4], A← (A ↪→ 9).P ← B ∧ 0x000007FC,C ← C + T [P/4], B ← (B ↪→ 9).P ← C ∧ 0x000007FC,D ← D + T [P/4], C ← (C ↪→ 9).P ← D ∧ 0x000007FC,A← A+ T [P/4], D ← (D ← 9).

3. Inicijaliziraj y da bude prazan string i l← 0

4. Ponovi sljedece:

4.1 Izvrsi proceduru Initialize(n, l, A,B,C,D, n1, n2, n3, n4).

4.2 Za i od 1 do 64 radi sljedece:P ← A ∧ 0x000007FC,B ← B + T [P/4], A← (A ↪→ 9), B ← B ⊕ A,Q← B ∧ 0x000007FC,CC ⊕ T [Q/4], B ← (B ↪→ 9), C ← C +B,P ← (P +C)∧ 0x000007FC,D ← D+T [P/4], C ← (C ↪→ 9), D ← D⊕C,Q← (Q+D)∧ 0x000007FC,A← A⊕T [Q/4], D ← (D ↪→ 9), A← A+D,P ← (P + A) ∧ 0x000007FC,B ← B ⊕ T [P/4], A← (A ↪→ 9),Q← (Q+B) ∧ 0x000007FC,C ← C + T [Q/4], B ← (B ↪→ 9),P ← (P + C) ∧ 0x000007FC,D ← D ⊕ T [P/4], C ← (C ↪→ 9),Q← (Q+D) ∧ 0x000007FC,A← A+ T [Q/4], D ← (D ↪→ 9),y ← y‖(B + S[4i− 4])‖(C ⊕ S[4i− 3])‖(D + S[4i− 2])‖(A⊕ S[4i− 1]).Ako je y ≥ L bitova po duljini, onda vrati (y) i stani.Ako je i neparan, stavi (A,C)← (A+ n1, C + n2). U suprotnom, (A,C)←(A+ n3, C + n4).

4.3 Postavi l← l + 1.

S ulaznim parametrom L te tablicama T , S i R (odredene kljucem a), i 32-bitnimpozicionim indeksom n, algoritam SEAL razvlaci n na L-bitni pseudoslucajni string y.Algoritam koristi rutinu Initialize koja koristeci tablice T i R preslikava n i l u rijeciA, B, C, D, n1, n2, n3, n4. Beskonacna petlja u SEAL se prekida kada izlaz y sadrzidovoljan broj bitova.

Primjer 5.1.1 (test vektori za SEAL)Pretpostavimo da je kljuc a 160-bitni heksadecimalni niz znakova67452301 EFCDAB89 98BADCFE 10325476 C3D2E1F0,n = 0x013577AF i L = 32768 bita. Tablica R se sastoji od rijeci R[0], R[1], . . . , R[15] :

(STAVITI U TABLICU)5021758D CE577C11 FA5BD5DD 366D1B93 182CFF72 AC06D7C62683EAD8 FABE3573 82A10C96 48C483BD CA92285C 71FE84C0BD76B700 6FDCC20C 8DADA151 4506DD64

Tablica T se sastoji od rijeci T [0], T [1], . . . , R[511]:

92b404e5 56588ced 6c1acd4e bf053f68 09f73a93 cd5f176ab863f14e 2b014a2f 4407e646 38665610 222d2f91 4d941a21. . .

Page 32: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

29

3af3a4bf 021e4080 2a677d95 405c7db0 338e4b1e 19ccf158

Tablica S se sastoji od rijeci S[0], S[1], . . . , S[255]:

907c1e3d ce71ef0a 48f559ef 2b7ab8bc 4557f4b8 033e9b054fde0efa 1a845f94 38512c3b d4b44591 53765dce 469efa02. . .bd7dea87 fd036d87 53aa3013 ec60e282 1eaef8f9 0b5a0949

Izlaz y prethodnog algoritma se sastoji od 1024 rijeci y[0], y[1], . . . , y[1023]:37a00595 9b84c49c a4be1e05 0673530f 0ac8389d c5878ec8da6666d0 6da71328 1419bdf2 d258bebb b6a42a4d 8a311a72. . .547dfde9 668d50b5 ba9e2567 413403c5 43120b5a ecf9d062

XOR prethodnih 1024 rijeci je 0x098045FC.

Prilikom osmisljavanja SEAL algoritma ocito su vazne ideje bile:

• koristenje velikih, tajnih S kutija,

• alterniranje nekomutativnih aritmetickih operacija, kao sto su zbrajanje i XOR,

• koristenje internog stanja koje se ne ocitava u toku podataka (zbrajanje registaraA i C s vrijednostima ni),

• koristenje razlicitih funkcija u ovisnosti o iteraciji.

SEAL je jedan od najbrzih programskih algoritama. Treba uzeti u obzir cinjenicu daobrada kljuca, odnosno popunjavanje S kutija (R, S i T ) zahtjeva dosta vremena imemorije za pohranu.

5.2 RC4

RC4 je algoritam za kriptiranje tijeka podataka koji koristi varijabilnu duljinu kljuca(1–256 bita). Razvio ga je Ron Rivest (RSA Date Security Inc.) 1987. godine. OsimRC4, Rivest je razvio i RC2, RC5 i RC6 algoritama, dok RC1 nikada nije objavljen,a RC3 je bio provaljen u RSA osiguranju tijekom istrazivanja. (RC je skracenica zaRonov kod ili Rivestovu brojku).Rad algoritma je jednostavan, dok se istovremeno postizu vrlo velike brzine kriptiranja.Algoritam koristi S kutiju od 256 polja, gdje je svako polje veliko 8 bita. Sadrzaj Skutije su permutacije od 0 do 255, dok su permutacije funkcije varijabilnog kljuca.Pripremanje S kutije se moze prikazati sljedecim koracima:

1. Svaki element polja S se inicijalizira svojim indeksom:S[0] = 0, S[1] = 1, . . . , S[255] = 255

Page 33: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

30

2. Stvori se pomocno polje S2 iste velicine te se popuni vrijednostima kljuca K:S2[0] = K[0 mod duljina K], S2[1] = K[1 mod duljina K], . . .,S2[255] = K[255 mod duljina K]

3. S kutija poprima svoj konacni izgled na sljedeci nacin:Za i = 0, i < 256, i+ +j = (j + S[i] + S2[i]) mod 255 ;temp = S[i] ;S[i] = S[j] ;S[j] = temp ;

S kutija ce posluziti za generiranje pseudoslucajnih brojeva, koji su neophodni za krip-tiranje podataka:

i = j = 0;i = (i+ 1) mod 256 ;j = (j + S[i]) mod 256;temp = S[i];S[i] = S[j];S[j] = tempt = (S[i] + S[j]) mod 256;K = S[t];

Za svaki ulazni znak koji se zeli kriptirati potrebno je generirati novi pseudoslucajnibroj. Kriptirani tekst se dobiva operacijom XOR izmedu uvijek novo generiranog brojaK i svakog ulaznog znaka. Dekriptiranje se obavlja inverznom procedurom, odnosnoizvodenjem XOR operacije izmedu generiranog broja K i kriptiranog teksta.

Slika 5.1: Shema RC4 algoritma

Page 34: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

31

Organizacija za koju je algoritam osmisljen tvrdi da je RC4 otporan na diferencijalnu ilineranu kriptoanalizu, ne posjeduje kratke cikluse, te je u potpunosti nelinearan (RC4se moze nalaziti u jednom od 21700 mogucih stanja). S kutija se polako razvija sa upo-trebom: varijabla i osigurava da se svaki element promijeni, dok varijabla j omogucujeda se elementi izmjenjuju pseudo-slucajno.

Zakljucimo, karakteristike RC4 algoritma su:

• promjenjiva velicina kljuca, algoritam kriptiranja tijeka podataka je orijentiranna bajtove,

• siroko rasprostranjen (web SSL/TLS, wireless WEP, Skype),

• kljuc formira slucajnu permutaciju svih 8-bitnih vrijednosti,

• koristi se ona permutacija koja kriptira ulazni podatak bajt po bajt.

Page 35: Proto cne sifre - mathos.unios.hrmdjumic/uploads/diplomski/ZEč01.pdf · Entropija slu cajne varijable je mjera koli cine informacija dobivenih od varijable X, tj. nesigurnost ishoda

Bibliografija

[1] A. Menezes, P. van Oorschot, S. Vanstone, Handbook of applied Cryptography,CRC Press, SAD, 1996.

[2] S. Ilic, Simulacija sigurnosnog sustava u mobilnim komunikacijama, Diplomskirad, FER, Zagreb, 2005.

[3] Kornel Garvanovic, SEAL (Software Encription Algorithm), Diplomski rad, FER,Zagreb, 2002.

[4] LSS - LeksikonIShttp : //www.cis.hr/www.lexis/index.php

32