osnove kriptografije

21
Univerzitet Singidunum, Departman za informatiku i računarstvo Smer: Programiranje i projektovanje Seminarksi rad Osnove kriptografije Predmet: Zaštita informacionih sistema Profesor: Studenti: dr Gojko Grubor Mirjana Ristić E-50/07 Aleksandar Milošević E-210/07 Januar 2011, Niš, DLS

Upload: carli-braun

Post on 25-Jul-2015

82 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Osnove kriptografije

Univerzitet Singidunum, Departman za informatiku i računarstvo

Smer: Programiranje i projektovanje

Seminarksi rad

Osnove kriptografije Predmet: Zaštita informacionih sistema

Profesor: Studenti:

dr Gojko Grubor Mirjana Ristić E-50/07

Aleksandar Milošević E-210/07

Januar 2011, Niš, DLS

Page 2: Osnove kriptografije

Po

glav

lje: <

Sad

ržaj

:

2

SADRŽAJ:

1. Uvod ............................................................................................................................................................... 3

2. Pojam kriptografije i osnovni termini......................................................................................................... 3

3. Istorijat kriptografije ................................................................................................................................... 4

3.1. sistemi papira i olovke........................................................................................................................... 5

3.2. Doba elektricnih i mehaničkih uređaja za šifrovanje ............................................................................ 6

3.3. Kompijutersko doba .............................................................................................................................. 7

4. Ciljevi kriptografije ...................................................................................................................................... 7

5. Osnovni kriptografski algoritmi .................................................................................................................. 8

5.1. Simetrična kriptografija ......................................................................................................................... 9

5.2. Simetrični algoritmi ............................................................................................................................. 10

5.2.1. Lucifer ............................................................................................................................................. 10

5.2.2. DES (Data Encryption Standard) ..................................................................................................... 10

5.2.3. AES (Advanced Encryption Standard) ............................................................................................. 13

5.3. Asimetrična kriptografija ..................................................................................................................... 14

5.3.1. Digitalni potpis ................................................................................................................................ 15

5.3.2. Digitalni sertifikati .......................................................................................................................... 16

5.4. Asimetrični algoritmi ........................................................................................................................... 17

5.4.1. RSA algoritam ................................................................................................................................. 17

5.4.2. PGP (Pretty Good Privacy)............................................................................................................... 18

6. Kriptoanaliza .............................................................................................................................................. 18

6.1. Vrste napada ..................................................................................................................................... 18

6.2. Osnovna pravila zastite ....................................................................................................................... 20

7. Budućnost kriptografije ............................................................................................................................. 20

8. Zaključak ..................................................................................................................................................... 21

9. Literatura .................................................................................................................................................... 21

Page 3: Osnove kriptografije

Po

glav

lje: U

vod

3

1. UVOD

Sigurnost računarskih sistema postaje sve važnija, jer sve više korisnika na sve više

načina koristi sve više informacija u računarskom svetu. U takvom sistemu postoji i sve veća

opasnost od neovlašćene upotrebe informacija, podmetanja pogrešnih informacija ili

uništavanja informacija.

U računarskim sistemima informacije se prenose raznovrsnim otvorenim i nesigurnim

komunikacijskim putevima. Pristup do tih puteva ne može se fizički zaštititi pa svaki

neprijateljski nastrojen napadač može narušiti sigurnost sistema. Zbog toga zaštitni

komunikacijski mehanizmi nad nesigurnim komunikacijskim kanalom postaju najvažniji

oblik ostvarenja sigurnosti. Pokazuje se da je najdelotvornija zaštita poruka njihovo

kriptovanje.

2. POJAM KRIPTOGRAFIJE I OSNOVNI TERMINI

Izraz kriptografija potiče iz grčkog jezika i znači "tajno pisanje". Izvedenica je grčkog

prideva κρσπτός (skriven) i glagola γράφω gráfo (pisati). Kriptografija ima dugu i zanimljivu

istoriju koja seže hiljadama godina unazad. Istorijski posmatrano, kriptografiji su svoj

doprinos dale četiri grupe ljudi: vojnici, diplomate, letopisci i ljubavnici. Najveći doprinos

tokom vekova davali su vojnici, jer im je bio najznačajniji. Danas je to moderna nauka

bazirana na primenjenoj matematici.

Kriptografija je nauka koja koristi matematiku i matematičke metode za kriptovanje i

dekriptovanje podataka. Kriptografija nam omogućava transport "osetljivih informacija"

preko nesigurnih komunikacijskih kanala bilo to korišćenjem staromodnih pisama ili u

današnje vreme interneta, na način da niko ne može pročitati sadržaj tajne informacije osim

osobe kojoj je stvarno namijenjena. Sama enkripcija se sastoji od toga da se čist tekst (ili bilo

kakva druga informacija) sakrije tj. prikaže na nerazumljiv način svima osim osobama koje

ne poznaju dekripcijski ključ.

Pored gore navedenog, valja spomenuti jednu bitnu razliku izmeĎu termina

kriptografija i termina kriptologija.

-Kriptografija je nauka koja se bavi svim aspektima sigurnosnog transporta podataka kao što

su na primer autentifikacija (web, lokalne mreže i sl.), digitalni potpisi, razmena elektronskog

novca.

- Kriptologija, je za razliku grana matematike koja se bavi matematičkim načelima, te

matematičkom implementacijom kriptografskih metoda.

Profesionalci prave razliku izmeĎu šifre i koda.

-Šifra omogućava zamenu znak za znak (bit za bit), bez obzira na jezičku strukturu poruke.

-Kodom se jedna reč zamenjuje drugom rečju ili simbolom. Kodovi se više ne koriste, mada

su imali burnu istoriju.

Page 4: Osnove kriptografije

Po

glav

lje: I

sto

rija

t kr

ipto

graf

ije

4

Kriptografija je nauka koja se bavi metodima

očuvanja tajnosti informacija. Kada se lične, finansijske,

vojne ili informacije državne bezbednosti prenose sa

mesta na mesto, one postaju ranjive na prisluškivačke

taktike. Ovakvi problemi se mogu izbeći kriptovanjem

(šifrovanjem) informacija koje ih čini nedostupnim

neželjenoj strani. Šifra i digitalni potpis su kriptografske

tehnike koje se koriste da bi se implementirali

bezbednosni servisi. Osnovni element koji se koristi

naziva se šifarski sistem ili algoritam šifrovanja. Svaki

šifarski sistem obuhvata par transformacija podataka,

koje se nazivaju šifrovanje i dešifrovanje.

Šifrovanje je procedura koja transformiše originalnu informaciju (otvoreni tekst) u

šifrovane podatke (šifrat). Obrnut proces, dešifrovanje, rekonstruiše otvoreni tekst na osnovu

šifrata. Prilikom šifrovanja, pored otvorenog teksta, koristi se jedna nezavisna vrednost koja

se naziva ključ šifrovanja. Slično, transformacija za dešifrovanje koristi ključ dešifrovanja.

Broj simbola koji predstavljaju ključ (dužina ključa) zavisi od šifarskog sistema i predstavlja

jedan od parametara sigurnosti tog sistema.

Kriptoanaliza je nauka koja se bavi razbijanjem šifri, odnosno otkrivanjem sadržaja

otvorenog teksta na osnovu šifrata, a bez poznavanja ključa. U širem smislu, kriptoanaliza

obuhvata i proučavanje slabosti kriptografskih elemenata, kao što su, na primer, heš funkcije

ili protokoli autentifikacije. Različite tehnike kriptoanalize nazivaju se napadi.

Originalna poruka koju će pošiljaoc slati u daljnjem razmatranju će se zvati čisti tekst

ili original. Zatim, kodiranje poruke tj. postupak pretvaranja originala (čistog teksta) u

nečitljiv oblik ćemo nazvati enkripcija. Tako enkriptujen tekst ima engleski termin ciphertext,

a mi ćemo je jednostavno nazvati kodiranom porukom. Nadalje, postupak dekodiranja

poruke, tj. vraćanja poruke iz njenog enkriptujenog oblika u originalni (čisti tekst) oblik

naziva se dekripcija. Vrlo važan termin u kriptografiji je ključ. Ključ ima veliku ulogu u

enkripciji i dekripciji poruke.

3. ISTORIJAT KRIPTOGRAFIJE

Kada je pismo postalo sredstvo komunikacije, pojavila se potreba da se neka pisma

sačuvaju od tuĎih pogleda. Tada je i kriptografija ugledala svetlost dana. Od samog početka,

enkripcija podataka koristila se prvenstveno u vojne svrhe.

Kriptografija ima dugu i fascinantnu istoriju. Postoje čak podaci da su Egipćani pre

više od 4000 godina koristili kriptografiju za zaštitu informacija.

Jedan od prvih velikih vojskovoĎa koji je koristio šifrovane poruke bio je Julije Cezar.

Naime, kada je Cezar slao poruke svojim vojskovoĎama, on je te poruke šifrovao tako što su

sav ili pojedina slova u tekstu bila pomerana za tri, četri ili više mesta u abecedi. Takvu

poruku mogli su da dešifruju samo oni koji su poznavali "pomeri za" pravilo. Poznata

Cezarova izjava prilikom prelaska Rubikona u šifrirovanom dopisivanju glasila bi: "fqkf ofhzf

kyz". Pomeranjem svakog slova za šest mesta u abecedi lako se može pročitati pravi smisao

poruke: Alea iacta est (kocka je bačena) .

Page 5: Osnove kriptografije

Po

glav

lje: I

sto

rija

t kr

ipto

graf

ije

5

Prvu poznatu raspravu o kriptografiji, napisao je na 25 stranica italijanski arhitekta

Leone Batista Alberti 1467. godine. On je takoĎe tvorac takozvanog šifarskog kruga i nekih

drugih rešenja dvostrukog prikrivanja teksta koja su u XIX veku prihvatili i usavršavali

nemački, engleski i francuski šifrantski biroi.

Pola veka nakon toga objavljeno je u pet svezaka delo Johanesa Trithemusa prva

knjiga iz područja kriptografije. Kasnije značajan doprinos daju milanski doktor Girolamo

Kardano, matematičar Batisto Porta i francuski diplomata Blaise de Vigener.

Sve do Drugog svetskog rata šifrovane poruke mogle su se koliko-toliko i dešifrovati.

Na nemačkoj strani pojavila se mašina koja je šifrovala poruke na do tada još neviĎen način.

Nemci su mašinu nazvali Enigma. MeĎutim ma koliko je ona u to vreme bila revoluciona

saveznici su uspeli da razbiju poruke šifrovane Enigmom.

Posle Drugog svetskog rata i pojavom prvih računara otvorila su se nova vrata

kriptografiji. Računari su vremenom postajali sve brži i brži, radeći i po nekoliko stotina, a

kasnije i miliona operacija u sekundi. Novom brzinom rada je omogućeno probijanje šifri za

sve manje vremena. Uporedo s tim, radilo se i na izmišljanju novih, sigurnijih i

komplikovanijih algoritama za šifrovanje.

Početkom 60-ih sa razvojem računara došlo je do sve većih zahtjeva za zaštitom

informacija, a time i do razvoja kriptografije. U zadnjih 20-ak godina desila se prava

eksplozija u razvoju kriptografije. Dok je klasična kriptografija bila u upotrebi kod običnih

ljudi već duže vreme, kompijuterska kriptografija je bila u potpunosti u vojnom domenu još

od 2. svjetskog rata. Američka NSA (National Security Agency) i njihovi ekvivalenti u

bivšem Sovjetskom savezu, Engleskoj, Izraelu, Francuskoj i drugde potrošili su milijarde

dolara na razno razne igre osiguranja svojih komunikacija i pritom želeći razbiti tuĎe.

Privatne osobe sa manje znanja i novaca su bile bespomoćne u zaštiti svoje privatnosti od

takvih vlada.

Danas je situacija bitno drugačija. Postoji puno materijala, što besplatnih koji

omogućavaju vrlo visoki nivo kriptovanja svakome ko želi. Doduše u nekim državama i

danas postoje zakoni o ograničenju korišćenja kriptografskih alata, ali sve je to uzaludno kada

se na internetu mogu naći gotovo sve implementacije kriptografskih metoda.

3.1. SISTEMI PAPIRA I OLOVKE

Prvi poceci kriptovanja datiraju jos

iz antičkih vremena. Jedan od prvih modela

je supstitucija. Ona se zasniva na zameni

slova sa nekim dugim znakovima.

Ovim načinom kodiranja koristili su

se Herbeji koji su zamenjivali jedna slova

drugima. Tri takva nacina kodiranja

prikazana su u nastavku teksta. Treba

primetiti da je ovo kodiranje recipročno,

odnosno da ako jedno slovo postaje drugo,

Page 6: Osnove kriptografije

Po

glav

lje: I

sto

rija

t kr

ipto

graf

ije

6

onda ovo drugo postaje ono prvo. Takodje treba primetiti da tablica gore sadži i numeričku

vrednost svakog slova napisanu ispod imena pojedinog slova, originalni izgled tog slova na

herbejskom je "Crzptic Script B" koje je korišćeno u delovima svitaka pergamenata mrtvog

mora.

Drugi poznati način je transpozicija. Njome su se

koristili stari Spartaci. Zasniva se na tome da se menja

redosled slova u tekstu odnosno da se rotira pozicija slova.

Jedna od poznatih verzija je stupičasta. Tu se

koristimo rečju kao ključem. Svako slovo reči oznacimo sa

brojem. Prvo brojeve reĎamo po redosledu u abecedi a

drugo ako su dva ista slova onda po poziciji reči. Zatim

ispod toga napišemo tekst bez razmaka te zapisujemo

stupce teksta po redosledu kako rastu brojevi.

Konačna koncepirana poruka izgleda ovako:

s tim da treba uzeti u obzir da u njoj ne bi bilo razmaka, jer oni olakšavaju dekodiranje.

Pored ovih najpoznatijih sistema papirom i olovkom postoje i nomenklatori i

homophoni, poligrafski šifrarnici i frakcionacija kao i polialfabetna supstitucija.

3.2. DOBA ELEKTRICNIH I MEHANIČKIH UREĐAJA ZA ŠIFROVANJE

UvoĎenje električnih i mehaničkih ureĎaja u svet šifrovanja i kodiranja omogućilo je

puno viši nivo komplikovanosti postupka šifrovanja a samim tim i razbijanja šifre. Neki od

prvih oblika mehaničkih naprava bili su:

Bazerie-ov cilindar. U osnovi njega je već

pre otkrio Thomas Jefferson, ali se počeo koristiti

tek nakon ponovnog Bazerie-ovog otkrića. Sastoji

se od 20 do 30 diskova na čijem obodu su

nasumično ispisana slova abecede, a u sredini imaju

rupu tako da se mogu poslagati na osovinu. Diskovi

su numerisani tako da njihov redosled možemo

koristiti kao ključ. Poruke se šifriraju tako da

okrećemo diskove dok u jednom redu ne dobijemo

odgovarajuću poruku koju želimo poslati. Tada

posaljemo poruku iz nekog drugog reda koja nema

smisla i ključ, te će se pomoću ta dva podatka poruka moći rekonstruirati na identičnom

cilindru.

Kryha kriptograph - sastoji se od dve ploče od kojih je na svakoj ispremeštana

abeceda. One se mogu menjati a okreću se na zupčanicima tako da za jedno slovo na prvom

disku drugi disk se pomakne za pet.

Page 7: Osnove kriptografije

Po

glav

lje: C

iljev

i kri

pto

graf

ije

7

“Crvena mašina”- sastoji se od dva tzv. polurotora od kojih je jedan korišćen za 20

suglasnika a jedan za 5 samoglasnika plus slovo y. Polurotor je u stvari vrsta rotora(osnovni

deo rotacijskog ureĎaja) koja na jednoj strani ima disk sa N kontakata a ne drugoj strani

vreteno sa N traka. Ovakvom konstrukcijom garantuje da će pri svakom okretu dovesti slovo

do druge zamene. Ovu napravu su koristili japanci u drugom svetskom ratu.

Najpoznatiji uredjaji ovog doba su: "Purple", "Coral", "Jade", "Enigma" i ECM-

MarcII. A telešifrarnici: Lorentz SZ40 i M-228 SIGCUM.

3.3. KOMPIJUTERSKO DOBA

Era kompijutera i elektronskih naprava omogućila je slobodu kreatorima ureĎaja za

šifrovanje, te im omogućila upotrebu puno složenijih dizajna, koji bi bili previše podložni

greškama kad bi se upotrebljavali po principu olovke i papira, a sa druge strane njihova

implementacija preko elektromehaničkih ureĎaja bi bila preskupa. Njen početak označen je sa

razvojem blokovnih šifrarnika počevši sa LUCIFEROM, projektom IBM-a koji je osnovni

predak DES-a (Data Encryption Standard). Oni su obraĎivali blok po blok podataka i to tako

da su proces šifrovanja ponavljali i više puta nad istim blokom koristeći se sistemima sličnim

˝autokey˝ sistemu. S vremenom i jačanjem procesora ovi sistemi postaju podložni brute force

napadima te se razvija AES (Advanced Encryption Standard), koji za razliku od 56 bitnih

blokova korišćenih u DES-u , koristi 128 bitne blokove sa dužinom ključa od 128 do 256

bitova, te je samim time teži za probiti.

4. CILJEVI KRIPTOGRAFIJE

Od svih ciljeva sigurnosti informacije sledeća četiri čine temelj od koga će svi ostali

biti izvedeni:

(1) privatnost ili poverljivost; (2) integritet podataka; (3) autentifikacija; i (4) neporecivost.

1. Poverljivost je još poznata i kao tajnost. Poverljivost je svojstvo koje osigurava da je

informacija dostupna samo autorizovanim korisnicima. Samo autorizovani primaoc bi

trebao moći izvući sadržaj poruke iz njene kriptovane forme. Inače, ne bi smelo biti

moguće dobiti vredne informacije o sadržaju poruke. Postoje brojni pristupi pružanju

poverljivosti, od fizičke zaštite do matematičkih algoritama koji čine podatke

nerazgovetnim.

2. Integritet podataka je svojstvo koje se bavi detekcijom ne autorizovane promene

podataka. Kako bi osigurali integritet podataka, pojedinac mora imati mogućnost

otkrivanja manipulacije podataka od strane ne autorizovanih pojedinaca. Manipulacija

podataka uključuje takve stvari kao što su ubacivanje, brisanje i zamena.

3. Autentifikacija je postupak utvrĎivanja da li je neko uistinu onaj za kog se predstavlja

da jeste. Autentifikacija i identifikacija su različite. Identifikacija zahteva da

verifikator proveri dobijene informacije sa svim entitetima za koje zna, dok

autentifikacija zahteva da se informacija proveri za jedan, prethodno identifikovan,

entitet. Dok identifikacija mora, prema definiciji, jedinstveno identifiikovati dati

entitet, autentifikacija ne zahteva jedinstvenost.

4. Neporecivost je svojstvo koje sprečava entitet da poriče preĎašnje obaveze ili akcije.

Neporecivost osigurava da ugovor, posebno onaj koji je dogovoren preko Interneta ne

može kasnije biti opovrgnut od bilo koje uključene stranke. Neporecivost znači da se

može potvrditi da su pošiljaoc i primaoc zaista entiteti koji su poslali odnosno primili

poruku.

Page 8: Osnove kriptografije

Po

glav

lje: O

sno

vni k

rip

togr

afsk

i alg

ori

tmi

8

Kriptografija može osigurati mehanizme koji će pomoći pri postizanju navedenih

svojstava. Medutim, neka svojstva nisu uvek potrebna, praktična ili čak poželjna u odreĎenim

situacijama. Na primer, pošiljaoc poruke može poželeti ostati anoniman, očito je da u ovom

slučaju neporecivost bi bila neprikladna. Kriptografija se bavi sprečavanjem i detekcijom

varanja i drugih zlonamernih aktivnosti. Kriptografski algoritam je matematička funkcija koja

se koristi za šifrovanje i dešifrovanje (uopšteno, radi se o dve funkcije, jednoj za šifrovanje, a

drugoj za dešifrovanje). Njeni argumenti su ključ i otvoreni tekst, odnosno ključ i šifrat. Skup

svih mogućih vrednosti ključeva zovemo prostor ključeva. Kriptosastav se sastoji od

kriptografskog algoritma, te svih mogućih otvorenih tekstova, šifrata i ključeva.

5. OSNOVNI KRIPTOGRAFSKI ALGORITMI

Nekada, pre nego što su računari ušli u široku upotrebu, tj. pre nego su se dovoljno

razvili, većina kriptografskih metoda šifrovanja se bazirala na tajnosti šifre. No, tako bazirani

algortimi su se pokazali dosta nepouzdani, te su se morale pronaći neke druge metode

šifrovanja. Današnje metode šifrovanja zasnivaju se na upotrebi ključa. Ključ je najvažniji

deo u pravilnom enkriptovanju i dekriptovanju poruka.

Upravo zavisno o načinu korišćenja ključa, razvile su se dve klase algoritama. Jedna

je simetrična, a druga asimetrična klasa. Drugim rečima, postoje simetrični algoritmi

kriptovanja i asimetrični algoritmi kriptovanja. Osnovna razlika je u tome da simetrični

algoritmi koriste isti ključ za enkripciju i dekripciju neke poruke (ili se ključ za dekripciju

može lako proizvesti iz originalnog ključa za enkripciju), dok asimetrični algoritmi koriste

različite ključeve za enkripciju i dekripciju iste.

• Simetrični algoritmi:

Ove algoritme delimo u dve grupe: stream šifrovanje i blok šifrovanje.

Stream šifrovanje radi tako da se enkripcija poruke (originala) vrši bit po bit, dok se kod blok

šifrovanja enkripcija vrši po blokovima podataka, tj. uzimaju se blokovi od više bitova (64,

128, 196, 256...), te se enkriptuju kao celina. Dekripcija se najčešće vrši inverznim

enkriptovanjem, tj. algoritam je isti, ali se podključevi enkripcije koriste obrnutim

redosledom.

• Asimetrični algoritmi:

Ove algoritme nazivamo još i public-key algorithms, tj. algoritmi s javnim ključem.

Razlog ovakvom nazivu je taj što je dozvoljeno da se jedan od ključeva potreban za

enkripciju/dekripciju objavi javno (npr. Internet, novine). Ovde treba obratiti pažnju na reči

"jedan od ključeva". Ono što je specifično za ovaj tip algoritma je to da se koriste dva ključa

za enkripciju/dekripciju poruke (originala). Ideja je sljedeća: osoba A objavi svoj javni ključ

preko nekog medija (npr. Internet). Osoba B, koja osobi A želi poslati tajnu poruku

enkriptuje tu svoju poruku s ključem koju je osoba A javno objavila te joj takvu poruku

pošalje (recimo preko e-mail servisa). Jedino osoba A sa svojim privatnim (tajnim) ključem

može dekriptovati poruku poslanu od osobe B i niko drugi.

Uglavnom, simetrični algoritmi su po svojoj prirodi brži, tj. implementacija na

računaru se brže odvija od implementacije asimetričnih algoritama. No, zbog nekih prednosti

Page 9: Osnove kriptografije

Po

glav

lje: O

sno

vni k

rip

togr

afsk

i alg

ori

tmi

9

asimetričnih algoritama u praksi se obe vrste algoritama isprepleću u cilju bolje zaštite

poruka. Obično se asimetrični algoritmi koriste za enkripciju slučajno generisanog broja koji

služi kao ključ za enkripciju originalne poruke metodama simetričnih algoritama. Ovo se

naziva hibridna enkripcija.

5.1. SIMETRIČNA KRIPTOGRAFIJA

Simetrična kriptografija je najstariji oblik kriptografije, stara gotovo koliko i ljudska

komunikacija (naziva se i kriptografijom tajnog ključa jer se podatak kriptuje i dekriptuje

istim ključem). Za proces kriptovanja u simetričnoj kriptografiji potrebno je znati algoritam

kriptovanja i tajni ključ. Nekad su se algoritmi držali u tajnosti, ali se pokazalo da skrivanje

algoritma ne doprinosi sigurnosti. Svi savremeni simetrični algoritmi javno su objavljeni.

Zbog toga ih je u potpunosti moguće testirati i proveriti njihovu otpornost na napade,

odnosno moguće ih je analizirati (kriptoanaliza). Sigurnost simetričnih algoritama zavisi od

sigurnosti samog algoritma i dužini ključa.

Najpoznatiji simetrični algoritam je DES (Data Encryption Standard), koji je razvio

IBM-a 1977. godine. Bio je standardni simetrični algoritam sve do 2000. godine kad ga je

zamijenio AES (Advanced Encryption Standard), koji rukuje ključevima dužine 128, 192 i

256 bita. Glavni razlog zbog kojeg je DES zamijenjen AES-om je taj što DES ima dužinu

ključa od 56 bita. Već smo rekli da je simetrična kriptografija tajnim ključem postupak kojim

se koristi jednak ključ za enkripciju i dekripciju podataka. Simetričnu kriptografiju možemo

matematički prikazati izrazima:

Enkripcija: C = Ek (M )

Dekripcija: M = Dk (C )

gdje E predstavlja enkripcijsku funkciju, D dekripcijsku funkciju, k je tajni ključ jedinstven

za obe strane, M je originalna (plaintext) poruka, a C je pripadajuća enkriptovana poruka

(ciphertext).

Način korišćenja simetrične enkripcije najlakše je pokazati sledećim primerom.

Pošiljaoc i primaoc poseduju zajednički tajni ključ, koji samo oni znaju te su prethodno

dogovorili zajednički kriptografski algoritam koji će koristiti. Kada pošiljaoc želi poslati

poruku primaocu, on enkriptuje originalnu poruku (plaintext) korišćenjem tajnog ključa i

prethodno dogovorenog algoritma. Time dobija enkriptovanu poruku (ciphertext) koju dalje

šalje primaocu . Primaoc prima enkriptovanu poruku (ciphertext) od pošiljaoca i dekriptuje je

svojim privatnim ključem kako bi opet dobio originalnu poruku (plaintext).

Ukoliko neko prisluškuje njihovu komunikaciju, prima samo enkriptovanu poruku, jer

je jedino ona slana preko otvorenog kanala tako da je tajnost komunikacije sačuvana. Mana

simetrične enkripcije je što se podrazumeva da su se dve strane pošiljaoc i primaoc unapred

dogovorili o vrednosti enkripcijsko/dekripcijskog ključa koji mora ostati u tajnosti od

neautorizovanih korisnika.

Kod takvog prenosa gde se koristi jedinstveni ključ je takoĎe moguć i tzv. napad

sirovom silom ili brute-force attack, koji podrazumeva isprobavanje svih mogućih

kombinacija tajnog ključa sve dok se ne pronaĎe korišćena kombinacija.

Page 10: Osnove kriptografije

Po

glav

lje: O

sno

vni k

rip

togr

afsk

i alg

ori

tmi

10

5.2. SIMETRIČNI ALGORITMI

5.2.1. LUCIFER

Lucifer je prvi simetrični algoritam za kriptovanje koji je osmislio Horst Fiestel,

razvijen od strane IBM – a u ranim sedamdesetima. Prethodnik je DES – a i mnogo je

jednostavniji od njega.

Činjenice:

• prvi simetrični algoritam sa blok šifrovanjem

• prethodnik DES-a

• enkriptuje blok veličine 128 bita

• koristi ključ veličine 128 bita

• 16 podključeva dužine 72 bita

• koristi 16 'Feistel runda' (iteracije) kod enkriptovanja

• dekripcija se vrši inverznom enkripcijom

Slabosti:

• slabosti u korišćenju ključa (key scheduling)

• slab je na napade diferencijalne kriptoanalize

Danas se smatra nesigurnim, ali zbog dužine ključa, te brzine enkriptovanja može se

koristiti za enkriptovanje u kombinaciji s nekim dobrim simetričnim algoritmom kao što je

DES.

5.2.2. DES (DATA ENCRYPTION STANDARD)

DES (Data Encryption Standard) je simetrični enkripcijski algoritam razvijen

sredinom 70-tih u IBM-u, a prihvaćen kao federalni standard u SAD-u u kasnim

sedamdesetim, te je početkom osamdesetih, tacnije 1981 godine ANSI potvrdio DES kao

ANSI standard (ANSI X3.92 Data Encription Standard). DES predstavlja kriptovanje koje

transformiše 64 bitne blokove podataka u 64 bitne kriptovane blokove podataka. Dužina

ključa kriptovanja je 64 bita, od kojih 8 otpada na proveru pariteta, tako da je efektivna

dužina ključa 56 bita.

DES kriptovanje/dekriptovanje se sprovodi u nekoliko koraka . Prvo se bitovi ulaznog

bloka dužine 64 bita permutiraju nekom permutacijom IP. Tada se ulazni blok podieli na dva

dela po 32 bita, levi L0 i desni deo R0. Nad desnim blokom se obavlja funkcija F(Ri,Ki),

odnosno F(Ri,K16 − i + 1) kod dekriptovanja, gde je Ri desnih 32 bita, a Ki je 48 bitni ključ

koji se generiše iz zadatog tajnog ključa kriptovanja. Vrednost dobijena operacijom XOR

izmeĎu vrednosti funkcije F i levih 32 bita podataka, postaje Ri + 1, tj. desnih 32 bita za

sledeći korak iteracije. Li + 1 za sledeći korak je Ri. Nakon 16 takvih koraka blokovi se

zamenjuju te se spajaju i obavlja se konačna permutacija koja je inverzna početnoj, tj. IP − 1.

Dobijenih 64 bita su kriptovani blokovi. Budući da se nakon dve uzastopne operacije XOR sa

istim brojem dobija početna vrednost, tj. a = (aĹ b)Ĺ b, postupak dekriptovanja može se

sprovesti tako da se operacije obavljaju obrnutim redosedom. Zbog simetričnosti algoritma to

Page 11: Osnove kriptografije

Po

glav

lje: O

sno

vni k

rip

togr

afsk

i alg

ori

tmi

11

se postiže tako da se kriptovani blok pusti kroz isti algoritam sa tom razlikom da se umesto

ključa Ki u i-tom koraku upotrebi ključ K16 − i + 1.

Postupak generisanja šestnaest 48 bitnih ključeva

od zadanog, tajnog ključa sprovodi se u nekoliko koraka.

Prvo se pomoću zadane tablice permutacije iz ključa

generišu dva bloka po 28 bita. Zatim sledi 16 sledećih

koraka: svaki se blok rotira u levo za odreĎeni broj bita (u

zavisnosti o kojem je koraku reč), te se iz nastalih blokova

(2x28) pomoću tablicom zadate permutacije generše ključ

Ki, gde je i broj koraka. Funkcija enkripcije F jeste

zapravo najkritičniji deo algoritma, tj. upravo zbog njene

kompleksnosti ne postoji (barem koliko je za sada

poznato) način provaljivanja DES-a (osim grubom

računarskom silom).

Vrednost funkcije dobija se u nekoliko koraka.

Najpre se od ulaznih 32 bita (Ri) proširenjem zadanom

tablicom dobija 48 bita. Ta se vrednost se zbraja logičkom

operacijom XOR sa ključem Ki paralelno nad svakim

bitom. Dobijena 48 bitna vrednost se deli na osam delova

od po šest bita. Prvi i zadnji bit svakog dela predstavlja

adresu reda, a srednja četiri adresu kolone u tablici

selekcije, odnosno, pomoću šest odreĎena su četiri bita.

Istim postupkom nad svakom šestorkom od ulaznih 48

bita selekcijom dobijamo 32 bita. Tih se 32 bita još

permutuje zadatom tablicom te se dobija konačna

vrednost funkcije F.

Činjenice:

• nastao od LUCIFER-a, (NBS,IBM,NSA)

• enkriptuje blok veličine 64 bita

• koristi ključ dužine 64 bita (56 efektivno)

• broj rundi varijabilan (zavisi od dužine ključa i dužine

bloka)

• koristi 16 podključa dužine 48 bita

• koriste se Feistel runde

Zanimljivost vezana uz DES je na žalost i njegova

slabost. Naime, zbog načina na koji DES kreira

podključeve, postoje 4 ključa za koje je dekripcija jednaka

enkricpiji. To znači da ako s tim ključem želimo

enkriptovati poruku dvaput, dobili bi smo kao rezultat

originalnu poruku. No, verovatnost enkriptovanja baš tim

ključevima je jako mala pa ne utiče značajno na sigurnost.

DES enkripcija

Page 12: Osnove kriptografije

Po

glav

lje: O

sno

vni k

rip

togr

afsk

i alg

ori

tmi

12

5.2.2.1. PROBIJANJE DES-A

DES je nastao početkom 70-ih godina, a odobren je 1977. Može se reći da je kao

enkripcijski standard zadovoljio ciljeve (sigurnost) i predviĎen mu je vek trajanja (20-25

godina), ali krajem 90-ih (1997), RSA Laboratories obrazuje RSA Secret Key Challenge. Cilj

izazova bio je probijanje nekih od najkorišćenijih algoritama enkripcije u to doba. TakoĎe,

pored samog dokaza o ranjivosti današnjih algoritama (DES, RC5), očekivala su se i neka

dodatna saznanja koja bi se stekla kroz izazov. Izazov se u početku sastojao od 13 zadataka.

Dvanaest od njih su se sastojala od probijanja RC5 algoritma i to različitih dužina ključeva

(od 40-128 bitova), dok je jedan zadatak bio probijanje DES-a. Niže je hronološki redosled

probijanja algoritama:

• januar, 1997. - RSA izdaje RSA Secret Key Challenge ($10,000)

• septembar, 1997. - razbijen 56-bitni RC5 nakon 250 dana brutte-force (exhaustive

key search) napada sa 10,000 računara. Projekt se zvao Bovine RC5 Effort, grupa koja je

vodila projekt zvala se Distributed.net group, a korišćena metoda povezivanja računara zove

se distribuirano mrežno računarstvo.

Dosta važan podatak vezan za ovaj način obrade podataka je to da je korišćeno samo

idle vreme procesora, tj. koristilo se ono vreme dok je procesor bio nezaposlen. Kada bi se

posvetilo potpuno vreme svih korišćenih računara samo ovom zadatku, vreme probijanja

ključa bilo bi puno kraće.

• 1997. - razbijen 56-bitni DES - za razbijanje brutte-force metodom, bilo je potrebno

96 dana. Grupa se zvala Deschall i korišćeno je takoĎe distribuirano mrežno računarstvo s

15,000-20,000 računara.

• januar, 1998. - RSA izdaje DES challenge II izazov. Cilj RSA je bio da dvaput na

godinu dana izda novi izazov za razbijanje DES-a. Po njihovim procenama, svakom novom

uspelom pokušaju trebalo bi znatno manje vremena za razbijanje.

• februar, 1998. - razbijen 56-bitni DES grupa Distributed.net u puno kraćem roku

probija DES (41 dan). I ovaj put se koristilo distribuirano mrežno računarstvo uz ukupno

50,000 procesora. Projekt je nazvan Monarch i pretraženo je ukupno 85% 56-bitnog prostora

ključa.

• jul, 1998. - razbijen 56-bitni DES drugi u nizu izazova te godine (DES challenge II-

2) koji je dobijen od Electronic Frontier Foundation (EFF) organizacije. EFF je kreirala

posebno projektovan računar nazvan DES Cracker koji je koštao $220,000 i koji je probio

DES za 56 sati. Brzina pretraživanja ovog custom-made računara bila je 90 biliona

ključeva/sekundi.

• januar, 1999. - razbijen 56-bitni DES. Na izazov DES challenge III odazvali su se

opet EFF i Distributed.net grupa, samo ovaj put su ujednili snage. DES Cracker, sada uz

pomoć distribuiranog mrežnog računarstva koje je objedinjavalo 100,000 PC računara na

Internetu, probilo je poruku kodiranu 56- bitnim DES ključem za 22 sata i 15 minuta. To je

bio ujedno i novi rekord u probijanju DES šifre. Brzina pretraživanja DES prostora je bila

245 biliona ključeva/sekundi. Važno je napomenuti da osim brutte-force napada, postoje još

neke slabosti u DES-u za koje se sumnja da su namerno uvedene.

Page 13: Osnove kriptografije

Po

glav

lje: O

sno

vni k

rip

togr

afsk

i alg

ori

tmi

13

5.2.2.2. TRIPLE DES I 2-KEY 3DES

"Triple data" enkripcijski standard koji pojačava standardnu DES enkripciju. To je

DES bazirani algoritam, ali koristi 2 ili 3 različita DES ključa. Prvi ključ se koristi za

enkriptovanje bloka podataka izvorne poruke. Tako enkriptovana poruka se dekriptuje

drugim ključem. Normalno je da se dekripcijom sa ovim ključem neće dobiti originalna

poruka, već nova šifrovana poruka. Na kraju se razultat dekripcije opet enkriptuje, ovaj put ili

trećim ključem ili opet prvim. Time se povećao broj kombinacija koje bi eventualni napadač

morao probati da bi pronašao ključ. Broj kombinacija se penje (za 2 različita ključa) na 2112,

dok za 3 različita ključa čak na 2168 kombinacija.

3-DES (kako ga još nazivaju) rešava problem dužine ključa običnog DES-a, no sa

sobom unosi novi problem. Puno je sporiji od običnog DES-a (barem dvaput). To je i jedan

od razloga zašto je raspisan konkurs za AES. Preporučen od RSA Security-a.

5.2.3. AES (ADVANCED ENCRYPTION STANDARD)

AES je novi algoritam enkripcije koji je zamenio DES kao standardni algoritam

enkripcije. Zašto AES? Razlog je jednostavan. Naglim razvojem informacijske tehnologije

algoritmi koji su nastali pre deset, dvadeset i više godina su zastareli u smislu da više ne

pružaju dovoljnu sigurnost. Naime, zadnjih dvadeset godina kriptoanaliza (kao i

kriptografija) je takoĎe profitirala od razvoja računarske moći.

Algoritmi kao DES za koje se nekad smatralo da su neprobojni, danas je moguće

kompromitovati. Tok konkursa za AES kako je DES prestao udovoljavati sigurnosnim

zahtevima bilo je nužno uvesti novi standard. Početnu ideju za rad na novom kriptografskom

standardu nazvanom AES (engl. Advanced Encryption Standard) NIST (engl. The National

Institute of Standards and Technology) objavljuje 2. januara 1997. godine, da bi 12.

septembara iste godine i službeno otvorio javni konkurs. 3DES (engl. Triple DES) je označen

kao privremeni standard do kraja konkursa. Na konkurs se mogu prijaviti samo algoritmi sa

sljedećim svojstvima:

• simetrični blokovski algoritmi sa javnim kodom,

• podržavanje veličine bloka od minimalno 128 bita i

• podržavanje veličine ključa od 128, 192 i 256 bita.

Na prvoj AES konferenciji (nazvanoj AES1) 20. oktobra 1998. NIST objavljuje

prihvaćanje u konkurs 15 kandidata: CAST-256, CRYPTON, DEAL, DFC, E2, FROG, HPC,

LOKI97, MAGENTA, MARS, RC6™, Rijndael, SAFER+, Serpent te Twofish. Na istoj

konferenciji NIST traži javne komentare na pristigle algoritme i u tu svrhu otvara i službene

stranice te forum gdje ljudi iz celog sveta mogu videti kodove algoritama i učestvovati u

javnim raspravama i analizama algoritama. Svi pristigli komentari su diskutovani i

analizovani na drugoj konferenciji (AES2) održanoj u martu 1999. Na temelju komentara,

kritika i analiza 20. avgusta 1999. odabrano je pet finalista: MARS, RC6™, Rijndael,

Serpent te Twofish. Na trećoj AES konferenciji (AES3) održanoj u aprilu 2000. nastavlja se

sa javnom analizom finalista sve do 15. marta 2000. godine, kada se za novi standard odabire

AES.

Page 14: Osnove kriptografije

Po

glav

lje: O

sno

vni k

rip

togr

afsk

i alg

ori

tmi

14

5.3. ASIMETRIČNA KRIPTOGRAFIJA

Utemeljitelji asimetrične kriptografije su W. Diffie i E. Hellman koji su 1976. godine

opisali ideju kriptografije koja se temelji na dva ključa, privatnom i javnom ključu. Razlika

simetričnih i asimetričnih algoritama je u tome što simetrični algoritmi koriste isti ključ za

kriptovanje i dekriptovanje, dok asimetrični algoritmi koriste različite ključeve za kriptovanje

i dekriptovanje. Informacije kriptovane javnim ključem mogu se dekriptovati samo privatnim

ključem, odnosno to može samo osoba koja je vlasnik tajnog asimetričnog ključa. Osim toga

kriptovanje javnim a dekriptovanje tajnim ključem, pokazalo se takoĎe kao odlično svojstvo i

omogućava digitalno potpisivanje informacija gdje potpis može biti proveren javnim ključem

od bilo koga. Ključevi trebaju biti povezani jednosmernom funkcijom. Odnosno ne sme se

moći izračunati privatni ključ iz javnog ključa ili se barem ne sme izračunati u razumnom

vremenu.

Asimetrični kriptosistemi zasnivaju se na odreĎenim svojstvima brojeva koji spadaju

u teoriju brojeva. Pri kriptovanju se razumljiv tekst kodira kao niz prirodnih brojeva koji se

odabranom funkcijom kriptovanja i ključem kriptovanja Ke preračunavaju u niz brojeva

kriptovanog teksta. Funkcija kriptovanja mora biti takva da iz niza brojeva kriptovanog teksta

napadač samo s velikim naporima može odrediti izvorni niz brojeva. MeĎutim, poznavajući

ključ dekriptovanja Kd omogućuje lako izračunavanje izvornog niza brojeva. Asimetrično

kriptovanje, slika dole, predstavlja složeniji vid zaštite podataka. Za njegovu realizaciju

potrebna su nam dva ključa kod svakog od sagovornika. Jedan ključ je dostupan svima preko

javnih kataloga ili imenika, te se zbog te osobine i naziva javni ključ. Drugi ključ poznat je

samo vlasniku i naziva se tajnim. Iako su različiti, ključevi su meĎusobno povezani

odreĎenim transformacijama.

Ako ponovo pogledamo prethodni primer, sada je situacija bitno drukčija:Pero šifrira

poruku Ani upotrebom njenog javnog ključa koji je svima dostupan. Mogao ga je dobiti

putem email-a, preuzeti sa njenog Web sajta i sl. Bilo ko ko presretne ovu komunikaciju i

Page 15: Osnove kriptografije

Po

glav

lje: O

sno

vni k

rip

togr

afsk

i alg

ori

tmi

15

pored toga što poznaje Anin javni ključ nemože otkriti sadržaj poruke. Poruku može

dešifrovati samo Ana korišćenjem svog tajnog ključa. Na ovaj način poruka je zaštićena od

trećeg lica koji je prilikom presretanja šifrirane poruke onemogućen u njenom dešifrovanju

jer mu je za to poreban ključ kojeg strogo u tajnosti čuva ciljni sagovornik. Glavne mane

ovog kriptovanja su njegova sporost i neprikladnost za šifrovanje velikih količina podataka.

Često korišćeni asimetrični algoritmi: RSA (Rivest-Shamir-Adleman), Diffie-

Hellman, i ostali: ElGamal, Rabin, Eliptic Curves. Ovaj sistem predstavlja rešenje za prva

dva uslova koja smo na početku ovog teksta postavili - zaštitu tajnosti informacija i očuvanje

njihovog integriteta. Ostaje otvoreno pitanje kako da Ana bude sigurna da je poruku koju je

primila uistinu poslao Pero. Osiguravanje autentičnosti informacija tj. definisanje i provera

identiteta pošiljaoca postiže se upotrebom digitalnih potpisa i digitalnih sertifikata.

5.3.1. DIGITALNI POTPIS

Tehnologija digitalnog potpisa takoĎe koristi tehniku asimetričnog kriptovanja. Dakle,

pošiljaoc i primaoc imaju par ključeva od kojih je jedan tajni, a drugi svima dostupan javni

ključ. Klučevi predstavljaju matematičke algoritme koje je izdalo sertifikacijsko telo. .

Svrha digitalnog potpisa je da potvrdi autentičnost sadržaja poruke ili integritet

podataka (dokaz da poruka nije promenjena na putu od pošiljaoca do primaoca ), kao i da

osigura garanciju identiteta pošiljaoca poruke. Osnovu digitalnog potpisa čini sadržaj same

poruke. Pošiljaoc primenom odreĎenih kriptografskih algoritama prvo od svoje poruke koja

je proizvoljne dužine stvara zapis fiksne dužine (pr. 512 ili 1024 bita) koji u potpunosti

oslikava sadržaj poruke.To prakticno znači da svaka promena u sadržaju poruke dovodi do

promene potpisa. Ovako dobijen zapis on dalje šifrira svojim tajnim ključem i tako formira

digitalni potpis koji se šalje zajedno porukom.

Da vidimo kako to funkcioniše na našem primeru. Pero kreira digitalni potpis na

osnovu poruke koju želi da pošalje Ani. Šifrira ga svojim tajnim ključem i šalje zajedno sa

porukom. Ana po prijemu poruke dešifruje Perin potpis njegovim javnim ključem. Zatim

Page 16: Osnove kriptografije

Po

glav

lje: O

sno

vni k

rip

togr

afsk

i alg

ori

tmi

16

primenom istog postupka kao i Pero i ona kreira potpis na osnovu poruke koju je primila i

uporeĎuje ga sa primljenim potpisom. Ako su potpisi identični, može biti sigurna da je

poruku zaista poslao Pero (jer je njegovim javnim ključem uspešno dešifrovala potpis) i da je

ona stigla do nje nepromenjena (jer je utvrdila da su potpisi identični). I pored velike

sigurnosti koje pruža ova metoda zaštite, i dalje postoji mogućnost prevare. Neko je mogao

poslati Ani svoj javni ključ tvrdeći da je Perin, a zatim joj slati poruke za koje bi ona mislila

da ih šalje Pero. Rešenje ovog problema pruža upotreba digitalnih sertifikata.

5.3.2. DIGITALNI SERTIFIKATI

Ako koristite sistem šifrovanja javnim ključem i želite da nekom pošaljete poruku,

morate prvo dobiti njegov javni ključ. MeĎutim, kako možete biti sigurni da je to zaista

njegov ključ? Rešenje ovog problema postiže se upotrebom Digitalnih sertifikata. Možemo ih

nazvati i digitalnom ličnom kartom, jer oni stvarno to i jesu - digitalna lična karta u syber

prostoru, sredstvo kojim ćete vi ili osoba sa kojom komunicirate dokazati identitet na

Internetu. Pošto na Internetu nema policije koja bi proverila vaše podatke i izdala vam ličnu

kartu, pojavile su se kompanije koje imaju ulogu „treće strane‟, CA(Certificate Authority) čija

je uloga da provere i utvrde nečiji identitet i nakon toga mu izdaju digitalni sertifikat.

Kako to funkcioniše u praksi, npr. Pero podnosi zahtev za izdavanje sertifikata CA

kompaniji. CA provjerava njegov identitet na osnovu ličnih dokumenata koje im je prikazao

pri podnošenju zahteva. Ako je sve u redu Pero im prosleĎuje svoj javni ključ za koji CA

kreira digitalni potpis i nakon toga izdaje sertifikat kojim se potvrĎuje da taj javni ključ zaista

pripada Peri. Ako Pero kasnije želi da komunicira sa nekim, pri prvom kontaktu mu šalje

digitalni sertifikat i svoj javni ključ. S obzirom da svi poznatiji komunikacijski programi u

sebi već imaju uključene javne ključeve, CA kompanija kojima se veruje, primaoc po prijemu

ove poruke lako utvrĎuje validnost Perinog sertifikata. Ovde je opisan samo jedan deo

primene digitalnih sertifikata.

Ako želite da na vašoj Web prodavnici omogućite kupcima plaćanje kreditnim

karticama ili prodaju i pružanje poverljivih informacija, vaš Web server ( server na kome se

nalazi vaša prezentacija ) mora imati mogućnosti da radi kao Secure Web server. Neophodan

uslov za sve ovo je da zatražite i dobijete digitalni sertifikat za vaš server od nekog CA.

Digitalni sertifikat vašeg servera izdat od strane CA mora da sadrži sljedeće:

• Naziv vaše organizacije

• Dodatne podatke za identifikaciju

• Vaš javni ključ

• Datum do koga važi vaš javni ključ

• Ime CA koji je izdao digitalni sertifikat

• Jedinstveni serijski broj

Svi ovi podaci formiraju sertifikat koji se na kraju šifrira koristeći tajni ključ CA. Ako

korisnik ima povjerenja u CA i ima CA javni ključ, može biti siguran u ispravnost sertifikata.

Velika je verojatnost da Web browser koji korisnik poseduje i već sadrži javni ključ CA jer

su Netscape i Microsoft procenili kojim se CA može najviše verovati, pa su njihove javne

ključeve uključili u svoje browsere. Najčešće korišćeni standard za digitalne sertifikate je

X.509.

Page 17: Osnove kriptografije

Po

glav

lje: O

sno

vni k

rip

togr

afsk

i alg

ori

tmi

17

5.4. ASIMETRIČNI ALGORITM I

5.4.1. RSA ALGORITAM

Pod pojmom algoritma podrazumevamo precizno opisan postupak za rešavanje nekog

problema. Obicno je to spisak uputstava ili skup pravila kojima je, korak po korak, opisan

postupak za rešavanje zadatog problema. Svaki korak algoritma odnosno svako upustvo iz

spiska mora da bude definisana operacija. Algoritmi moraju da budu nedvosmisleni i da se

završavaju u konačnom broju koraka. RSA algoritam jedan od najkorišćenijih asimetričnih

algoritama danas.

RSA je skraćenica koja je nastala od prezimena njegovih tvoraca: Rona Rivesta, Adi

Shamira i Leonarda Adlemana. Svetlost dana ugledao je davne 1977. godine. U RSA

algoritmu ključnu ulogu imaju veliki prosti brojevi. To su, kao što znamo, brojevi koji su

deljivi samo samim sobom i jedinicom. Prosti brojevi (P i Q) u ovom algoritmu služe za

generisanje javnog i tajnog ključa i to preko sledećih jednostavnih formula:

Kjavni = P * Q

Ktajni = (2 * (P - 1) * (Q - 1) + 1) / 3

Algoritam kodiranja i dekodiranja sastoji se iz dve formule.

Kodiranje:

Mkodirano = (Mizvorno ^ 3) mod Kjavni

Dekodiranje:

Mizvorno = (Mkodirano ^ Ktajni) mod Kjavni

Na primer, hocemo da kodiramo reč "MAJA".

Ona u ASCII formi glasi: 77 65 74 65 (M = 77; A = 65; J = 74; A = 65).

Kao dva prosta broja mozemo uzeti, recimo P = 9839 i Q = 22391. U tom slucaju kljucevi

koji ce se koristiti bice:

Kjavni = 220305049 i

Ktajni = 146848547.

Sada primenimo formule za kodiranje (koristeći samo javni ključ):

(77657465 ^ 3) mod 220305049 = 162621874

Primalac će primeniti formulu za dekodiranje (koristeći i javni i tajni ključ):

(162621874 ^ 146848547) mod 220305049 = 77657465

Ono sto je pohvalno za ovaj algoritam je njegova jednostavnost, ali i sigurnost. U

sledećoj tabeli dato je vreme u odnosu na dužinu ključa potrebno da kompjuter brzine 117

MIPS iz javnog ključa izračuna tajni ključ (na primer, Pentium I kompjuter ima oko 150

MIPS-a).

Za enkripciju fajlova koriste se ključevi veličine 1024, 2048 ili 4096 bita. Dužina

ključa u bitovima i potrebno vreme:

50 - 3.9 h

100 - 74 god

150 - 10^6 god

200 - 3,8 * 10^9 god

Page 18: Osnove kriptografije

Po

glav

lje: K

rip

toan

aliz

a

18

5.4.2. PGP (PRETTY GOOD PRIVACY)

PGP je hibridni sistem za enkripciju, jer kombinuje i simetričnu i asimetričnu

enkripciju. Podaci se pre šifrovanja pakuju, ako je moguće. Ovo je korisno iz dva razloga.

Prvi je manja količina podataka za prenos. Drugi je dodatna sigurnost, jer se pakovanjem

eliminiše pojavljivanje sličnih delova u izvornoj datoteci. Mnoge tehnike kriptoanalize

iskorišćavaju baš te slične delove da bi probile zaštitu. Naravno, fajlovi koji su ili prekratki za

pakovanje ili se ne mogu spakovati dovoljno, ostavljaju se u izvornom obliku. Posle

pakovanja, PGP pravi privremeni kljuc, odnosno slucajan broj koji se generiše korisnikovim

pokretima miša i pritiskanjem tastera, jer su i oni takoĎe slučajni.

Ovaj ključ ima jednokratnu upotrebu, jer se koristi da bi se podaci šifrovali

simetričnom enkripcijom. PGP zatim šifruje samo privremeni ključ asimetričnom

enkripcijom i pridružuje šifrovanim podacima. Dešifrovanje se vrši suprotnim procesom.

Prvo PGP pomoću tajnog ključa dešifruje privremeni ključ, a njim se onda dalje dešifruju

podaci.

5.4.2.1. ZASTO PGP KORISTI HIBRIDNU ENKRIPCIJU?

Razlog je jednostavan: simetrična enkripcija je oko hiljadu puta brža od asimetrične,

ali kod simetrične enkripcije postoji problem prenosa ključa (ako se presretne ključ, podaci se

mogu dešifrovati). Kada se ukombinuju ova dva načina enkripcije, dobija se željeni efekat:

brza enkripcija sa sigurnim prenosom ključa. Ključ se, dakle, prenosi, ali šifrovan tako da ga

samo osoba koja ima tajni ključ moze dešifrovati.

Posto PGP koristi asimetričnu enkripciju, to znaci da ima mogućnost digitalnog

potpisivanja dokumenata, uz jednu razliku. Umesto da se ceo dokument šifruje tajnim

ključem i od njega generiše potpis, to se radi samo na kontrolnom kodu dokumenta (veoma

slicno CRC-u). Bilo kakva promena na dokumentu rezultuje promenom u kontrolnom kodu,

samim tim potpis više nije vazeći, a vi znate da je u pitanju falsifikat. Time se izbegava

dupliranje dužine dokumenta, jer se potpis ne generiše od celog dokumenta.

6. KRIPTOANALIZA

Kriptoanaliza upravo je suprotno od kriptografije. To je nauka koja se bavi

razbijanjem šifri, dekodiranjem, zaobilaženjem sistema autentifikacije, uopšte provaljivanjem

kriptografskih protokola. Znači kriptoanaliza je naučna disciplina koja proučava postupke

otkrivanja otvorenog teksta bez poznavanja ključa, te postupke otkrivanja ključa uz

poznavanje otvorenih i/ili kriptiranih tekstova, ili uz poznavanje nekih informacija o

otvorenim i/ili kriptiranim tekstovima. Razlicite tehnike kriptoanalize nazivaju se napadi.

Napadi na sigurnost se mogu razdvojiti u pasivne i aktivne napade. Pasivnim

napadom se samo prisluškuje poslana poruka. Pasivni napad je puno teže detektovati nego

aktivni napad. Aktivni napad uključuje menjanje poruke, maskiranje, ponovno slanje i DoS

('Denial of Service') napade.

6.1. Vrste napada

· Napad poznatim šifriraniim tekstom: ovaj napad je najteži. Kriptoanalitičar poznaje

samo algoritam kriptovanja i kriptovane tekstove.

Page 19: Osnove kriptografije

Po

glav

lje: K

rip

toan

aliz

a

19

· Napad poznatim otvorenim tekstom: zadani kriptovani tekst kriptoanalitičar poznaje

odgovarajući otvoreni tekst ili njegov deo. Kriptoanalitičar zna algoritam i 1 do N otvorenih i

kriptovanih tekstova, ali ne zna ključ.

·Napad odabranim otvorenim tekstom: kriptoanalitičar bira otvoreni tekst i kriptuje

ga. Ovaj napad omogućuje pronalaženje slabosti u algoritmu. Kriptoanalitičar zna algoritam,

kriptovani tekst i 1 do N odabranih parova otvorenih i kriptovanih tekstova, ali ne zna ključ.

· Napad odabranim kripovranim tekstom: kriptoanalitičar može odabrati kriptirani

tekst i na neki način ga dekriptovati i dobiti otvoreni tekst. TakoĎe može odabrati neki

otvoreni tekst po svojoj želji. Kriptoanalitičar zna algoritam, kriptirani tekst i 1 do N

navodnih kriptovanih tekstova sa otvorenim tekstovima, ali ne zna ključ.

· Adaptivan napad odabranim otvorenim tekstom: kriptoanalitičar koristi napad

odabranim otvorenim tekstom. Rezultati napada se koriste za biranje nekog drugog otvorenog

teksta. Ovim načinom moguće je unaprediti napad. Ovaj napad poznat je pod nazivom

"diferencijalna kriptoanaliza". Kriptoanalitičaru je poznat algoritam, kriptovani tekst,

odabrani otvoreni tekst sa kriptovanim tekstom, te odabrani kriptovani tekst sa otvorenim

tekstom.

· Birthday attack: ovaj napad je dobio ime po paradoksu roĎendana.

· Meet in the Middle: napad je sličan birthday napadu, osim što kriptoanalitičar može

proveriti središte izmeĎu dva skupa, a ne mora čekati pojavljivanje vrednosti dvaput u

jednom skupu.

· Napad korišćenjem srodnih ključeva: u ovom napadu pretpostavlja seznanje o

odnosu izmeĎu ključeva u dva različita kriptovanja. Napad može otkriti slabosti u postupku

generiranja podključeva.

· Delimično znanje o ključu: napadač poseduje delimično znanje o tajnom kljluču

(npr. zbog “rupe” u postupku generisanja podključeva). U dobrim kriptosastavima, delimično

znanje o ključu ne bi trebalo olakšati pronalaženje ostatka ključa. Ako nije tako, lakše je

izvesti iscrpno pretraživanje. Prema količini i kvalitetu otkrivenih tajnih informacija može se

klasifikovati uspeh kriptoanalize:

1. Potpuno probijanje ("Total break") - napadač otkriva ključ.

2. Globalna dedukcija ("Global deduction") - napadač otkriva funkcijski ekvivalent algoritma

za kriptovanje i dekriptovanje, ali ne nalazi ključ.

3. Lokalna dedukcija ("Instance (local) deduction") - napadač otkriva dodatne otvorene

tekstove (ili kriptovane tekstove), nepoznate od pre.

4. Informacijska dedukcija ("Information deduction") - napadač dobija Shannon-ove

informacije o otvorenim tekstovima (ili kriptovane tekstovima), nepoznatih od pre.

5. Algoritam koji omogućuje razlikovanje ("Distinguishing algorithm") -napadač može

razlikovati kriptovane tekst od slučajne permutacije.

Page 20: Osnove kriptografije

Po

glav

lje: B

ud

udn

ost

kri

pto

graf

ije

20

6.2. OSNOVNA PRAVILA ZASTITE

Skoro svi programi za enkripciju umesto brojeva kao ključa, koriste niz slova i

brojeva, tj. lozinku. Svi ovi algoritmi su u velikom stepenu sigurni, bilo da se radi o

simetričnim ili asimetričnim, ali postoji šansa da se lozinka otkrije ako se ne pridržavamo

nekih pravila pri njenoj izradi.

Idealna kombinacija zaštite je kombinacija hardver-softver i pridržavanje dole

navedenog pravila o više niza slučajnih slova i brojeva prilikom smišljanja lozinke. Evo

nekoliko pravila kojih bi trebalo da se pridržavamo prilikom smišljanja lozinke:

· Idealno je da se za lozinku uzme niz slučajnih slova i brojeva. Pri tom bi trebalo da

se koristi više od jednog niza slučajnih slova i brojeva. Ovakve lozinke mnogi izbegavaju jer

ih smatraju teškim za pamcenje i upotrebljavaju reči iz svakodnevnog govora. U tom slucaju

potrebno je pridržavati se sledećih pravila:

· Ne koristiti reči koje se lako mogu pogoditi: na primer, godinu roĎenja, devojačko

prezime supruge (ili svoje, ako je u pitanju korisnik ženskog pola) , ime deteta, supružnika,

roditelja, bliskog roĎaka, psa/macke/kanarinca ili nekog drugog kucnog ljubimca itd.

· Trebalo bi koristiti više od jedne reči. Izbegavajte upotrebu reči iz rečnika u

neizmenjenom obliku. Korisno je upotrebiti barem kombinaciju jedne reči sa nekim brojem.

· Budite inventivni. Najbolja lozinka moze biti deo citata iz neke knjige ili neka

besmislena rečenica.

7. BUDUĆNOST KRIPTOGRAF IJE

Kvantna i DNK kriptografija će možda u nekoj skorijoj budućnosti predstavljati

osnov za zaštitu poverljivih dokumenata. Kvantna kriptografija nastala je kao posledica

otkrića u oblasti kvantnog računarstva. Ona se zasniva na jednom od osnovnih principa

kvantne fizike: Hajzenbergovom principu neodreĎenosti. Jedan od tvoraca RSA algoritma,

Leonard Ejdlman, došao je na ideju korišćenja DNK kao računara. On je pretpostavio da se

DNK može posmatrati kao računar ogromne snage sposobne za paralelno izvršavanje

operacija. Time se brzina izvršavanja eksponencijalno povećava u odnosu na obične

računare.

Page 21: Osnove kriptografije

Po

glav

lje: Z

aklju

čak

21

8. ZAKLJUČAK

Kada su se pojavile računarske mreže, nije se mnogo vodilo računa o njihovoj

sigurnosti, jer su se tada uglavnom koristile za razmenu elektronske pošte izmeĎu istraživača

sa raznih univerziteta ili za štampanje dokumenata u kompanijama koje su posedovale više

računara koji su preko mreže bili povezani na jedan zajednički štampač.

Danas, kada su računarske mreže dostupne svakome, njihovoj sigurnosti se posvećuje

velika pažnja. Da nije toga, u današnje vreme se ne bi moglo kupovati preko mreže niti

obavljati razne bankarske transakcije. Veliki je broj ljudi koji na razne načine pokušavaju da

naruše sigurnost mreža, želeći time da naude drugim ljudima i da prvenstveno steknu neku

korist od toga. Oni pokušavaju da čitaju ili da menjaju sadržaj poruka dostupnih preko mreže,

iako nisu ovlašćeni za to. Tako, na primer:

- učenik ili student će, čitajući tuĎe e-mail poruke, sebi prekratiti vreme,

- haker će testirati nečiji sigurnosni sistem pokušavajući da mu ukrade podatke,

- poslovni ljudi će pokušati da otkriju planove konkurentne kompanije,

- otpušteni radnik će probati da se poslodavcu osveti zbog otpuštanja,

- računovoĎa će proneveriti novac od kompanije,

- lopov će pokušati da ukrade broj tuĎe kreditne kartice da bi pomoću nje kupovao,

- špijun će pokušati da sazna sa kakvom vojnom silom raspolaže neprijatelj

Svi ovi primeri ukazuju na to da je neophodno stvoriti inteligentne mehanizme koji će

računarsku mrežu učiniti sigurnom. Zadovoljavajući rezultati su postignuti upotrebom raznih

algoritama šifrovanja, kojima se podaci maskiraju i tako bivaju osigurani za prenos.

Korišćenjem protokola za autentifikaciju, osigurava se sigurna komunikacija izmeĎu dve

strane. Osim toga, pojavom digitalnih potpisa i SSL protokola omogućeno je da se razne

bankarske transakcije i razmena dokumenata od velike važnosti obavljaju na siguran način.

9. LITERATURA

1. A. Dujella, M. Maretić: Kriptografija, Element, Zagreb, 2007.

2. Operacijski sastavi 2: Radovi studenata iz područja računarske sigurnosti, Fakultet

elektrotehnike i računarstva, Zagreb. http://os2.zemris.fer.hr

3. Glavna stranica gde možete naći gotovo sve o Pretty Good Privacy http://www.pgpi.org/

4. J. J. Savard: A Cryptographic Compendium, http://www.quadibloc.com/crypto/intro.htm

5. RSA Laboratories: Frequently Asked Questions About Today's Cryptography,

http://www.rsasecurity.com/rsalabs/faq/

6. D. Pleskonjić, N. Maček, B. Đorđević, M. Carić, Sigurnost računarskih sistema i mreža,

Mikro knjiga, Beograd, 2007.

7. NIST: AES Round 2 Information,

http://csrc.nist.gov/CryptoToolkit/aes/round2/round2.htm

8. D. Müller: Ars Cryptographica, http://www.apprendre-en-ligne.net/crypto/menu/

9. Wikipedia: Cryptography, http://en.wikipedia.org/wiki/Category:Cryptography

10. http://web.math.hr/~duje/kript.html