You are on page 1of 15

1.

Uvod
Tvorci Interneta ni u snu nisu mogli da naslute sve mogućnosti koje danas on
ima. Internet nas bukvalno okružuje u svim sverama života, i najverovatnije će jednog
dana Internet postati tehnologija bez koje savremeni čovek neće moći funkcionisati.
Imaćemo pametne šporete koji će biti povezane na Internet i za nas tražiti najbolje
recepte o spremanju piletine, frižidere koji će preko Interneta naručivati namernice, pri
čemu će tražiti najbolje cene, naravno možda ćemo jednog dana imati i tostere
povezane na Internet, mogućnosti su bukvalno neograničene. Internet danas pruža
neke mogućnosti koje su bile nezamislive pre samo desetak godina, tako na primer mi
danas možemo da kupujemo ne pomerivši se iz svoje udobne fotelje, da učestujemo
na javnim aukcijama, da gotovo besplatno razgovaramo sa prijateljima koji su udaljeni
kilometrima od nas. Naravno sve te novotarije su u mnogome ulepšali život modernog
čoveka, ali su stvorili niz socijolaških fenomena, za koje ne bi smo mogli da govorimo u
nekom pozitivnom svetlu. On je neke pojedince učinio otuđenijim, stvorio je zavisnike
od njega samog i kreirao je niz veštačkih potreba, zbog kojih čovek provodi više
vremena za računarom umesto da to vreme pametnije iskoristi u druženju sa
prijateljima i porodicom, sportu i mnogim drugim zdravijim aktivnostima. Kriminal na
Internetu je takođe jedna od tih pojava, koja Internet prožima od samog njegovog
nastanka, i tiho evoluira zajedno sa njim, menja se, postaje sve kompleksniji ali i
opasniji i čineći Internet sve nesigurnijim za same korisnike, ugrožavajući njihovu
privatnost ali i imovinu. Da bi Internet učinili sigurnim mestom, programeri danas
primenjuju mnoge kriptografske tehnike i na taj način osiguravaju dalji nesmetani razvoj
njega samog.
Kriptografija je nauka koja je veliku primenu našla u Internetu, pogotovo u
savremenom elektronskom poslovanju koje se sve više, gotovo dominatno vezuje za
Internet. Najvažniji uticaj na razvoj kriptografije u dvadesetom veku imali su računari,
ali uticaj Interneta na samu kriptografiju je vrlo veliki. Za nesmetano i sigurno
funkcionisanje mnogih Internet servisa kreirani su mnogi kriptografski algoritmi i
protokoli, kao i određene institucije kreirane u cilju da obezbede nesmetano i sigurno
funkcionisanje Interneta. Te institucije možemo da definišemo i kao Infrastukturu javnih
ključeva (eng: PKI – Public Key Infrastructure) kojom će se ovaj rad prvenstveno baviti,
ali za njihovo bolje shvatanje, biće objašnjeni osnovni principi kriptografije i sve
kriptografske tehnike, koje se primenjuju u Infrastukturi javnih ključeva (u daljem tekstu
PKI).

ali u vremenu kada je jedva ko i bio pismen ovo je bio vrlo uspešan način šifrovanja. godina pre n. saveznici su u Drugom svetskom ratu uspeli da razbiju kriptografski uređaj Enigma.e. možemo ilistrovati na primeru njegove čuvene rečenice “kocka je bačena”: Alea iacta est Poruka šifrovana Cezarovim algoritmom. kojim su Nemci šifrovali svoje poruke i na koju su se bezrezervno oslanjali do kraja rata.. Kinezi i Indijci razvili su sopstvene kriptografske sisteme. demonima i zlim silama. koristeći se jednostavnom šifrom koja izvrće abecedu naopako. Naravno nije bilo potrebno puno vremena da se jave i oni koji bi želeli da te skrivene poruke razaznaju i dokuče. gde su se hijeroglifima opsivali životi kraljeva i veličali njihovi uspesi za vreme njihove vladavine. Nije nikad tačno utvrđeno gde su stvarni počeci kriptografije ali može smatrati da je jedna od prvih poznatih primena kriptografije bila u Egiptu oko 2000. Oni su bili šifrovani sa svrhom ne da se sakrije tekst. Tada je i kriptografija ugledala svetlost dana. uska traka kože na koju bi se onda uzduž štapa pisala poruka. Kožna traka bi zatim odmotala i nosila kao pojas.2. Primer Cezarovog algoritama. kao i mnogim sudbonosnim dešavanjima za koje je kasnije istorija utvrdila da su bile prekretnica u njihovim razvoju ali i njihovim propadanjima. Uglavnom je za tu priliku koristi šifru pomeri za dva. što mnogi istoričari smatraju jednom od najvećih Hitlerovih grešaka. Primaoc je morao imati štap istog obima da bi pročitao poruku. Mnogi stari narodi Asirci. već da bi se tekst učinio važnim i dostojnim kralja. Tako je Cezar upotrebom kriptografije slao svojim generalima naređenja u odlučujućim bitkama. Ovaj algoritam je u osnovi znatno prostiji od ATBAŠ-a.Istorijat kriptografije Kada je pismo postalo sredstvo komunikacije. Ove dve nauke imale su veliki značaj u životu mnogih civilizacija. Julije Cezar je razvio i koristio kriptografski algoritam baziran na prostoj supstituciji u abecedi. Stari Grci su upotrebljavali štap skajtel (na grčkom σκυτάλη ). i ta šifra je bila poznata kao ATBAŠ . u grobnicama faraona. Vavilonci. U starom veku kriptografija je za većinu ljudi bila mistična nauka koja se u to vreme povezivala sa crnom magijom. oko kojeg se motala dugačka. pomeranjem za tri. što mu je i omogućilo da dođe na vlast i značajnije proširi teritorije Rima. tako da je nastala i kriptoanaliza. Hebrejski pisari su zapisivali knjigu o Jeremiji. koja je imala odlučujuću ulogu u pobedi saveznika. pojavila se potreba da se neka pisma sačuvaju od tuđih pogleda. dobilo bi se: Dohd ldfwd hvw . koja je deo Biblije. što je u bukvalnom prevodu značilo promeni slovo u tekstu za slovo koje se nalazi na dva mesta iza u abecedi.

Pola veka nakon toga objavljeno je u pet svezaka delo Johanesa Tritemusa prva knjiga iz područja kriptografije. prvi u istoriji matematike. . pogotovo u Italiji konkretno u Veneciji gde italijanski arhitekta Leone Batista Alberti 1467. piše prvu poznatu raspravu o kriptografiji na 25 strana. godine izumeo šifrarnik sa točkom koji se u SAD koristio veoma dugo. otvarila je vrata sve složenijim algoritmima i tehnikama. Enigma je bila uspešno provaljena tokom rata zahvaljujući poljskim i britanskim kriptoanalitičarima. i dva svetska rata kao i računara nešto kasnije. možemo otkriti koji simbol šifrirane poruke predstavlja koje slovo u abecedi jasne poruke. U 16. formulisao neke principe teorije verovatnoće. do danas se koristi kao temelj za složene konstrukcije šifara. Kardano je. Kardanova rešetka. Računari su uveli još jednu veliku revoluciju u kriptografiji. Arapski autor Kalkašandi je zapisao tehniku za razbijanje šifri koja se koristi još i danas. Krajem 17. godine objavio je svoju veliku kriptografsku raspravu. Njihova mogućnost brzog proračunavanja i obrade velikog broja podataka. Ako sada na te podatke primenimo podatak koliko se često pojavljuje za jezik kojim je pisana jasna poruka. 20. Leone je tvorac i šifarskog kruga kruga i nekih drugih rešenja dvostrukog prikrivanja i on se danas smatra ocem zapadne kripotgrafije. tzv. veka stvaraju se takozvani mračni uredi. dakle i protumačiti šifrovanu poruku. vek je bio veoma značajan za razvoj kriptografije. I pored svoje revolucionarnosti. zvanične institucije mnogih država koji su imali ulogu u razvoju kako kriptografije tako i kriptonalize i u ovom periodu mnogi poznati naučnici se bave razvojem novih naprednijih kriptografskih tehnika. Enigma je bila revolucionarni uređaj koji do tada na nesvakidašnji način šifrovala poruke. značajan doprinos daju milanski doktor Giljermo Kardano. U srednjem veku dolazi do napretka kriptografije kao nauke. Razvoj telekomunikacija. matematičar Batisto Porta i francuski diplomata Blas de Vigener. 1948. Tokom Drugog svetskog rata Nemci su se bezrezervno oslanjali na uređaj za šifrovanje nazvan Enigma. a 1556. godine Šenon je objavio svoj revolucionarni rad Komunikacijska teorija zaštićenih sistema. Jedno od njegovih otkrića. Vrlo važnu ulogu u razvoju kako kriptografije tako i kriptonalize imali su arapski naučnici. Tehnika se zasniva na tome da se zapišu svi znakovi iz šifriranog teksta i prebroji koliko puta se pojavio svaki od tih znakova u tekstu. bilu su dobar razlog vrtoglavog razvoja kriptografije. godine. Ova tehnika omogućava razbijanje bilo koje šifre zasnovane na monoalfabetskoj supstituciji ako ima dovoljno šifriranog teksta. Američki predsednik Tomas Džeferson je 1795. i početkom 18. On je bio jedan od prvih modernih kriptografa koji je primijenio napredne matematičke tehnike u kriptografiji.

Broj simbola koji predstavljaju ključ (dužina ključa) zavisi od šifarskog sistema. uopšte provaljivanjem kriptografskih protokola. Osnovni element koji se koristi naziva se šifarski sistem ili algoritam šifrovanja. Prilikom šifrovanja. C je konačan skup (alfabet) mogućih šifrovanih tekstova 3. one postaju ranjive na prisluškivačke taktike. mora postojati . Ek: P → C.Šta Kriptografija mora da obezbedi Kriptografija mora da obezbedi sledeće: 1. 3.D).E.3.Kriptografske osnove infrastrukture javnog ključa Kriptografija je nauka koja se bavi metodima očuvanja tajnosti informacija. dekodiranjem. Da bi se osigurala verodostojnost. rekonstruiše otvoreni tekst na osnovu šifrata. Integritet ili verodostojnost informacija koje se šifruju (engl. P je konačan skup (alfabet) mogućih otvorenih tekstova 2. zaobilaženjem sistema autentifikacije. Obrnut proces. Različite tehnike kriptoanalize nazivaju se napadi. kao što su menjanje informacije. konačan skup (alfabet) mogućih ključeva 4. koje se nazivaju šifrovanje i dešifrovanje. Kriptosistem je skup opisanih kriptografskih postupaka i može se formalno matematički opisati: Kriptosistem je petorka (P. brisanje informacije i zamena informacije. pored otvorenog teksta.C. Kada se lične. koristi se jedna nezavisna vrednost koja se naziva ključ šifrovanja. Svaki šifarski sistem obuhvata par transformacija podataka. Kriptoanaliza je nauka koja se bavi razbijanjem šifri. Data integrity) se brine o tome da ne dođe do neovlašćene promene informacija. Transformacija za dešifrovanje koristi ključ dešifrovanja. gde su ispunjeni sledeći uslovi: 1. i Dk : C → P predstavljaju fuknkcije takve da je Dk (Ek (x)) = x za svaki element otvorenog teksta x ∈ P .1. K je prostor ključa. finansijske. Šifra i digitalni potpis su kriptografske tehnike koje se koriste da bi se implementirali bezbednosni servisi. Ovakvi problemi se mogu izbeći šifrovanjem informacija koje ih čini nedostupnim neželjenoj strani. Za svaki K∈ K postoji pravilo šifrovanja Ek ∈ E i odgovarajuće pravilo dešifrovanja Dk ∈ D . Šifrovanje je procedura koja transformiše originalnu informaciju (otvoreni tekst) u šifrovane podatke (šifrat). dešifrovanje.K. vojne ili informacije državne bezbednosti prenose sa mesta na mesto.

4. polazeći od sledećih osnovnih pretpostavki: 1. Ako A želi da pošalje poruku m iz M korisniku B. 2. što se može matematički izraziti na sledeći način: P ( X = x Y = y ) =P ( X = x ) (1) .Simetrični kriptosistemi U klasičnoj kriptografiji postoji više simetričnih kriptosistema. da dve ovlašćene strane u komunikaciji moraju pre slanja poruke da se dogovore o ključi ili da postoji centar za distribuciju ključeva do korisnika kriptosistema putem posebnog bezbednog kanala. korisnici A i B se dogovore da uzmu tajni ključ K iz K. i šalje rezultat c korisniku B. Klod Šenon (Claude Shannon) je definisao uslove savršene tajnosti. Parovi funkcija (Ek. Da bi rekonstruisao originalnu poruku. Za probleme koji se ne mogu rešiti u prihvatljivom vremenskom periodu. Šifarski sistem ispunjava uslove savršene tajnosti ako je otvoreni tekst X statistički nezavisan od kriptograma Y. Dk(c)= Dk(Ek(m))=m U kriptografiji se smatra “lakim” proračun koji se može izvršiti u kratkom vremenu. B dešifruje primljeni šifrat c pomoću funkcije Dk. Tajnost (engl. tako da ne može da rekonstruiše ni m ni k. Autentification) korisnici koji počinju komunikaciju se trebaju prvo predstaviti jedan drugome pa tek onda počinju sa razmenom informacija. 3. način provjere da li je informacija promenjena od strane neovlašćene osobe. definisana na sledeći način: Da bi se koristio ovakav sistem. Nemogućnost izbegavanja odgovornosti (engl: Non-repudiation) je vrlo važna stavka. Ek(m) = c. Confidentiality) informacija osigurava da je sadržaj informacije dostupan samo ovlašćenim osobama odnosno samo onim koji poseduju ključ.Dk) za svaki ključ k iz skupa ključeva K. Šifarski sistem sa tajnim ključem je familija parova funkcija (Ek. To znači. Postoje brojni načini zaštite tajnosti.Dk) moraju biti “laki” za izračunavanje za korisnike i morali bi biti teški za izračunavanje za kriptoanalitičara koji poznaje samo c. Tajni ključ se koristi samo jednom. Kriptoanalitičar ima pristup samo kriptogramu. Njihova zajdnička osobina je da su ključevi za šifrovanje i dešifrovanje identični i da se drže u tajnosti. 2. koristeći najbolji poznati algoritam i najbolju raspoloživu tehnologiju koristi se termin “teški” ili “intraktabilni”. šifruje pomoću funkcije Ek. počev od fizičke zaštite do matematičkih algoritama koji skrivaju podatke. pogotovo u novije vreme kada se veliki deo novčanih transakcija obavlja putem interneta. Provera identiteta (engl. 3.2.

Šenon je odredio minimalnu veličinu ključa potrebnu da bi bili ispunjeni uslovi savršene tajnosti. Pre šifrovanja poruke potrebno ju je prebaciti u binarni oblik. Primer šifrovanja jedne poruke Da bi se rekonstruisao originalni otvoreni tekst (poruka). x 2 . Zbog toga kriptoanalitičar ne može bolje proceniti vrednost X poznavajući vrednost Y od procene bez njenog poznavanja. verovatnoća da slučajna promenljiva X ima vrednost x jednaka je sa ili bez poznavanja vrednosti slučajne promenljive Y. nezavisno od raspoloživog vremena i računarskih resursa kojima raspolaže.za sve moguće otvorene tekstove x = ( x1 . Ovakav način šifrovanja je veoma pouzdan ali ima jednu veliku manu. y 2 . drugim rečima. što praktično čini ovaj sistem šifrovanja veoma nepraktičnim kod šifrovanja velike količine podataka. y N ) . Ovo je veoma prost algoritam kod kog se šifrat dobija sabiranjem po modulu 2 binarnih simbola otvorenog teksta i binarnih simbola ključa.  . . zahteva jedan simbol tajnog ključa za svaki simbol poruke koju je potrebno šifrovati. odnosno niz binarnih simbola pa potom svaki simbol sabirati sa odgovarajućim simbolom iz ključa. pošto se sabiranje i oduzimanje po modulu 2 ne razlikuju. ponovo se šifrat sabira po modulu 2 sa ključem.  . Matrica sabiranja Otvoreni tekst: 00011 01111 01101 00101 Ključ: 11011 00101 01011 00110 Šifrat: 11000 01010 00110 00011 Tabela 2. dužina ključa K mora biti najmanje jednaka dužini otvorenog teksta M: K ≥M (2) Jedan od algoritama koji spada u kategoriju simetričnih je Vermanova šifra još poznatiji i kao “One time pad ” algoritam. ⊕ 0 1 0 0 1 1 1 0 Tabela 1. x M ) i sve moguće kriptograme y = ( y1 . Koristeći pojam entropije iz teorije informacija.

dovoljno je samo reci da se oni zasnivaju na svojstvu logičke operacije xor (ekskluzivno “ili”) za koju vazi: (X xor Y) xor Y = X. koji predstavljaju determinističke algoritme za šifrovanje. binarnog) na osnovu kratkog ključa izabranog na slučajan način. bajtova i tada X. ali nizovi simbola koje oni generišu imaju osobine slične slučajnim nizovima. Ovi ključevi moraju biti prisutni na obe strane pre početka komuniciranja. PRNG – Pseudo Random Number Generator). Na prijemnoj strani se sabira primljeni niz šifrata sa pseudoslučajnim nizom generisanim pomoću istog ključa. možemo zamisliti da nam je X jedan bit originalne poruke a Y bit ključa. Y ∈{0.2. Osnovna ideja koja stoji iza sekvencijalnih šifara je da se generiše duga i nepredvidljiva sekvenca simbola iz nekog alfabeta (npr. odnosno Y možemo smatrati bajtom. Tada (X xor Y) = Z prestavlja jedan bit šifrata koji putuje javnim kanalima i koji neko može “prisluškivati”. dok je Z xor Y originalni bit X koji se dobija xor-ovanjem bita kodirane poruke sa bitom ključa. Jasno je da dokle god se “slučajni” nizovi dobijaju pomoću bilo kog algoritma oni mogu biti samo “pseudoslučajni” i kao takvi postaju mamac za sve one koji se bave razbijanjem šifri. počevši od istog početnog simbola kao i na predajnoj strani. Na taj način je prijemnik u stanju da rekonstruiše otvoreni tekst. i utoliko je bolja ukoliko je pseudoslučajni niz bliži po karakteristikama pravom slučajnom nizu. Sekvencijalna šifra sa generatorom pseudoslučajnog niza je aproksimacija Vernamove šifre. X.Sekvencijalni kriptosistem Kao najosnovnijim simetričnim algoritmima. . ali ako su periodi takvih nizova mnogo veći od dužina nizova otvorenog teksta. rečju odnosno porukom U praksi se često koriste generatori pseudo slučajnih nizova (engl. Definišimo još operaciju xor za proizvoljnu dužinu bita tj.3. Pseudoslučajni nizovi su periodični u širem smislu (što znači da mogu imati aperiodični početak).1. Izlazni niz iz generatora se sabira po modulu 2 sa nizom otvorenog teksta i na taj način se dobija niz šifrata. sistem će se ponašati na sličan način kao i Vernamova šifra. Generatori pseudoslučajnih nizova koriste kratke ključeve radi započinjanja procesa generisanja.1} (3) Naime.

generiše se isti šifarski niz si.2. 2. Ključ Slika 1. svaki blok kriptosistem sastoji se od četri elemenata. nezavisno od mesta koje zauzima u poruci. algorita 3. koji se sabira po modulu 2 sa šifratom ci.2. šifrovanja sa istim ključem. takozvane iteracione šifre. nije neophodno dešifrovati je od početka. Prema kome. pri čemu: • Način šifrovanja svakog elementa zavisi od načina šifrovanja susednih elemenata • Svaki blok se šifruje uvek na isti način. Treba uočiti takođe da je sekvencijalni šifarski sistem involutivan.Blok kriptosistem Kod blok kriptosistema originalna poruka se šifruje po grupama od dva i više elemenata. Determini Opšte korišćeni dizajn blok kriptosistema proizilazi iz posebne vrste kriptosistema . Na prijemnoj strani. • Da bi se dešifrovao deo poruke. Osnovna šema sekvencijalnog šifarskog sistema Na slici 1 prikazana je osnovna šema sekvencijalnog šifarskog sistema. sa istim ključem i istim determinističkim algoritmom. i na taj način se rekonstruišu biti otvorenog teksta mi. uvek daju jednake šifrate. 3. 1. Inicijalne transformacije. Finalne transformacije i . • Jednake poruke. dovoljno je dešifrvoati blok koji nas interesuje. zato što su procesi šifrovanja i dešifrovanja identični. Kružne funkcije.

Finalna transformacija služi da bi funkcije šifrovanja i dešifrovanja bile simetrične. BLOWFISH.bg. god. Najozbiljnija primedba se odnosila na veličinu ključa (128 za LUCIFER.html . čime se rekonstruiše otvoreni tekst.ac. Algoritma za ekspanziju ključa. bit za bit. američka nacionalna uprava za standarde (engl. bankarska industrija.. EFF tim je potrošio 220. DES. AES (RIJNDAEL). preko telefona. radi skrivanja blokova koji sadrže samo jedinice ili samo nul. 1998. tri dana pre Nixon-ove ostavke. kada se ponovi identičan proces. Druga funkcija otežava neke napade na ovakve sisteme. Posle procenjivanja algoritma.. je prihvatila DES kao standard za njihove transakcije 1980. U međuvremenu. 56 bita za DES)..5 dana. i ona je stigla 6.. DES je među ljudima bio sinonim za sigurno šifrovanje. i nazvao ga DES. međunarodna udruženja koja su se bavila patentima za mirise i parfeme su slali njihove vazne formule. Data Encryption Standard) algoritam je najviše korišćen algoritam za kriptovanje na svetu. Inicijalna transformacija može sadržati jednu do dve funkcije. TWOFISH. 15.National Bureau of Standards) izdala je obaveštenje u kojem traže propozicije za kriptografske algoritme radi zaštite podataka tokom prenosa i skladištenja.matf. maja 1973. Prva „randomizuje“ ulazne podatke..yu/~pd00011/kript/kript. sa podacima koji dolaze iz prethodne runde ili iz inicijalne transformacije.. TRIPLEDES i drugi. Ta masina je nazvana Deep Crack. kao u javnim telefonskim linijama. objavili su da su odredili 56-bitni ključ za 56 sati. kriptovane DES-om.. jula 1998.. pod vodjstvom John Gilmore. NBS . Runde se međusobno povezuju sabiranjem po modulu 2. i sadržala je 27 ploča sa po 64 čipa. DES je brzo prihvaćen u nedigitalnim medijima. koja ja najveći korisnik enkripcije izvan vlade. Kružna funkcija g predstavlja funkciju koja se ponavlja Nr puta. prvenstveno na diferncijalnu i linearnu kriptonanalizu.KNr koji se mogu sastojati iz većeg broja bita. 1 Izvor http://alas. i obično ne zavisi od ključa. RC5. Avgusta 1974.000 mašine za razbijanje DES-šifrovanih poruka. Algoritam za ekspanziju ključa ima za cilj pretvaranje ključa obično ograničene dužine u skup podključeva K1. uz pomoć američke vladine ustanove zadužene za sigurnost (NSA).92. Najpoznatiji blok šifarski algoritmi su LUCIFER. ”1. Uprkos naporu Electronic Frontier fondacije u kreiranju $220. i bila sposobna da testira 90 biliona ključeva u sekundi. godine. U svakoj rundi. RC6. kada je IBM podneo svog kandidata pod imenom LUCIFER. Dugo godina. DES “DES (engl. FEAL.. Npr. NBS je usvojio modifikaciju LUCIFER algoritma jula 1977. Na taj način se formira involutivna trnasformacija. NBS je čekao na reakciju.-te od ANSI X3.000 dolara da napravi masinu koja bi provalila ceo DES ključ u proseku za oko 4. 17. 4. se kao argumenti funkcije g pojavljuju delovi kljuca K1..KNr (podključevi) i delovi ulaznih podataka.

.. i32 (1) Slika 2. zato F može da bude jednosmerna funkcija koja sadrži nelinearne operacije. zatim se blok deli na dve polovine.2. Brute force attack . x64 (0) Inicijalna fiksna permutacija I(0)= i1(0). Osnovna osobina ovog algoritma je da je dužina bloka 64 bita.. Na slici 2 prikazan je Originalni blok: X(0)= x1(0)... a dužina ključa je 56 bita.. Najpre se vrši inicijalna fiksna permutacija bita u bloku... Inicijalna transformacija i prva runda DES-a DES algoritam se danas ne može smatrati sigurnim algoritmom... DES realizuje involutivnu transformaciju i zato nije potrebno invertovati funkciju F (koju čini skup kombinovanih operacija) u algoritmu za dešifrovanje. Posle toga se realizuje jedna modularna operacija koja se ponavlja 16 puta (“rundi”)... i32 (0) D(0)= d1(0)..ovim napado se isprobavaju svi mogući ključevi. rundi se izostavlja razmena mesta leve i desne polovine bloka. i zbog relativno male dužine ključa kao i zbog niza drugih nedostataka koji su omogućili kriptoanalitičarima širom sveta da objave niz algoritama za razbijanje ovog algoritma.. i =1. Zatim leva i desna polovina bloka menjaju mesta.. d32 (0) F(K1) K1 D(1)= d1(1).... d32 (1) I(1)= i1(1). i uz pomoć ove tehnike napada DES algoritam je razbijen 1998 godine uz pomoć Deep Crack računara.. U 16. Način na koji DES funkcioniše je sledeći: DES alternativno šifruje dve polovine bloka... a algoritam se završava finalnom fiksnom permutacijom bita u bloku koja je inverzna inicijalnoj.16. za šta je bilo neophodno svega 56 sati . Najpoznatiji napadi na ovaj algoritam su : 1. na koju utiče i podključ Ki. Ova operacija se sastoji od sume po modulu 2 leve polovine bloka funkcijom F(Ki) desne strane bloka... gde je i redni broj runde..

kao i pogodnost za realizaciju modernim procesorima. 3. Takođe AES je otporan na linearnu i diferencijalnu kriptoanalizu. Advanced Encription Standard) algoritam. sve više se koristi AES (engl. 2.otkrivena kasne 1980. Unapređeni Dejvisov napad Danas umesto algoritma DES. Ovaj algoritam je napredniji u odnosu na DES algoritam jer može koristiti promenljivu dužinu ključa (128. Ostale prednosti ovog algoritma su simetrična i paralelna struktura. 192 ili 256 bita) kao i promenljivu dužinu bloka (128. Vrlo je važno je napomenuti da se kod ovog algoritma je pojava slabih ključeva nemoguća pošto algoritmi šifrovanja i dešifrovanja koriste različite komponente. specijalizovanim hardverom ili u pametnim karticama (koje karakteriše mala memorija). 192 ili 256 bita) nezavisno od dužine ključa. Linearna kriptoanaliza 4. kao i na druge publikovane napade na blok šifre . od strane Elija Bihama i Adija Šamira. Diferencijalna analiza . ali je bila poznata i ranije od strane IBM-a i NSA-a. Za ovaj standard prihvaćen je algoritam RIJNDAEL. koji su kreirali belgijski matematičari Joan Daemen i Vincent Rijmen. ali je bila čuvana u tajnosti.

. a h odgovarajuća funkcija. tako da primljena poruka nije identična originalnom dokumentu. poreklo podataka i često se koriste pod nazivom kod za autentifikaciju poruka (MAC). one-way. Najpoznatiji i najkorišćeniji heš algoritmi su SHA-1. dakle zanemarljivo mala verovatnoća. fingerprint) algoritmi. tako da novodobijeni tekst ima istu hash vrednost kao i originalni je 1/2160 u slučaju 160 bitnih algoritama. prijemna strana može biti sigurna da primljeni par (x. Kod simetručnih kriptosistema primnjuje se posebna klasa heš funkcija sa ključem. Zahvaljujući ovom svojstvu heš funkcija mi možemo u svakom trenutku da proverimo integritet poruka. Ovi algoritmi prosto sažmu (samelju u bukvalnom prevodu) svaku poruku ili fajl bez obzira na veličinu i na izlazu dobijamo poruku konstantne dužine. Zahvaljujući opisanom svojstvu. Iz tog razloga kreirane su funkcije za sažimanje ili ti heš (mogu se susresti i pod imenima engl. MDC-2. zato se negde heš funkcije nazivaju i otisci prstiju poruka. Pretpostavimo da je y uskladišteno na sigurnom mestu a x nije.y) izračunava se ponovo y = hk(x). Ovo je vrlo važno iz razloga jer je moguće da je ključ provaljen i da nam napadač šalje lažne poruke. hash function. neka je x proizvoljan podatak proizvoljne dužine.y) nije izmenjen u toku prenosa. odnosno da primetimo razliku u tekstu primljene poruke. na vrlo prost način se može utvrditi je poruka izmenjena ponovnim sračunanjem heš funkcije i upoređivanjem rezultata. y’ = h(x’) i verifikovanjem y ≠ y’ Verovatnoća da u poruci neko izmeni neku stavku. Za originalnu poruku x. Ukoliko je izračunata vrednost jednaka sa dobijenom. message digest.3. Pretpostavlja se da dve strane u komunikaciji dele tajni ključ K koji određuje heš funkciju hk . ali i mogućnosti da je došlo do greške prilikom šifrovanja. Iz dobijenog izlaza nemoguće je rekonstruisati ulaznu poruku. Na primer. a isto tako gotovo je nemoguće kreirati dve smislene poruke koje će imati iste vrednosti heš funkcije. heš funkcije mogu biti primenjene u različitim kripotgrafskim aplikacijama za proveru integriteta podataka i ostalih bezbednosnih usluga. One obezbeđuju proveru integriteta podataka i proveru identiteta korisnika. RIPEMD-160 i td. Par (x. Ukoliko dođe do izmene vrednosi x u x’ . odgovarajući autentifikacioni kod može se izračunati kao y = hk(x) i na jednoj i na drugoj strani. MD5.y) ise može preneti preko nebezbednog kanala. slika 3. Po prijemu para (x. prostim ponovnim proračunavanjem heš funkcije i upoređivanjem dobijenih rezultata.3. Odgovarajući rezultat heš funkcije je y=h(x).Funkcije za sažimanje (heš funkcija) Funkcija za sažimnje ili heš funkcija je tehnika koja obezbeđuje proveru integriteta poruke. u zavisnosti od algoritma.

X je skup mogućih poruka. nedostatak ovakvog sistema je tome što se poruka šalje otvorenim kanalom. konačan skup mogućih ključeva 4. Heš funkcije bez ključa mora da zadovolji posebne bezbednosne uslove: 1. 2. druga klasa heš funkcija bez ključa hk: X → Y .K. Matematički model funkcije za sažimanje može se formalno izraziti: Heš funkcija je četvorka (X. čime se ne obezbeđuje tajnost poruke kao i obavezi da obe strane moraju posedovati tajni ključ. Svaka hk: X → Y Za razliku od heš funkcija sa ključem. Za svaki K∈ K postoji heš funkcija hk ∈ H. Neizračunljivost originala x : Za datu heš funkciju h: X → Y i sliku y ∈ Y trebalo bi da bude veoma teško odrediti x ∈ X . Ovaj tip heš ima najširu primenu u kriptografiji. Neizračunljivost drugog originala x’: Za datu heš funkciju h:X → Y i original x ∈ X trebalo bi da bude veoma teško odreditit x’ ∈ X. Y je konačan skup mogućih sažetaka (message digest) ili autentifikacionih kodova 3. koja bi u slučaju arbitraže dokazivala neporecivost. takav da je x’ ≠ x Za . gde su ispunjeni sledeći uslovi: 1. Problemi koji sa ovde mogu javiti jesu.a K ( h ) K ( h ) y = h k ( x ) M A C D a / N e = ? y = h k ( x ) Slika 3. x O t v o r e n a p o r u k a A l g o r i t a m T az j a n i k l j u čT a jn i k l j uA č l g o r i t a m z a x g e n e r i s a n j e M A C . pogotovo kod sistema baziranih na asimetričnoj kriptografiji kao i kod sistema digitalnog potpisa i digitalnog sertifikata. kod kojih postoji samo jedan ključ |K | = 1.a g e n e r i s a n j e M A C . K je prostor ključa. Međutim.Za ovakvu heš funkciju kažemo da je jednosmerna 2. distribucija ključeva kao i nepostojanje treće strane od poverenja. V e r i f i k a c i j a p o r e k l a i i n t e g r i t e t a p o r u k e Ova šema primena funkcije za sažimanje pokazuje da se i na simetričnim kriptosistemima može ostvariti i provera integriteta poruka i identiteta korisnika.H). takava da je h(x)=y.Y.

koje predstavljaju posebnu grupu heš funkcija sa konačnim skupom otvorenih poruka. Za razbijanje ovog algoritma bilo im je potreban samo jedan sat na IBM p690 klasteru. SHA-384 i SHA-512 i oznake brojeva predstavljaju dužinu sažetka. Ksuejia Lai i Ksongbo Ju (Xiaoyun Wang. postala njegova slaba tačka. One nastaju na bazi funkcija kompresije. MD5 je dugo predstavljao sinonim za sigurnu i brzu heš funkciju. uz pomoć posebne tehnike proširi na heš funkciju sa beskonačnim domenom. Algoritmi SHA-256. i bio je prilagođen 8-bitnim računarima dok je MD4 nastao 1990. 3. iz koje kasnije proizilaze mnogo napredniji i sigurniji algoritmi MD5. SHA i RIPEMD. Vrlo brzo je otkriven propust u algoritmu i dve godine kasnije je publikovan njegov naslednik SHA-1. Arjen Lenstra. godine sa namerom da dokaže da ovaj algoritam nije siguran. SHA (Secure Hash Algoritam) je klasa haš funkcija baziranih na MD5 algoritmu. Ispunjenje navedenih uslova teži dobijanju „idealne“ heš funkcije. MD2 je kreiran 1989. Za ovakvu heš funkciju kažemo da je otporna na koliziju. Varijante sa dužim sažetkom nastale su nešto kasnije i poznate su pod imenom SHA-2.509 sertifikata sa različitim javnim ključevima ali istim MD5 digestom. godine i zvanično prihvaćen kao standard NIST-a. Dengguo Feng. godine i bio je optimizovan radu na savremenijim računarima. Najstariji član ove klase je SHA-0 algoritam publikovan 1993. objavljeno je da su Ksiaoun Vang. dok je varijanta SHA-224 . takav da je x’ ≠ x i h(x’) = h(x). Pri razvoju MD5 algoritma. Posebna klasa heš funkcija jesu takozvane iteracione heš funkcije. razlog za ovo je bio u želji autora da dobije dovoljno brz algoritam. Iteraciona heš funkcija nastaje kada se funkcija kompresije sa konačnim domenom. Hongbo Yu) uspešno razbili algoritam odnosno da su pronašli koliziju na algoritmu. Za njihovu konstrukciju nudi se takozvani random oracle model koji je pronađen od strane Belera i Rogoveja i koji definiše kreiranje idealne heš funkcije. avgusta 2004. i Bene de Veger demonstrirali su kreiranje dva X. marta 2004. ali je dužina njegovog otiska od 128 bita sa vremenom. Denguo Feng. Projekat pod imenom MD5CRK je pokrenut 1. Ksiaoun Vang.SHA-384 i SHA-512 objavljeni su 2002. Neizračunljivost dva originala x i x’: Za datu heš funkciju h: X → Y trebalo bi da bude veoma teško odrediti x i x’ ∈ X . Vrlo brzo je primećeno da oba algoritma poseduju niz propusta i da su podložni koliziji. Danas se ovaj algoritam ne primenjuje u kriptografiji a umesto njega se primenjuje SHA-1 . ovakvu heš funkciju možemo reći da je otporna na izračunavanje drugog originala. Xuejia Lai. Ne dugo zatim 17. Sa praktičnog stanovišta iteracione heš funkcije imaju izuzetnu vrednost. s obzirom da konstrukcija savremenih heš funcaja bazirana na ovom modelu. Najčuvenija klasa iteracionih algoritama je ona bazirana na algoritmima Ronalda Rivesta MD2 i MD4. SHA-256. programeri su se odrekli određenog koeficijenta brzine izvođenja kako bi ostvarili veću sigurnost. U ovu grupu spadaju algoritmi SHA- 224. Nekoliko dana potom Vlastimil Klima je kreirao unapređeni algoritam koji je u stanju da na običnom lap topu za nekoliko sati kreira koliziju MD5 algoritma.

I pored veće sigurnosti oni se i danas manje koriste u odnosu na SHA-1. godine. Karakteristike najpoznatijih heš funkcija . prvenstveno zbog dužine sažetka i određenih promena u algoritmu. 264-1 bita 264-1 bita poruke Primitivnih 4 4 5 logičkih funkcija Broj konstanti 64 4 9 Little Zapis bitova Big endian Little endian endian Tabela 1. MD5 SHA-1 RIPEMD-160 Dužina digesta 128 bita 160 bita 160 bita Dužina bloka 512 bita 512 bita 512 bita Broj koraka 64 (4 x 16) 80 (4 x 20) 160 Najveća dužina . ali u suštini nema značajnih promena u odnosu na prethodnike. Ove duže varijante su znatno sigurnije u odnosu na SHA-0 i SHA-1.objavljena 2004. Ove nove verzije koriste druge vrednosti pomeraja kao i dodatne konstante. koji predstavlja industrijski standard u kriptografiji.