dužina kriptografskog ključa
DESCRIPTION
Dobar seminarski rad iz kriptografije na temu duzine kriptografskog kljucaTRANSCRIPT
0
DRŽAVNI UNIVERZITET U NOVOM PAZARU
DEPARTMAN ZA MATEMATIČKE NAUKE
STUDIJSKI PROGRAM MATEMATIKA
Seminarski rad
Dužina ključa i tajnost
Mentor: Studenti:
Prof. Ivan Đokić Elmedina Bogućanin
Aida Mušović
Zlatko Mehonjić
Novi Pazar, 2013
1
Sadržaj
1. Uvod .................................................................................................................................................. 3
2. Pregled osnovnih kriptografskih pojmova .......................................................................................... 5
2.1 Sigurnosni komunikacijski kanal .................................................................................................. 5
2.2 Kriptografija ................................................................................................................................ 6
2.3 Kriptoanaliza................................................................................................................................ 7
2.4 Kriptologija .................................................................................................................................. 7
2.5 Algoritam ..................................................................................................................................... 7
2.6 Ključ ............................................................................................................................................ 8
3. Vrste napada i zaštita podataka na mreži ............................................................................................ 9
4. Vrste moderne kriptografije ............................................................................................................. 12
4.1 Simetrična kriptografija .............................................................................................................. 12
4.2 Asimetrična kriptografija ........................................................................................................... 15
4.3 Savršena sigurnost...................................................................................................................... 18
4.4 Jaki ključ .................................................................................................................................... 18
4.5 Jednokratni blok ......................................................................................................................... 18
5. Dužina simetričnog ključa ................................................................................................................ 21
5.1 Procene trajanja i cene napada grubom silom ............................................................................. 22
5.2 Softverski alati za razbijanje protokola ....................................................................................... 25
5.3 Neuronske mreže ....................................................................................................................... 26
5.4 Virusi ......................................................................................................................................... 26
5.5 Kineska lutrija ............................................................................................................................ 28
2
5.6 Biotehnologija ............................................................................................................................ 29
5.7 Termodinamička ograničenja ..................................................................................................... 30
6. Dužina ključeva za algoritme sa javnim ključem .............................................................................. 32
6.1 Neke slabosti algoritma javnog ključa ........................................................................................ 32
6.2 Neka predviđanja vezana za algoritam javnog ključa .................................................................. 33
6.3 DNK izračunavanje .................................................................................................................... 39
6.4 Kvantno izračunavanje ............................................................................................................... 41
7. Upoređivanje dužina ključeva simetričnih algoritama i algoritama s javnim ključem........................ 42
8. Rođendanski napadi na jednosmerne heš funkcije ............................................................................ 43
9. Koliko dugačak treba da bude ključ? ................................................................................................ 44
10. ZAKLJUČAK ................................................................................................................................ 46
Literatura ............................................................................................................................................. 48
3
1. Uvod
Dobri kriptografski sistemi bazirani su na algoritmima koji su otvorenog tipa, dostupni svima. Ako
poznajemo algoritam možemo sebi da priuštimo testiranje i na taj način odlučimo da li je taj sigurnosni
sistem dostojan naše velike tajne, odnosno da li ćemo ga koristiti ili ne. Ako zaključimo da je algori-
tam jak i da ne postoje sigurnosne rupe u njemu, te ako je algoritam dizajniran tako da se samo
pomoću ključa dolazi do originalne poruke tada smo sigurni da čuvanjem tog tajnog ključa čuvamo i
tajnu od uljeza. Jedina mana takvog sistema postaje mogućnost isprobavanja svih kombinacija ključa, i
na taj način dolaženja do onog pravog.
Temelji takvog načina razmišljanja mogu se pripisati matematičaru i naučniku Claude Elwood
Shannon-u. Uzimajući u obzir šest Kerckhoffs principa Shannon potvrđuje tezu da je ključ suština si-
gurnosti, stoga možemo i mi zaključiti da se u današnje doba, uz sve snažnije računare i Internet, os-
lanjamo samo na dužinu ključa. Da je dužina bitna potvrnuje činjenica da je DES koji je koristio 56-
bitni ključ i imao 72 057 594 037 927 936 mogućnosti probijen 1999. godine za 22 sata (100 000 rač-
unara umreženo Internetom). DES kao standard zamenjen je AES sistemom koji koristi 256 bitova za
pohranjivanje ključa. Koliko će trajati AES?!
Cilj ovog seminarskog rada je upravo da pokuša da odgovori na pitanje koliko treba da bude
dugačak ključ da bi garantovao tajnost podataka koje treba zaštititi, a da opet ne oduzima previše vre-
mena i računarskog prostora, kako bi njegovo korišćenje bilo isplativo.
Biće reči o kriptologiji, njenim dvema granama kriptografiji i kriptoanalizi, različitim načinima
šifrovanja podataka, od vremena starih Spartanaca, pa sve do simetričnih i asimetričnih algoritama
današnjice. Biće potanko razjašnjene prednosti i mane sistema javnog i tajnog ključa, a sve u cilju od-
govora na najvažnije pitanje: kolika je optimalna dužina ključa u modernom informatičkom društvu?
4
Naravno, to je pitanje ne od milion, već od billion dolara, i bilo bi prepotentno reći i očekivati da će
troje studenata potpuno odgovoriti na njega (što se više ulazi u problematiku, sve se više čini da je na
to pitanje nemoguće dati pouzdan odgovor), ali se može reći da će izneti svoje viđenje vezano za prob-
lematiku dužine ključa.
Od 1948. godine i Shannonove "The Mathematical theory of communication" prošlo je svega 65
godina, a svet je promenio svoju suštinu, i od društva u kome postoji tehnologija i koristi se, ali malo
utiče na život običnog čoveka, postao zaista pravo informatičko društvo u kome ljudi provode u prose-
ku 17 % svog vremena gledajući u ekran, i koji bi se radije odrekli vereničkog prstena nego smatfona
ili laptopa, pa čak i sa svojim ukućanima u kući lakše komuniciraju mobilnim telefonom ili preko
društvenih mreža nego lično [1].
Ko bi tako nešto mogao da zamisli pre samo pola veka? Isto tako bi bilo neozbiljno prognozirati
razvoj informatičkog društva u narednih pola veka, ali zarad samog razvoja tog istog društva potrebno
je vršiti neke predikcije. Ovaj rad je upravo pokušaj jedne takve predikcije, zasnovane na istoriji i
čuvenoj izreci Franklin D. Roosevelt – a „Istorija se ponavlja, ali svaki put sve više košta“, u smislu da
ne treba čekati da se istorija ponovi, već je treba pokušati predvideti.
5
2. Pregled osnovnih kriptografskih pojmova
2.1 Sigurnosni komunikacijski kanal
Sigurnosni komunikacijski kanal (secrecy system) služi korisnicima kanala za siguran prenos in-
formacije. U osnovnom modelu komunikacijskog kanala uzima se u obzir da uvek postoji uljez,
neželjena osoba, koji prisluškuje kanal. Stoga je potrebno izvornu poruku šifrovati kako bi informacija
bila sakrivena od uljeza.
1949. godine C. Shannon opisuje jedan takav model i postavlja teoriju savršenog sigurnosnog sis-
tema [2]. Shannon ne pridaje veliku pažnju algoritmu za šifrovanje već tvrdi da se sva sigurnost siste-
ma nalazi u tajnom ključu ili njegovoj dužini. U njegovom osnovnom modelu (Slika 1) vidimo da se
izvorna poruka kriptuje pomoću neke funkcije F uz postojanje ključa K. Za dobijanje izvorne poruke
iz šifrovane poruke smatra se da je potrebna ista ta funkcija ali inverznog tipa. Ukoliko neko
prisluškuje komunikacijski kanal, prima samo šifrovanu poruku, jer je jedino ona poslata preko otvo-
renog kanala, tako da je tajnost komunikacije očuvana. Po Shannonu ključ se ne prenosi komunika-
cijskim kanalom, već se smatra da je ključ nešto što treba da bude poznato samo primaocu i pošiljaocu
poruke. Navedeni model smatra se osnovnim modelom sigurnosnog komunikacijskog kanala.
6
Slika 1 Dijagram sigurnosnog komunikacijskog kanala (C. Shannon model)
Originalna poruka koju će pošiljalac slati u daljem tekstu nazivaće se originalna ili izvorna poru-
ka ili samo poruka (plain text). Zatim, kodiranje poruke tj. postupak pretvaranja originala u nečitljiv
oblik biće nazvan šifrovanje ili enkripcija (encrypt). Poruka koja se šalje kkanalom u šifrovanom ob-
liku biće nazvana šifrovana poruka ili šifrat (cypher). Postupak dekodiranja poruke, tj. vraćanja po-
ruke iz njenog šifriranog oblika u originalni oblik naziva se dešifrovanje (decrypt). Osoba koja na bilo
koji način prisluškuje komunikacijski kanal i dolazi do dela ili cele šifrovane poruke nazivamo uljez ili
napadač (enemy cryptanalyst).
2.2 Kriptografija
Kriptografija (cryptography) je nauka (ili umetnost) šifrovanja informacije ili nauka čuvanja in-
formacija u onoj formi koja će biti čitljiva samo onima kojima je informacija namenjena dok će za os-
tale biti neupotrebljiva. Paralelno sa razvojem kriptografije razvila se i nauka kojoj je cilj analizom
šifrovane poruke odgonetnuti njen sadržaj. Ta nauka se naziva kriptoanaliza (cryptanalysis).
7
2.3 Kriptoanaliza
Kriptoanaliza upravo je suprotno od kriptografije. To je nauka koja se bavi razbijanjem šifara, de-
kodiranjem, zaobilaženjem sistema autentifikacije, uopšte provaljivanjem kriptografskih protokola.
Dakle, kriptoanaliza je naučna disciplina koja proučava postupke otkrivanja originalnog teksta bez
poznavanja ključa, te postupke otkrivanja ključa uz poznavanje otvorenih i šifrovanih tekstova, ili uz
poznavanje nekih informacija o otvorenim šifrovanim tekstovima [3].
2.4 Kriptologija
Pored gore navedenog, spomenimo jednu bitnu razliku izmenu termina kriptografija i termina krip-
tologija (cryptology). Kriptografija je nauka koja se bavi svim aspektima sigurnosnog prenosa poda-
taka kao što su na primer autentifikacija (web, lokalne mreže), digitalni potpisi, razmena novca elek-
tronskim putem. Kriptologija je disciplina kaj se bavi istraživanjem načina tajnog komuniciranja
među ljudima. Uključuje kriptografiju i kriptoanalizu te kombinuje pragmatične metode s
matematičkim metodama. Dostignuća kriptologije implementiraju se u kriptosistemima (cryptosys-
tem).
2.5 Algoritam
Kriptografski algoritam je matematička funkcija koja se koristi u procesu šifrovanja i dešifrovanja
informacije [4]. Takav algoritam "radi" u kombinaciji sa ključem (sled znakova, reč, broj) kako bi se
poruka šifrovala i dešifrovala. Svi današnji algoritmi su poznati javnosti jer se smatra da to pridonosi
sigurnosti samog algoritma.
8
2.6 Ključ
Nekada, pre nego što su računari ušli u široku upotrebu, tj. pre nego su se dovoljno razvila, većina
kriptografskih metoda šifrovanja se bazirala na tajnosti šifre (cypher). No, tako bazirani algoritmi su
se pokazali dosta nepouzdani, jer kad je jednom razbijen algoritam, on se mora menjati, tako da su se
morale pronaći neke druge metode šifrovanja. Današnje metode šifrovanja zasnivaju se na upotrebi
ključa. Ključ je bitna "karika" u šifrovanju poruke jer bez ključa algoritam ne daje rezultat koji se
može pročitati.
Ključ je kao lozinka, tajni podatak koji se koristi za dešifrovanje kodiranih poruka. Kriptograf i
lingvist Dr. Auguste Kerckhoffs (Dr. Auguste Kerckhoffs (1835-1903) – danski lingvista i kriptograf,
autor "šest principa" koji objašnjavaju kako postaviti kriptografski sistem) zadao je 6 principa sigur-
nosti gde spominje da uljez poznaje sistem a Claude Shannon potvrđuje kao Shannon's maxim
(Šenonovu maksimu): "The enemy knows the system".
9
3. Vrste napada i zaštita podataka na mreži
Kako računarske mreže predstavljaju deo informacionog sistema pomoću koga se prenosi najveći
broj podataka, posebnu pažnju treba obratiti upravo na njihovu zaštitu. Podaci u okviru informacionih
sistema se mogu javiti u sledećim oblicima:
• Javni podaci – podaci koji nisu poverljivi i čiji integritet nije važan, može ih koristiti bilo ko bez
ikakvih posledica. Primeri ovakvih podataka su javni servisi za pružanje informacija.
• Interni podaci – pristup ovim podacima je dozvoljen samo za određene grupe korisnika. Javno ob-
javljivanje internih podataka nije dozvoljeno, ali objavljivanje ove vrste podataka nije od kritične
važnosti. Primer su podaci u razvojnim grupama, firmama, radni dokumenti i projekti, interni telefons-
ki imenici.
• Poverljivi podaci – poverljivi podaci unutar određene grupe (kompanije) koji su zaštićeni od
neovlašćenog pristupa. Neivlašćeni pristup ovim podacima može prouzrokovati značajane posledice
kao što su: finansijski gubitak kompanije ili dobitak konkurentskoj kompaniji, smanjenje poverenja
korisnika usluga ili potrošača proizvoda. Primeri ovih informacija su: podaci o platama, podaci o za-
poslenima, projektna dokumentacija, računovodstveni podaci, poverljivi ugovori.
• Tajni podaci – podaci kod kojih je neautorizovan pristup strogo zabranjen. Integritet podataka je
na najvišem nivou. Broj ljudi koji može da pristupi ovim podacima trebalo bi da bude ograničen.
Prilikom pristupa ovim informacijama moraju se poštovati veoma striktna pravila. Primer ovih po-
dataka su: vojni podaci, podaci o većim finansijskim transakcijama, podaci od državnog značaja i
slično. Ova vrsta podataka se treba čuvati u kriptovanom obliku ili u uređajima sa hardverskom
zaštitom [5].
Kada se govori o zaštiti podataka na mreži, uglavnom se misli na zaštitu poverljivih i tajnih podata-
ka koji se prenose putem računarske mreže. Sve masovnija upotreba računarskih mreža iziskuje
korišćenje mehanizama i mera za zaštitu podataka koji se tim putem prenose. Mere za zaštitu podataka
10
uopšte, se zasnivaju na tri principa [6]:
• Prevencija – odnosi se na preduzimanje preventivnih aktivnosti za zaštitu podataka i računarskih
sistema od mogućih napada
• Detekcija – otkrivanje kako je narušena zaštita, kada je narušena i ko je narušio
• Reakcija – preduzimanje aktivnosti koje dovode do restauracije podataka ili do restauracije račun-
arskog sistema
Slika 2. Neke vrste napada na računarske mreže
Zaštita podataka koji se prenose putem računarske mreže zasniva se na sva tri principa, ali je ovaj
rad fokusiran na zaštitu u vidu prevencije. Najveća pretnja podacima koji se prenose putem računarske
mreže javlja se usled slabosti komunikacione opreme pomoću koje se vrši prenos podataka.
Ugrožavanje podataka u računarskim mrežama se odnosi na prisluškivanje, analizu, menjanje, uklan-
janje informacija kao i lažno predstavljanje [7]. Na Slici 2 prikazane su neke od mogućnosti napada na
računarske mreže. Treba napomenuti da do ovih napada može doći na bilo kom mestu prenosa infor-
macija od izvora do odredišta.
11
Svi napadi na podatke koji se prenose mrežom se mogu podeliti u dve grupe [8]:
• Pasivni napadi i
• Aktivni napadi
Pasivni napadi se odnose na sva prisluškivanja i nadgledanja informacija tokom prenosa, bez ikak-
vih izmena. Ovom vrstom napada napadač na relativno jednostavan način dolazi do informacija. Pa-
sivni napadi se teško otkrivaju. Kao najčešće korišćeni mehanizam zaštite od pasivnih napada primen-
juje se kriptovanje podataka koji se prenose putem komunikacionih linija. Kriptovanje podataka se od-
nosi na modifikaciju istih na način da postanu nerazumljivi ili besmisleni za sve one korisnike kojima
nisu namenjeni. Kao takvo, kriptovanje predstavlja najvažniji element zaštite podataka u računarskim
mrežama.
12
4. Vrste moderne kriptografije
Kriptografska zaštita je jedna od mera zaštite podataka koja, oslanjajući se na matematičke metode i
principe, omogućuje razmenu informacija nesigurnim komunikacijskim kanalima na način da sačuva
njihovu tajnost. S obzirom na kriptografske ključeve, modernu kriptografiju delimo na simetričnu
kriptografiju i asimetričnu kriptografiju (kriptografiju javnog ključa)
4.1 Simetrična kriptografija
Osnovna karakteristika simetrične kriptografije je identičnost kriptografskih ključeva koji se koriste
prilikom šifrovanja i dešifrovanja. Simetrična kriptografija seže daleko u prošlost kada su se pojavili
prvi načini kriptografskog prikrivanja podataka. Jedna od prvih poznatih metoda koju su upotrebljavali
Spartanci u 5. veku pre nove ere je skital. Skital je drveni štap određene debljine na koji se namotava-
la traka od pergamenta. Uzdužno, preko namotane trake, napisala bi se poruka, a odmotavanjem per-
gamenta sa štapa tekst bi postajao nečitljiv. Poruku je mogao ispravno pročitati samo onaj ko je pose-
dovao štap debljine odnosno prečnika identičnog originalnom štapu. Na slici 3. prikazan je postupak
šifrovanja pomoću drvenog štapa – skitale.
Slika 3. Skital
13
U ovom primeru kriptografski ključ predstavlja jedinstvena debljina drvenog štapa, skitala, odnos-
no drveni štap tačno određene debljine kojeg je morao imati onaj ko sastavlja i šalje poruku, ali i onaj
ko prima prikrivenu poruku.
Osim skitala jedna od poznatijih simetričnih metoda šifrovanja je i Cezarova metoda. Kod te me-
tode tekst se šifruje na način da se svako slovo originalnog teksta zameni nekim drugim slovom ab-
ecede, a zamensko tj. šifrovano slovo određuje se pomakom između originalne i šifrovane abecede [9].
Na slici 4. prikazane su dve abecede, originalnog i šifrovanog teksta, pomaknute za 3 mesta ulevo.
Broj mesta za koji se pomiče abeceda šifrovanog teksta u odnosu na originalni tekst menjao se od po-
ruke do poruke. Ključ kod ovog načina šifrovanja predstavlja upravo broj mesta za koliko su abeceda
originalnog i šifrovanog teksta pomerene.
Slika 4. Cezarova metoda
Kroz istoriju, kriptografija se sve više razvijala, ali uvek se za šifrovanje i dešifrovanje koristio isti
kriptografski ključ. Jedan od u javnosti možda najpoznatijih i najspominjanijih uređaja za šifrovanje je
nemačka Enigma. Kod nje kriptografski ključ određuje položaj triju prstena koji, ukoliko želimo
uspešno pročitati šifrovanu poruku, i kod šifrovanja i kod dešifrovanja moraju biti identično postavlje-
ni. Na slici 5. je prikaz kriptografskog uređaja Enigma koga su koristile nemačke vojne baze u 2.
svetskom ratu.
14
Slika 5. Enigma
Današnji simetrični kriptografski algoritmi zasnovani su na informatičkoj tehnologiji i koriste krip-
tografske ključeve u digitalnom obliku. Njihova dužina najčešće se kreće od 64 bita (npr. algoritam
DES) do 256 bita (npr. algoritam AES). Na slici 6. je šematski prikaz simetričnog kriptografskog sis-
tema.
Slika 6. Simetrični kriptografski sistem
Kao što je rečeno na početku, a vidljivo je i s prethodne slike, kriptografski ključevi za šifrovanje i
dešifrovanje su identični.
15
Informacije o kriptografskom ključu za šifrovanje/dešifrovanje nužno je zadržati u tajnosti, odnosno
unutar kruga pošiljalaca i primalaca zaštićene poruke. Simetrični kriptografski sistem se zbog toga na-
ziva i sistem sa tajnim ključem. Komunikacijski kanal za razmenu kriptografskih ključeva u izvornom
obliku mora biti siguran, tj. mora onemogućiti trećoj strani da sazna bilo kakvu informaciju o
ključevima. U suprotnom, šifrovanje kompromitovanim ključevima rezultovalo bi kompromitovan-
jem poruka i ne bi imalo nikakvog smisla. Uobičajeno je da se kod simetričnih kriptografskih sistema
potrebni kriptografski ključevi unapred razmene između korisnika. Možda najsigurniji način distribu-
cije je lična dostava istih korisnicima, no u tom slučaju često se pitamo nismo li na takav način mogli
dostaviti i samu poruku. Postoje i druge metode razmene, a jedna od često korišćenih metoda je i raz-
mena simetričnih kriptografskih ključeva pomoću kriptografskih sistema s javnim ključem. Takva or-
ganizacija ne zahteva siguran komunikacijski kanal, jer se i sami ključevi za šifrovanje poruke distri-
buiraju šifrovani, tj. zaštićeni.
4.2 Asimetrična kriptografija
Ideju kriptografskog sistema s javnim ključem prvi su put javno objavili W. Diffie i M. Hellman
1976. godine. Oni su u svom radu ponudili rešenje razmene simetričnih kriptografskih ključeva preko
nesigurnog kanala. Dve godine kasnije, Rivest, Shamir i Adleman objavili su prvi praktično iskoristiv
asimetrični kriptografski sistem nazvan RSA po prvim slovima njegovih autora. Nakon toga došlo je
do značajnog razvoja asimetričnih kriptografskih sistema i moderna kriptografija od tada kreće u sas-
vim drugom smeru. Možemo slobodno reći da su se pojavom asimetrične kriptografije otvorila vrata i
za upotrebu digitalnog potpisa koji je zasnovan na asimetričnom algoritmu.
Osnovna razlika između simetričnih i asimetričnih kriptografskih sistema je u organizaciji kripto-
grafskih ključeva. Dok su kod simetričnih kriptografskih sistema i pošiljalac i primalac zaštićenih po-
ruka čuvali kriptografski ključ u tajnosti, i oba su istim simetričnim ključem mogla i šifrovati i
dešifrovati zaštićene poruke, kod asimetričnih kriptografskih sistema to nije slučaj. Naime, kripto-
grafski ključ za šifrovanje asimetričnim kriptografskim sistemom nije moguće koristiti i za
dešifrovanje prethodno šifrovane poruke te ga stoga nije potrebno štititi [9]. U tom smislu, problem
16
sigurne dostave kriptografskog ključa za šifrovanje u ovom slučaju ne postoji, jer ga je moguće distri-
buirati i nesigurnim komunikacijskim kanalima.
Naime, kod asimetričnih kriptografskih sistema postoje dve vrste kriptografskih ključeva – tzv. jav-
ni i tajni kriptografski ključ. Javni kriptografski ključ koristimo isključivo za šifrovanje, a tajni za
dešifrovanje. Javni i tajni kriptografski ključ čine jedinstveni par, tj. svakom javnom ključu dodeljen je
jedinstveni tajni ključ. U praksi je vrlo teško, gotovo nemoguće, poznavanjem jednog od njih odrediti
drugi.
Korisnik koji želi zaštićeno komunicirati izrađuje za sebe par asimetričnih kriptografskih ključeva.
Tajni kriptografski ključ zadržava kod sebe te na taj način osigurava da niko drugi nema nikakve in-
formacije o istom. Pripadajući javni kriptografski ključ korisnik javno objavljuje svima, ili ga na neki
drugi način dostavlja osobama kojima želi omogućiti šifrovanje njemu namenjenih poruka. Poruke
šifrovane takvim javnim kriptografskim ključem može dešifrovati samo osoba koja poseduje njegov
komplementarni, odnosno tajni kriptografski ključ. Čak ni osoba koja je šifrovala poruku javnim krip-
tografskim ključem nije u mogućnosti istu da dešifruje. Veličina, odnosno dužina, kriptografskih
ključeva kod asimetričnih kriptografskih sistema najčešće se kreće od 256 bita za asimetrične kripto-
grafske sisteme bazirane na eliptičkim krivim do 2048 bita za asimetrične kriptografske sisteme temel-
jene na RSA algoritmu. S današnjim nivoom razvoja informatičke tehnologije i procesorskim moćima
modernih računara navedene dužine kriptografskih ključeva zadovoljavaju sigurnosne potrebe korisni-
ka, bilo da se radi o privatnim osobama ili državnim institucijama. Povećanjem broja matematičkih
operacija koje procesori mogu izvršiti u jedinici vremena, kao i razvojem kvantnih računara, tražiće se
i povećanje dužine ključa, a kako bi se zadržao dosadašnji nivo sigurnosti asimetričnih kriptografskih
sistema. Na slici 7. nalazi se prikaz jednog asimetričnog kriptografskog sistema.
Slika 7. Asimetrični kriptografski sistem
17
Kod simetričnih kriptografskih sistema za svaku zaštićenu vezu (par korisnika) treba izraditi i na si-
guran način razmeniti jedan kriptografski ključ, dok je u slučaju asimetričnog kriptografskog sistema
jednim parom kriptografskih ključeva omogućeno šifrovanje poruka prema korisniku (osobi koja po-
seduje tajni ključ) od strane bilo koga ko poseduje javni ključ. Ako je predmetni javni kriptografski
ključ javno objavljen (npr. na internetu), onda je jednosmerna sigurna komunikacija omogućena
neograničenom broju osoba.
Povećanjem broja korisnika simetričnog kriptografskog sistema koji žele da zaštićeno komuniciraju
nezavisno jedni od drugih, potreban broj kriptografskih ključeva relativno brzo raste (za 5 korisnika
koji žele sigurno komunicirati svaki sa svakim, uz uslov da svaku zaštićenu poruku preostali u grupi
nisu u mogućnosti dešifrovati, treba 10 kriptografskih ključeva; za 20 korisnika broj potrebnih kripto-
grafskih ključeva penje se na čak 190) [9]. U slučaju asimetričnog kriptografskog sistema broj parova
ključeva jednak je broju korisnika (za 5 korisnika, potrebno je 5 parova ključeva, a za 20 korisnika 20
parova ključeva).
Iz ovoga je vidljivo da je broj kriptografskih ključeva koje je potrebno razmeniti između korisnika
koji žele zaštićeno komunicirati asimetričnim kriptografskim sistemom bitno smanjen u odnosu na
simetrične kriptografske sisteme.
Lako je uočiti da upravljanje kriptografskim ključevima kod simetričnih kriptografskih sistema
predstavlja veliki problem. S druge strane njihova prednost je brzina šifrovanja koja je u odnosu na
asimetrične kriptografske sisteme od sto do hiljadu puta veća. Povećanjem broja bitova ključa kod
asimetričnih kriptografskih ključeva znatno se usporava vrijeme potrebno za postupak šifrovanja i
dešifrovanja. Iz tog razloga je sa asimetričnim kriptografskim sistemima nemoguće izvesti linijsko ili
„on-line“ šifrovanje, odnosno šifrovanje podataka u realnom vremenu. Za to se još uvek koriste
simetrični kriptografski sistemi koji se s takvim izazovima trenutno mogu vrlo uspešno nositi.
18
4.3 Savršena sigurnost
Videli smo da napad grubom silom jedini donosi rezultat kod probijanja šifre. C. Shannon uzima u
obzir da je napadač ograničen sa vremenom jer dok on pokušava pronaći ključ tada korisnici sigurnos-
nog sistema mogu promeniti ključ. Skoro svi programi za šifrovanje umesto brojeva kao ključa, koriste
niz slova i brojeva, tj. lozinku. Svi ovi algoritmi većinom su 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.
4.4 Jaki ključ
Često su korisnici sigurnosnog sistema sami svoji protivnici. Stvaranje jakog ključa (strong key)
krucijalan je postupak postavljanja zaštite. Npr. ako koristimo DES sa 56-bitnim ključem i naš ključ
ima brojčanu vrednost 10 000 000 velika je verovatnoća da će računar koji vrši grubi napad početi bro-
jati od 1 i ubrzo doći do tog broja. Takođe, ako je ključ neka reč koja se može povezati sa korisnikom
sistema tada napadač može u još kraćem vremenu odgonetnuti ključ samo tako što će upotrebiti vaš
porezni broj kao ključ (Social engineering).
Stoga C. Shannon dolazi do zaključka da ključ mora biti što duži i nasumično izabran. On prim-
jenjuje teoriju informacija na izbor ključa i smatra da ključ mora imati što veću entropiju kako uljez
analizom ne bi pronašao logične uzorke (patterns). Štaviše, C. Shannon smatra da ključ mora biti
dugačak koliko i sama poruka. Takvu primenu pronašao je u postojećem algoritmu.
4.5 Jednokratni blok
Jednokratni blok (One-time pad) je postupak šifrovanja gde se originalna poruka šifruje pomoću
ključa koji je nasumično stvoren i dugačak koliko i sama poruka. Bitno je da se ključ koristi samo jed-
19
nom, čime korisnik osigurava slučajnost. Za šifrovanje, često se koristi logička funkcija "isključivo
ILI" kako bi se omogućilo jednostavno dešifrovanje.
Slika 8. Primer one-time pad algoritma
Na Slici 8. vidimo primer jednokratnog bloka. Poruka koju šaljemo je "HELLO". A ključ koji smo
nasumično odabrali je "XMCKL" pre svega pošaljemo primaocu. Uzmemo brojčanu vrednost za svako
slovo krenuvši od A(0), B(1) .... Z(25) te sumiramo njihove vrednosti. Ako je zbir veći od ukupnog
broja znakova tada krećemo od početka abecede. Dobijeni zbirovi daju nam šifru koju šaljemo pri-
maocu. Primalac će jednostavno dešifrovati poruku tako što će oduzimati vrednosti znakova.
Ovaj algoritam patentiran je još 1917. godine i C. Shannon u njemu pronalazi savršenu sigurnost.
Smatra ako stvarno generišemo slučajni ključ i održimo ga tajnim, napadač će teško kriptoanalizom
pronaći rešenje. Shannon dokazuje: "takav slučajno generisani ključ daće nam šifrovanu poruku koja
20
će imati istu a priori i a aposteriori entropiju što je nemoguće razbiti kriptoanalizom" [2]. I stvarno,
ako generišemo nasumični ključ tada kao šifru dobijamo nešto što takođe izgleda nasumično generisa-
no. Takav model možemo smatrati savršenim sigurnosnim sistemom. Ovaj algoritam bio je poznat u
špijunskim krugovima. Nezavisno o razmišljanju C. Shannona mana sistema jednokratnog bloka je što
moramo posedovati savršeni generator nasumičnog broja (random generator). Takvi uređaji su skupi
a mnogi naučnici posvećuju čitave živote smišljanju matematičke funkcije za dobijanje nasumičnog
broja. [3]
Ipak, tvorci algoritama koji su nastali sedamdesetih godina prošlog veka i koji se danas koriste imali
su na umu Shannonove zaključke.
21
5. Dužina simetričnog ključa
Sigurnost simetričnog kriptosistema funkcija je dva faktora: snage algoritma i dužine ključa. Prvi je
važniji, ali je drugi lakše pokazati. [10]
Kada se 1977. godine razvijao DES, smatralo se je da će ključ dužine od 56bita biti dovoljna zaštita.
Računari koja su mogla razbiti tu šifru postojali su u Američkoj vojsci i NSA ali niko nije ni mogao za-
misli pojavu personalnog kompjutera, a kamoli veliku računarsku mrežu u civilnom sektoru, tako da se
nije moglo ni pretpostaviti da će biti razbijen. DES ne poseduje slabosti u algoritmu i prvobitno je zami-
jenjen "tripleDES" standardom i 168bit ključem a zatim AES sistemom kakvog poznajemo danas.[3]
Pretpostavimo da je snaga algoritma savršena. To je izuzetno teško postići u radu, ali je dovoljno lako u
ovom primeru. Pod „savršenom snagom" podrazumevamo da ne postoji bolji način da se provali
kriptosistem od isprobavanja svih mogućih kljućeva u napadu grubom silom.
Da bi kriptoanalitičar pokrenuo napad, potrebna mu je mala količina šifrovanog teksta i odgovarajući
otvoreni tekst. Napad grubom silom je napad tipa „poznat otvoreni tekst". Za blok-šifru,
kriptoanalitičaru treba blok šifrovanog teksta i odgovarajući otvoreni tekst: uglavnom 64 bita. Doći do
otvorenog teksta i šifrata lakše je nego što možete zamisliti. Kriptoanalitičar može da uzme kopiju
poruke u obliku otvorenog teksta i da presretne odgovarajući šifrat. On bi mogao da zna nešto o formatu
tog šifrata, na primer: to je datoteka iz WordPerfecta ili zaglavlje standardne poruke elektronske pošte ili
datoteka iz UNIX-ovog direktorijuma ili slika u formatu TIFF ili standardni zapis iz baze podataka o
kupcima. Svi ovi formati imaju neke unapred definisane bajtove. Kriptoanalitičaru ne treba mnogo
otvorenog teksta da bi započeo napad grubom silom.
Složenost napada grubom silom izračunava se jednostavno. Ako je ključ dužine 8 bitova, tada postoji 28
ili 256 mogućih ključeva. Samim tim će biti potrebno 256 pokušaja da se pronađe pravi ključ, uz 50
procenata verovatnoće da se pronađe ključ posle polovine pokušaja. Ako je ključ dugačak 56 bitova,
postoji 256 mogućih ključeva. Pod pretpostavkom da superračunar može da isproba milion ključeva u
sekundi, biće potrebno 2285 godina da se pronađe pravi ključ. Ukoliko je ključ dugačak 64 bita, tada će
istom superračunaru biti potrebno oko 585 000 godina da pronadc pravi ključ tnedu 264 mogućih
ključeva. Ako je dužina ključa 128 bitova, biće potrebno 1025 godina. Vasiona je stara samo 1010 godina,
22
tako da je 1025 godina dug period. Za 2048-bitni ključ, milion računara koji rade paralelno brzinom od
miilion pokušaja u sekundi tražilo bi ključ 10597 godina. Do tada će kosmos već uveliko biti pretvoren ni
u šta.
Setimo se da kriptosistem mora da bude toliko siguran da ne postoji bolji način da se razbije od na-
pada grubom silom. To nije tako jednostavno kako možda deluje. Kriptografija je fina veština. Kripto-
sistemi koji savršeno izgledaju, često su izuzetno slabi. Jaki kriptosistemi mogu da postanu slabi uz par
sitnih izmena.
Sigurnost kriptosistema treba da se oslanja na ključ, a ne na detalje algoritma. Pretpostavimo da su
svakom kriptoanalitičaru dostupni svi detalji našeg algoritma. Pretpostavimo da on može da pribavi
koliko god hoće šifrovanog teksta i može da započne intenzivan napad „samo šifrat". Pretpostavimo da
on može pokrenuti napad na otvoreni tekst sa onoliko podataka koliko mu je potrebno. Pretpostavimo
čak i to da on može da izvrši napad „odabran otvoreni tekst". Ako naš sistem može da ostane bezbedan
i pored svega toga što kriptoanalitičar zna, tada imamo dobar sistem. [10]
5.1 Procene trajanja i cene napada grubom silom
Napad grubom silom (brute-force attack) je metoda probijanja šifre gde se pogađaju sve moguće kombi-
nacije nekog ključa. Znači, računar doslovno broji i za svaki broj proverava rezultat nad poznatim algo-
ritmom. Smišljena je parcijalna metoda sirove sile gde se polje svih ključeva deli na male delove i
prosleđuje mreži računara.
Napad grubom silom je uglavnom tipa „poznat otvoreni tekst" za njega je potrebna mala količina
šifrovanog teksta i odgovarajući otvoreni tekst. Ako pretpostavimo da je napad grubom silom
najefikasniji mogući napad na neki aigoritam, što je velika pretpostavka, tada ključ mora da bude
dovoljno dugačak da bi taj napad učinio nepodobnim. Koliko dugačak treba da bude ključ?
Dva parametra odreduju brzinu napada grubom silom: broj ključeva koje treba testirati i brzina svakog
testa. Većina simetričnih algoritama prihvata kao ključ svaki šablon bitova fiksne dužine. DES ima 56-
23
bitni ključ i 256 mogućih ključeva. Neki algoritmi imaju 64-bitni ključ i 264 mogućih ključeva, a neki
imaju 128-bitni ključ.
Brzina kojom svaki mogući ključ može da se testira takode je činilac brzine napada, ali je manje
značajan. U svrhu ove analize, pretpostavimo da se svi različiti algoritmi mogu testirati za isto vreme. U
stvarnosti, jedan algoritam može da se testira dva, tri, pa čak i deset puta brže od drugog. Međutim,
pošto tražimo dužine ključeva koje je više miliona puta teže razbiti nego što bi bilo pogodno, male
razlike u brzinama testiranja nisu značajne.
Većina rasprava medu kriptografima o efikasnosti napada grubom silom tiče se algoritma DES. Vitfild
Difi (Whitfield Diffie) i Martin Helman (Martin Hellman) zamislili su 1977. Godine mašinu specijalne
namene za razbijanje algoritma DES. Mašina bi se sastojala od milion čipova, a svaki je mogao da
testira milion ključeva u sekundi. Takva mašina bi mogla da testira 256 ključeva za 20 sati. Ako bi bila
napravljena da napadne algoritam sa 64-bitnim ključem, mogla bi da ispita svih 264 ključeva za 214
dana.
Napad grubom silom je kao stvoren za paralelne procesore. Svaki procesor može da testira jedan
podskup prostora ključa. Procesori ne moraju međusobno da komuniciraju; jedina neophodna
komunikacija je poruka koja izveštava o uspehu. Ne postoje zahtevi za deljenom memorijom. Treba
projektovati mašinu s milion paralelnih procesora, gde svaki radi nezavisno od ostalih.
U novije vreme, Majkl Viner (Michael Wiener) odlučio je da osmisli mašinu za razbijanje algorita-
ma pomoću napada grubom silom. (Konstruisao je mašinu za DES, ali ta analiza važi za većinu agori-
tama.) Projektovao je specijalizovane čipove, ploče i mehaničke delove. Procenio je troškove. Tako je
otkrio da bi za milion dolara neko mogao da napravi mašinu koja bi razbila 56-bitni ključ algoritma
DES u proseku za 3,5 sata (rezultat se sigurno dobija za 7 sati). Otkrio je i da je odnos cena/brzina li-
nearan. U Tabeli 1. [10] date su uopštene vrednosti za različite dužine ključeva. Treba imati na umu
Murov zakon koji kaže da se računarska snaga udvostručava približno svakih 18 meseci. To znači da
se troškovi smanjuju za faktor 10 svakih pet godina: ako je pravljenje nečega 1995. godine koštalo mi-
lion dolara, onda je 2000. godine koštalo svega 100 000 dolara. Računari sa obradom u više faza poka-
zali bi se još bolje.
24
Naravno, neozbiljno je procenjivati računarsku snagu 35 godina unapred. Iznenadni proboji u nekoj
tehnologiji iz domena naučne fantastike mogli bi ove brojeve učiniti smešnim. Nasuprot tome, trenutno
nepoznata fizička ograničenja mogla bi iste brojeve učiniti nerealno optimističnim.
Tabela 1. Procene prosečnog vremena za hardverski napad grubom silom 1995. godine [10]
Za 56-bitne ključeve, navedeni brojevi su u okvirima budžeta većine velikih kompanija i mnogih
kriminalnih organizacija. Vojni budžeti većine industrijalizovanih država mogu da podmire provalji-
vanje 64-bitnih ključeva. Provaljivanje 80-bitnog ključa i dalje premašuje mogućnosti ali, ako se nas-
tave sadašnji trendovi, to će se promeniti za svega 30 godina. [10]
Puštanje u opticaj algoritma sa 80-bitnim ključem deluje izuzetno kratkovido. Treba insistirati na
ključevima dužine najmanje 112 bitova. Naravno, neozbiljno je procenjivati računarsku snagu 35
godina unapred. Iznenadni proboji u nekoj tehnologiji iz domena naučne fantastike mogli bi ove
brojeve učiniti smešnim. Nasuprot tome, trenutno nepoznata fizička ograničenja mogla bi iste brojeve
DUŽINA KLJUČA U BITOVIMA
Cena 40 56 64 80 112 128
100 K$ 2 sek. 35 sati 1 god. 70,000 god. 1014 god. 1019 god.
1 M $ 0,2 sek. 3,5 sata 37 dana 7000 god. 1013 god. 1018 god.
10 M $ 0,02 sek. 21 min. 4 dana 700 god. 1012 god. 1017 god.
100 M $ 2 milisek. 2 min. 9 sati 70 god. 1011 god. 1016 god.
1 G $ 0,2 milisek. 13 sek. 1 sat 7 god. 1010 god. 1015 god.
10 G $ 0,02 milisek. 1 sek. 5,4 min. 245 dana 109 god. 1014 god.
100 G$ 2 mikrosek. 0,1 sek. 32 sek. 24 dana 108 god. 1013 god.
1 T$ 0,2 mikrosek. 0,01 sek. 3 sek. 2,4 dana 107 god. 1012 god.
10 T $ 0,02 mikrosek. 1 milisek. 0,3 sek. 6 sati 106 GOD. 1011 god.
25
učiniti nerealno optimističnim. Puštanje u opticaj algoritma sa 80-bitnim ključem deluje izuzetno
kratkovido. Treba insistirati na ključevima dužine najmanje 112 bitova.
Ako je napadač dovoljno čvrsto rešio da provali ključ, treba samo da uloži novac. Zbog toga deluje
razborito pokušati proceniti minimalnu „vrednost" ključa: koliko vredi jedan ključ da bi pokušaj pro-
valjivanja bio ekonomski opravdan? Evo ekstremnog primera: ako šifrovana poruka vredi 1,39 dolara,
nema mnogo smisla uložiti milione dolara u alat za razbijanje protokola da bi se otkrio taj ključ. S
druge strane, ukoliko otvoreni tekst poruke vredi 100 miliona dolara, dešifrovanje te poruke opravdaće
troškove pravljenja alata za razbijanje protokola. Osim toga, vrednost nekih poruka brzo opada s vre-
menom.
5.2 Softverski alati za razbijanje protokola
Napade grubom silom znatno je teže izvesti hez hardvera posebne namene i jakih paralelnih mašina.
Softverski napad je oko hiljadu puta sporiji od hardverskog. Prava opasnost od softverskog napada
(engl. Software based brute force attack) nije to što je siguran, nego što je „besplatan". Ne košta ništa
da se mikroračunar podesi tako da ispituje sve moguće ključeve kad god je besposlen. Ukoliko
pronađe pravi ključ - sjajno. Ako ne pronađe pravi ključ, ništa nije izgubljeno. Ne košta ništa da se ce-
la mreža mikroračunara podesi tako da traži ključ. U nedavnom eksperimentu sa algoritmom DES
iskorišćeno je ukupno vreme besposlenosti 40 radnih stanica za ispitivanja 234 ključeva u jednom da-
nu. Pri toj brzini, bilo bi potrebno četiri miliona dana za ispitivanje svih ključeva, ali ako dovoljno lju-
di pokušava napad na ovaj način, nekada će neko imati sreće. Prepreka softverskom napadu je samo
loša sreća. Zamislite univerzitetsku računarsku mrežu od 512 umreženih radnih stanica. To bi bila
mreža srednje veličine na nekim fakultetima. Računari bi mogli da budu raspoređeni po celom svetu, a
da se njihovom aktivnošću koordinira preko elektronske pošte. “Pretpostavimo da svaka radna stanica
može da radi algoritam brzinom od 15 000 šifrovanja u sekundi... Uključujući i dodatno vreme za ispi-
tivanje i zamenu ključeva, dobija se... 8192 testa u sekundi, po mašini. Da bi se ovim sredstvima
26
iscrpeo [56-bitni] prostor ključeva, bilo bi potrebno 545 godina (pod pretpostavkom da je ta mreža
posvećena tom zadatku 24 sata dnevno).” [10]
Međutim, treba zapaziti da isti proračuni daju našim hipotetičkim studentima-hakerima jednu
mogućnost u 200 000 razbijanja ključa u jednom danu. Tokom dugog vikenda, verovatnoća poraste na
jednu mogućnost u 66 000. Verovatnoća raste ukoliko je hardver brži ili ako se koristi više mašina. To
nije povoljna verovatnoća da bi se zarađivalo za život od konjičkih trka, ali nije ni dobar materijal za
novine. Na primer, ova verovatnoća je mnogo povoljnija od one koju Vlada daje na svojoj lutriji. „Je-
dan od milion?", ,,Ne bi moglo da se ponovi u narednih hiljadu godina?" - više nije moguće pošteno
reći tako nešto. Da li ie ovaj neprekidni rizik prihvatljiv? [10]
Primena algoritma sa 64-bitnim ključem umesto 56-bitnog ključa otežava ovaj napad 256 puta. Uz
40-bitni ključ, slika je mnogo tmurnija. Mreža od 400 računara, od kojih svaki može da izvrši 32.000
šifrovanja u sekundi, može u jednom danu da obavi napad grubom silom na 40-bitni ključ. (Vremena
su danas dosta kraća, zbog ubrzanog razvoja računara).
5.3 Neuronske mreže
Neuronske mreže nisu naročito korisne za kriptoanalizu, uglavnom zbog oblika prostora rešenja.
Neuronske mreže najbolje rade s problemima koji imaju povezana rešenja, od kojih su neka bolja nego
ostala. To omogućava neuronskoj mreži da uči i da tokom učenja predlaže sve bolja rešenja. Provalji-
vanje algoritma vrlo malo doprinosi učenju: ili pronalazite ključ ili ne. (Ovo važi za iole dobre algo-
ritme.) Neuronske mreže dobro funkcionišu u strukturiranim okruženjima, u kojima mogu da uče, ali
ne i u svetu kriptografije, koji ima visoku entropiju i naizgled je slučajan.
5.4 Virusi
Najveća teškoća u pribavljanju miliona računara koji bi radili na napadu grubom silom jeste ubedi-
vanje miliona vlasnika računara da u tome učestvuju. Mogli biste ih ljubazno zamoliti, ali je za to po-
27
trebno vreme i možda će vas odbiti. Mogli biste da provalite u njihove rnašine, ali je za to potrebno još
više vremena i možete da budete uhapšeni. Mogli biste takođe upotrebiti računarski virus da biste
raširili program za razbijanje algoritma na što veći broj računara.
Napadač piše i oslobađa računarski virus. Ovaj virus ne formatira disk, niti briše datoteke, već radi
na kriptoanalitičkom probiemu napada grubom silom kad god je računar besposlen. Različita
istraživanja su pokazala da su mikroračunari besposleni tokom 70-90 procenata vremena, pa virus
nerna problema da nađe vremena za rad na svom zadatku. Ako inače ne nanosi štetu, virus može da
ostane nezapažen tokom rada.
Može se dogoditi da jedna mašina naide na pravi ključ. U tom trenutku postoje dva moguća načina
da se nastavi rad. Prvo, taj virus može da stvori drugi virus. On bi se samo reprodukovao i brisao sve
kopije virusa za razbijanje na koje naide, ali bi sadržao podatak o pravom ključu. Novi virus bi se
jednostavno prenosio kroz svet računara, dok ne bi stigao do računara osobe lcoja je napravila izvorni
virus. Drugi, domišljatiji pristup bio bi da virus na ekranu prikaže sledeću poruku:
There is a serious bug in this com-
puter. Please call 1-800-123-4567 and
read the following 64-bit number to the
operator:
xxxx xxxx xxxx xxxx
There is a $100 reward for the first
person to report this bug. [10]
Koliko je ovaj napad efikasan? Pretpostavimo da zaraženi računar obično isprobava hiljade ključeva
u sekundi. To je mnogo sporije od maksimalnih mogućnosti računara, pošto pretpostavljamo da će
povremeno raditi druge stvari. Pretpostavimo takođe da virus obično zarazi 10 miliona računara. Ovaj
virus može da provali 56-bitni ključ za 83 dana, a 64-bitni ključ za 58 godina. Možda ćete morati da
potkupljujete proizvodače antivirusnih programa, ali to je vaš problem. Svako povećanje brzina
računara ili širenja virusa povećaće efikasnost ovog napada.
28
5.5 Kineska lutrija
Kineska lutrija [10] (engl. Chinese Lottery) eklektična je, ali ostvariva, preporuka za paralelnu
kriptoanalitičku mašinu velikih razmera. Zamislite da je u svaki prodati radio i televizor ugrađen čip za
razbijanje algoritma grubom silom, brzinom od milion testova u sekundi. Svaki čip je programiran ta-
ko da automatski ispita neki drugi skup ključeva čim par otvoreni tekst/šifrat stigne kroz etar. Kad god
kineska vlada hoće da provali neki ključ, ona emituje te podatke. Svi radio i televizijski aparati u zeml-
ji počinju da bruje. Može se dogoditi da se ispravan ključ pojavi na nečijem ekranu, negde u zemlji.
Kineska vlada daje nagradu toj osobi. Na taj način se vlada osigurava da će rezultat biti dostavljen brzo
i tačno i podstiče prodaju radio i televizijskih aparata s čipovima za razbijanje algoritma.
Ako svaki čovek, žena i dete u Kini poseduje radio ili televizor, tada će se ispravan ključ za 56-bitni
algoritam pojaviti za 61 sekundu. Ukoliko samo 1 od 10 Kineza poseduje radio ili televizor, tada će se
pravi ključ pojaviti za 10 minuta. Pravi ključ za 64-bitni algoritam pojaviće se za 4.3 sata, odnosno za
43 sata ako samo 1 od 10 Kineza ima radio ili televizor.
Potrebne su neke izmene da bi ovaj napad bio primenjiv u praksi. Prvo, bilo bi jednostavnije da
svaki čip isprobava slučajne ključeve umesto jedinstvenog skupa ključeva. To bi usporilo napad za oko
39 procenata, što nije mnogo, u svetlu brojeva s kojima radimo. Osim toga, kineska Komunistička par-
tija morala bi naložiti da svi slušaju ili gledaju određenu emisiju u određeno vreme, kako bi se uverila
da su svi radio i televizijski aparati uključeni kada se emituje par otvoreni tekst/šifrat. Najzad, sva-
kome bi moralo biti naređeno da pozove Partijsku Centralu ako se ključ ikada pojavi na ekranu, a za-
tim da pročita niz brojeva koji su se pojavili.
U Tabeli 2 prikazana je delotvornost Kineske lutrije za različite zemlje i različite dužine ključeva.
Kina bi svakako bila u najboljem položaju da izvrši ovakav napad, ako bi snabdela svakog čoveka,
ženu i dete televizorom ili radijom. SAD imaju manje ljudi, ali mnogo više opreme po glavi stanovni-
ka. Država Vajoming bi samostalno mogla da provali 56-bitni ključ za manje od jednog dana.
29
Tabela 2. Procene napada grubom silom za mašinu Kineska lutrije
5.6 Biotehnologija
Da su biočipovi mogući, bilo bi neozbiljno da se ne iskoriste kao kriptoanalitički alat za distribuira-
ni napad grubom silom. Razmotrimo zamišljenu životinju, nazovimo je DESosaurus. Ona se sastoji od
bioloških ćelija, sposobnih da ispituju moguće ključeve. Par otvoreni tekst/šifrat emituje se ka ćelijama
preko nekog optičkog kanala (kao što vidite, ove ćelije su providne). Rešenja se prenose do DESosau-
rusovog organa za govor preko posebnih ćelija koje se kreću sistemom za cirkulaciju ove životinje.
Dinosaurus je uglavnom imao oko 1014 ćelija (ne računajući bakterije). Ako svaka od njih može da
obavi milion šifrovanja u sekundi (ovo je sigurno veliko „ako"), provaljivanje 56-bitnog ključa trajalo
bi sedam desetohiljaditih delova sekunde. Provaljivanje 64-bitnog ključa trajalo bi manje od dve dese-
tine sekunde. Provaljivanje 128-bitnog ključa ipak bi trajalo 1011 godina. [10]
Vreme za provaljivanje
ključa
Država Broj stanovnika Broj TV/radio apa-
rata 56-bitni 64-bitni
Kina 1190.431.000 257.000.000 280 sek. 20 sati
SAD 260.714.000 739.000.000 97 sek. 6,9 sati
Irak 19.890.000 4.730.000 4,2 sata 44 dana
Izrael 5.051.000 3,640.000 5,5 sati 58 dana
Vajoming 470.000 1.330.000 15 sati 160 dana
Vinemuka, Nevada 6.100 1.7.300 48 dana 34 god.
(Svi podaci su iz Wond Almanac and Book of Facts 1995. godine)
30
Drugi biološki pristup je upotreba kriptoanalitičkih algi, dobijenih genetskim inženjeringom, koje bi
bile sposobne da izvrše napade grubom silom na kriptografske algoritme. Ovi organizmi bi omogućili
da se napravi distribuirana mašina s više procesora, pošto bi alge mogle da pokriju veću oblast. Par ot-
voreni tekst/šifrat emitovao bi se preko satelita. Ako bi jedan organizam došao do rezultata, on bi mo-
gao da izazove promenu boja susednih ćelija i da tako prenese rezultat satelitu.
Pretpostavimo da je tipična ćelija alge oblika kocke stranice 10 mikrona (ovo je verovatno sasvim
netačna procena), što znači da 1015 ćelija može da stane u kubni metar. Recimo da ih ubacimo ih u
okean tako da pokriju 200 kvadratnih milja (518 kvadratnih kilometara) vode, do dubine od jednog
metra i imaćemo 1023 algi koje plove u okeanu. Ako svaka od njih može da isproba milion ključeva u
sekundi, one će otkriti pravi ključ 128-bitnog algoritma za nešto više od 100 godina. Iznenadni porast
brzine obrade, prečnika algi, pa čak i zamućenje okeana koje alge mogu da izazovu značajno bi uman-
jilo ove brojeve.
5.7 Termodinamička ograničenja
Jedna od posledica drugog zakona termodinamike jeste da je određena količina energije neophodna za
predstavljanje informacija. Da bi se jedan bit zapisao promenom stanja sistema, potrebna energija nije
manja od kT, gde je T apsolutna temperatura tog sistema, a k je Bolcmanova konstanta.
Pošto je k = 1,38* 10-16 erg/°Kelvin a temperatura univerzuma je 3.2°K, idealan računar koji radi na
3.2°K trošio bi 4,4* 10 -16 erga svaki put kada postavlja ili briše bit. Da bi računar radio na temeperaturi
nižoj od one koju stvara kosmička radijacija, bila bi potrebna dodatna energija za rad toplotne pumpe.
Sunce tokom godine emituje oko 1,21 *1041 erga. To je dovoljno za oko 2,7* 1056 promena jednog bita
na našem idealnom računaru, dovoljno promena stanja da se 187-bitni brojač postavi u svaku od svojih
vrednosti. Da smo napravili Dajsonovu (Dyson) sferu oko Sunca i prikupljali svu njegovu energiju
tokom 32 godine, bez gubitaka, mogli bismo da napajamo računar da broji do 2192. Naravno, uz ovaj
brojač ne bi preostalo energije za bilo kakva korisna izračunavanja.
Međutim, to je samo jedna zvezda, i to mala. Supernova oslobađa oko 1051 erga. (Oko sto puta više
energije bilo bi oslobođeno u obliku neutrina, ali njih ne uzimamo u proračun). Ako bi se sva ta energija
31
mogla usmeriti na jedno raskošno izračunavanje, tada bi se 219-bitni brojač mogao provesti kroz sva
svoja stanja.
Ovi proračuni nemaju ništa s tehnologijom uređaja; oni predstavljaju najviše što termodinamika
omogućava. Oni jasno nagoveštavaju da će napadi grubom silom na 256-bitne ključeve biti neizvodljivi
sve dok računari ne budu napravljeni od nečeg što nije materija, u nečemu što nije prostor. Dakle, po
ovim proračunima, fizički nije moguće koristiti grubu silu za napade na 256-bitne ključeve (makar po
važećim fizičkim zakonima, onakvim kakvi vladaju u mainstream naučnim krugovima).
32
6. Dužina ključeva za algoritme sa javnim ključem
6.1 Neke slabosti algoritma javnog ključa
Sigurnost algoritma javnog ključa zavisi od matematičke funkciji koju primenjujemo nad njim. Ta-
ko poznajemo neke slabosti asimetričnog algoritma:
1. napadač, uz poznavanje javnog ključa, može slati primaocu svoju verziju poruke,
rešenje se pronalazi u digitalnom potpisu;
2. napadač može pokušavati pogoditi ključ u nekom razumnom vremenskom razdoblju.
Smatra se da nam RSA sa 2048bit ključem pruža sigurnost do 2030. godine. [3]
.Množenje dva velika prosta broja je jednosmerna funkcija; lako je pomnožiti brojeve i dobiti
proizvod, ali je teško faktorisati proizvod i doći do ta dva velika prosta broja. Kriptografija s javnim
ključem koristi ovu ideju da bi se napravila jednosmerna funkcija sa zamkom. Tačnije, skoro svi pret-
postavljaju da je faktorisanje teško, ali to nikada nije matematički dokazano na bilo koji način.
Faktorisanjem se vredi baviti. Lako se može zamisliti kako ćemo za 50 godina sedeti i prisećati se
dobrih, starih vremena, kada su ljudi mislili da je faktorisanje teško, kriptografija se zasnivala na fakto-
risanju, a kompanije su na tome zarađivale. Lako je zamisliti da će budući razvoj teorije brojeva
olakšati faktorisanje ili da će dostignuća u teoriji kompleksnosti učiniti faktorisanje trivijalnim. Nema
razloga da se veruje kako će se to dogoditi, a većina ljudi koji dovoljno znaju da bi imali svoje
mišljenje o tome kažu da je to malo verovatno, ali nema razloga ni da se veruje kako se to neće dogo-
diti. [10]
U svakom slučaju, današnji preovlađujući algoritmi za šifrovanje s javnim ključem zasnovani su na
tome što je teško faktorisati velike brojeve koji su proizvod dva velika prosta broja. (Ostali algoritmi
su zasnovani na diskretnom logaritamskom problemu, ali se na ova dva problema može primeniti
manje-više ista diskusija.) Ovi algoritmi su takođe osetljivi na napad grubom silom, ali drugog tipa.
Provaljivanje ovih algoritama ne uključuje isprobavanje svakog mogućeg ključa, nego pokušaje fakto-
33
risanja velikog broja (ili računanje diskretnih logaritama u veoma velikom konačnom polju, što je
sličan problem). Ukoliko je broj previše mali, nemate nikakvu sigurnost. Ako je broj dovoljno velik,
sigurni ste od celokupne računarske snage na svetu, od ovog trenutka, pa dok Sunce ne postane nova
(ili crveni patuljak) (uz sadašnje razumevanje matematike). Diskusiju ćemo ograničiti na to koliko je
vremena potrebno da se faktorišu brojevi različitih dužina.
6.2 Neka predviđanja vezana za algoritam javnog ključa
Faktorisanje velikih brojeva jeste teško. Na žalost projektanata algoritama, ono postaje jednostav-
nije, što je još “gore”, ono postaje lakše brže nego sto su matematičari to očekivali. Ričard Gaj (Ri-
chard Guy) napisao je 1976. godine: “ Biću iznenađen ako neko u ovom veku bude faktorisao brojeve
reda veličine 1080 koji nisu u nekorn posebnom obliku, Ron Rivest je 1977. godine rekao da će faktori-
sanje 125-cifrenog broja trajati 40 biiijardi godina. Godine 1994. faktorisan je 129-cifreni broj.. Iz sve-
ga ovoga može se naučiti da je neozbiljno davati prognoze.
U tabeli 3 prikazani su podaci o faktorisanju u prethodnim decenijama. Najbrži algoritam za fakto-
risanje u tom periodu bilo je kvadratno sito (engl. quadratic sieve).
Ovi brojevi su prilično zastrašujući. Danas nije neobično videti da se 512-bitni brojevi koriste u sis-
temima koji funkcionišu. Faktorisanje takvih brojeva i, samim tim, potpuno narušavanje njihove sigur-
nosti, u domenu je mogućeg: to bi mogao da uradi crv na lnternetu tokom vikenda.
Računarska snaga se obično izražava u mips-godinama: milion instrukcija u sekundi (engl. million-
instruction-per-second, mips), tokom jedne godine, iznosi 3*1013 instrukcija. Po dogovoru, računar od
1 mipsa ekvivalentan je računaru DEC VAX 11/780. Stoga je mips-godina jedan računar VAX 11/780
koji radi godinu dana, ili ekvivalentna mašina. (Pentium brzine 100 MHz je računar od oko 50 mipsa, a
Intel Paragon od 1800 čvorova - oko 50.000.)
Za faktorizaciju 71-cifrenog broja bilo je 1983. godine potrebno 0,1 mips-godina. Za faktorizaciju
129-cifrenog broja bilo je 1994. godine potrebno 5000 mips-godina. Ovaj nagli porast računarske
snage proistekao je, u velikoj meri, iz uvođenja distribuirane obrade, pri čemu se koristilo vreme bes-
34
poslenosti umreženih radnih stanica. Taj način rada započeo je Bob Silverman, a potpuno su ga razvili
Arjen Lenstra i Mark Manase (Mark Manasse).
Za faktorizaciju se 1983. godine koristilo 9,5 CPU sati na jednom računaru Cray X-MP, a 1994. -
5000 mips-godina i koristilo se vreme besposlenosti na 1600 računara širom sveta, oko osam meseci.
Savremene metode faktorisanja pogodne su za ovaj način distribuirane realizacije.
Slika postaje čak i gora, Nov algoritam za faktorisanje zauzeo je mesto kvadratnog sita: sito polja
opštih brojeva (engl. general number field sieve). Matematičari bi vam 1989. godine rekli da sito polja
opštih brojeva nikada neće biti upotrebljivo u praksi. Godine 1992. rekli bi vam da je upotrebljivo, ali
da je brže od kvadratnog sita samo za brojeve s više od 130 ili 150 cifara.
Danas je poznato da je brže od kvadratnog sita za brojeve s manje od 116 cifara. Sito polja opštih
brojeva može da faktoriše 512-bitni broj preko 10 puta brže nego kvadratno sito. Za izvršavanje ovog
algoritma bilo bi potrebno manje od godinu dana na mašini Intel Paragon od 1800 čvorova.
Godina
Broj faktorisanih dekadnih cifara Koliko puta je teže faktorisati
512-bitni broj
1983. 71 >20 miliona
1985. 80 >2 miliona
1988. 90 250.000
1989. 100 30.000
1993. 120 500
1994. 129 100
Tabela 3. Faktorisanje primenom kvadratnog sita
U tabeli 4 prikazane su vrednosti mips-godina neophodnih za faktorisanje brojeva različitih veličina
pomoću današnjih realizacija sita polja opštih brojeva.
35
Osim toga, sito polja opštih brojeva postaje sve brže. Matematičari i dalje pristižu s novim metoda-
ma, novim optimizacijama, novim tehnikama. Nema razloga da se ovakav trend ne nastavi. Srodan al-
goritam, sito polja posebnih brojeva (engl. special number field sieve), već može da faktoriše brojeve
određenog oblika (uglavnom se takvi ne koriste u kriptografiji) mnogo brže nego što sito polja opštih
brojeva faktoriše brojeve iste veličine. Nije bezrazložna pretpostavka da se sito polja opštih brojeva
može optimizovati da radi istom brzinom, a moguće je da NSA (National Security Agency) već zna
kako to da uradi.
Tabela 4. Faktorisanje primenom sita polja opštih brojeva
U tabeli 5. prikazane su vrednosti mips-godina potrebnih za faktorisanje brojeva razlićitih veličina
pomoću sita polja posebnih brojeva.
Na radionici Evropskog instituta za sigurnost sistema (European Institute for System Security),
1991. godine, učesnici su se složili da 1024-bitni modul treba da bude dovoljan za dugoročne tajne do
2002. godine. Međutim, upozorili su: „iako se učesnici ovog skupa osećaju najkvalifikovanijima za
svoje oblasti, ova izjava, s obzirom na dugotrajnu sigurnost treba da bude prihvaćena sa oprezom". To
je dobar savet.
Mudar kriptograf je ultrakonzervativan kada bira dužinu ključa za algoritam s javnim ključem. Da
biste odredili koliko treba da bude dugačak ključ, neophodno je da razmotrite planiranu sigurnost i rok
važenja ključa, kao i trenutne domete u oblasti faktorisanja. Krajem devedesetih vam je trebao 1024-
Broj bitova Za faktorisanje potrebno mips-godina
512 30.000
768 2*108
1024 3* 1011
1280 1*1014
1536 3*1016
2048 3*1020
36
bitni broj da biste ostvarili onaj nivo bezbednosti koji ste postizali 512-bitnim brojem u ranim osamde-
setim. Ako hoćete da vaši ključevi ostanu sigurni u narednih 20 godina, 1024 bita nije dovoljno.
Tabela 5. Faktorisanje primenom sita polja posebnih brojeva
Čak i ukoliko vaše tajne nisu vredne napora neophodnog za faktorisanje vaših modula, možete biti u
opasnosti. Zamislite automatski bankarski sistem koji koristi RSA radi bezbednosti. Melori može na
sudu da kaže: Da li ste čitali u novinama iz 1994. da je RSA-29 razbijen i da 512-bitne brojeve može
da faktoriše svaka organizacija koja je spremna da plati par miliona dolara i sačeka nekoliko meseci?
Moja banka koristi 512-bitne brojeve i, uzgred, ja nisam podizao novac ovih sedam puta." Čak i da
Melori laže, sudija će verovatno zahtevati dokaze od banke.
Zašto ne koristiti 10.000-bitne ključeve? Možete to da uradite, ali, imajte na umu da je vreme
izračunavanja duže što su ključevi duži. Vama treba ključ koji je dovoljno dugačak da bi bio siguran, a
dovoljno kratak da bi bio pogodan za računanje.
U Tabeli 6. prikazane su neke preporuke za dužine javnih ključeva (preporuke date 1995.godine),
prema tome koliko dugo ključ treba da bude siguran. Za svaku godinu navedene su tri dužine ključeva:
ključ bezbedan od napada pojedinca, od velike korporacije i od vrhovne vlasti.
Broj bitova Za faktorisanje potrebno mips-godina
512 <200
768 100,000
1024 3*107
1280 3*109
1536 2*1011
2048 4*1014
37
Godina Pojedinac Korporacija Vlada
1995. 768 1280 1536
2000. 1024 1280 1536
2005. 1280 1536 2048
2010. 1280 1536 2048
2015. 1536 2048 2048
Tabela 6. Preporučene dužine ključa za algoritme sa javnim ključevima (u bitovima)
Projekat faktorisanja 129-cifrenog broja zauzeo je procenjena 0.03% ukupne računarske snage
interneta, i to bez naročitog truda. Nije nerazumno pretpostaviti da projekat sa dobrim publicitetom
može da osvoji 2% ukupne računarske snage u svetu na godinu dana.
Pretpostavimo da posvećeni kriptoanalitičar može da dobije 10 000 mips-godina, da velika
korporacija može da dobije 10 mips-godina i da vlada velike zemlje može da dobije 10 mips-
godina. Pretpostavimo takođe da će se računarska moć povećavati za 10 puta svakih 5 godina. I
najzad, pretpostavinio da nam napredak u teoriji faktorisanja omogućava da faktorišemo opšte brojeve
brzinama sita polja posebnih brojeva.
Ne treba zaboraviti da se uzme u obzir vrednost ključa. Javni ključevi se često koriste za osigura-
vanje veoma vrednih stvari na duže vreme: glavni ključ banke za sistem digitalnog novca, ključ koji
vlada koristi za sertifikaciju pasoša ili kijuč za digitalne potpise javnog beležnika. Verovatno nije
vredno truda da se potroše meseci računarskog vremena radi provaljivanja privatnog ključa nekog po-
jedinca, ali ako s provaljenim ključem možete da štampate sopstveni novac, ta ideja postaje zanimljivi-
ja. Ključ od 1024 bita dovoljno je dugačak za potpisivanje nečega što će biti verifikovano u roku od
jedne nedelje, meseca, pa čak i nekoliko godina. Ali, ne želimo da se za 20 godina pojavimo na sudu s
digitalno potpisanim dokumentom i da nam protivnička strana prikaže kako falsifikuje dokument sa
istim tim potpisom.
38
Godina Dužina ključa (u bitovima)
1995. 1024
2005. 2048
2015. 4096
2025. 8192
2035. 16.384
2045. 32.768
Tabela 7. Dugoročna predviđanja mogućnosti faktorisanja
Predviđanja za period dalji od bliske budućnosti još su ne ozbiljnija. Ko zna kakva će se dostignuća
pojaviti u računarstvu, računarskim mrežama i matematici do 2040. godine? Međutim, ako sagledate
celu siiku, u svakoj deceniji možemo da faktorišemo dvostruko duže brojeve nego u prethodnoj. To
vodi do Tabele 7.
S druge strane, tehnike faktorisanja mogu da dostignu svoju tačku omega mnogo pre 2045. godine.
Za petnaest godina možda ćemo biti u stanju da faktorišemo bilo šta. Ipak, to je malo verovatno.
Neće se svi složiti sa ovim preporukama. Agencija NSA je zahtevala ključeve dužine od 512 do
1024 bita za svoj Digital Signature Standard, to je mnogo manje nego što preporučuje Tabela 7 za
dugoročnu sigurnost. Paket Pretty Good Privacy ima maksimalnu dužinu RSA ključa od 2047 bitova.
Arjen Lenstra, najuspešniji stručnjak za faktorisanje, odbija da daje predviđanja. U Tabeli 8. prikazane
su dužine ključeva koje preporučuje Ron Rivest. Preporuka je iz 1990. Godine. Dok ove analize izgle-
daju dobro na papiru, skorija istorija pokazuje da se iznenađenja redovno dešavaju. Ima smisla izabrati
ključeve tako da budu otporni u slučaju budućih iznenađenja.
39
Tabela 8. Rivestove optimistične preporuke za dužinu ključa (u bitovima)
Niske procene pretpostavljaju da se koristi budžet od 25 000 dolara, algoritam kvadratnog sita i
tehnološki napredak od 20 procenata godišnje. Srednje procene pretpostavljaju budžet od 25 miliona
dolara, algoritam sita polja opštih brojeva i tehnološki napredak od 33 procenta godišnje. Visoke pro-
cene pretpostavljaju budžet od 25 milijardi dolara, algoritam sita polja opštih brojeva koji radi brzinom
algoritma sita polja posebnih brojeva i tehnološki napredak od 45 procenata godišnje.
6.3 DNK izračunavanje
Sada dolazi ono neobično. Leonard M. Edlman (Adleman) zaista je 1994. godine prikazao metodu
rešavanja jednog NP-potpunog problema u biohemijskoj laboratoriji, koristeći molekule DNK da bi
izneo pretpostavke u revšenjima tog problema. Problem koji je Edleman rešio bio je primer usmerene
Hamiltonove staze (engl. Directed Hamiltonian Path): za datu mapu gradova koji su povezani jednos-
mernim putevima, treba pronaći stazu od Grada A do Grada Z, koja tačno jednom prolazi kroza sve
druge gradove na mapi. Svaki grad je predstavljen drugačijim slučajnim 20-baznim nizom DNK;
pomoću konvencionalnih tehnika molekularne biologije, Edlman je sintetizovao 50 pikomola (30 mi-
liona miliona molekula DNK niza koji predstavlja svaki grad. Svaki put je takode predstavljen 20-
Godina Niska Srednja Visoka
1990. 398 515 1289
1995. 405 542 1399
2000. 422 572 1512
2005. 439 602 1628
2010. 455 631 1754
2015. 472 661 1884
2020. 489 677 2017
40
baznin DNK nizom, ali ovi nizovi nisu izabrani slučajno: oni su pametno izabrani tako da se „početni"
kraj DNK niza koji predstavlja put od Grada P do Grada K („Put PK") lepi za DNK niz koji predstavl-
ja Grad P, a kraj Puta PK lepi se za Grad K. [10]
Edlman je sintetizovao 50 pikomola DNK da bi predstavio svaki put, izmešao ih sa DNK koji
predstavlja sve gradove i dodao ferment ligazu, koji povezuje krajeve DNK molekula. Pametno pove-
zivanje DNK nizova puteva i DNK nizova gradova postiže se ligazom koja pravilno vezuje DNK ni-
zove puteva. To znači da će „izlazni” kraj puta od P do K uvek biti povezan sa „ulaznim" krajem ne-
kog puta koji počinje u Gradu K, a nikad sa „izlaznim" krajem biio kog puta ili sa „ulaznim" krajem
puta koji polazi od nekog drugog grada, a ne od K. Posle pažljivo ograničenog vremena reakcije, liga-
za pravi veliki broj DNK nizova koji predstavijaju ispravne, ali slučajne staze na mapi.
Tako Edlman pomoću slučajnih staza može da pronađe i najmanji trag, možda čak i jedan molekul
DNK, koji predstavlja rešenje datog problema, Primenom uobičajenih tehnika molekularne biologije,
on odstranjuje sve DNK nizove koji predstavljaju predugaćke ili prekratke staze. (Broj puteva u
traženoj stazi mora da bude jednak broiu gradova umanjenom za jedan.) Zatim se odstranjuju svi DNK
nizovi koji ne prolaze kroz Grad A, pa oni na kojima nije Grad B i tako daije. Ako neki DNK preživi
ovu trijažu, ispituje se; kako bi se pronašla sekvenca puteva koje predstavlja, a to je rešenje usmerene
Hamiltonove staze.
Po definiciji, jedan primer nekog NP-potpunog problema može se transformisati, u poiinomijalnom
vremenu, u primer bilo kog drugog NP-potpunog problema, a samim tim i u primer usmerene Hamil-
tonove staze. Od sedamdesetih godina, kriptolozi pokušavaju da koriste NP-potpune probleme u krip-
tografiji s javnim ključem.
Dok je primer koji je Edlman rešio bio veoma skroman (sedam gradova na njegovoj mapi problem
je koji može da se reši tokom nekoliko minuta ispitivanja), ova tehnika je u začetku i nema nikakvih
prepreka da se proširi na veće probleme. Prema tome, argumenti o sigurnosti kriptografskih protokola
koji su zasnovani na NP-potpunim problemima, a ranije su počinjali rečima: „Pretpostavimo da nepri-
jatelj ima milion procesora, od kojih svaki može da obavi milion testova svake sekunde" mogli bi
uskoro biti zamenjeni argumentima koji počinju ovako: „Pretpostavimo da neprijateij ima hiljadu su-
dova za fermentaciju, a svaki je kapaciteta 20 000 litara”.
41
6.4 Kvantno izračunavanje
Sada stvari postaju još čudnije. U osnovi kvantnog izračunavanja nalazi se Ajnštajnov princip dual-
nosti talas-čestica. Foton može istovremeno da postoji u velikom broju stanja. Klasičan primer je da se
foton ponaša kao talas kada naiđe na delimično posrebreno ogledalo; on se i reflektuje i prenosi, kao
što bi se talas u okeanu koji udara u greben s malim otvorom i odbijao od grebena i prolazio kroz nje-
ga. Međutim; kada se foton meri, on se ponaša kao čestica i može da se otkrije samo jedno stanje.
Piter Šor (Peter Shor) daje skicu mašine za faktorisanje, zasnovane na principima kvantne meha-
nike. Za razliku od klasičnog računara koji se može posmatrati kao da ima jedno fiksno stanje u jed-
nom trenutku, kvantni računar ima intemu talasnu funkciju, koja je superpozicija kombinacije mogućih
osnovnih stanja. Izračunavanja transformišu tu talasnu funkciju, menjajući ceo skup stanja u jednoj
operaciji. Na taj način, kvantni računar je poboljšan klasični automat s konačnim brojem stanja: on ko-
risti kvantna svojstva koja mu omogućavaju da faktoriše u polinomijalnom vremenu, što teoretski
omogućava provaljivanje kriptosistema zasnovano na faktorisanju ili diskretnom logaritamskom prob-
lemu.
Postoji opšta saglasnost da su kvantni računari kompatibilni sa osnovnim zakonima kvantne meha-
nike. Medutim, malo je verovatno da će kvantni računar za faktorisanje biti napravljen u doglednoj
budućnosti... ako ikada i bude napravljen. Velika prepreka je dekoherencija, koji prouzrokuje gubljenje
različitosti među složenim talasnim oblicima i otkazivanja računara. Dekoherencija će izazvati otkazi-
vanje računara koji radi na 1° Kelvina, posle samo jedne nanosekunde. Osim toga, bio bi potreban
veoma veliki broj logičkih kola (engl. Gates) da bi se napravio kvantni uređaj za faktorisanje, pa izgle-
da kako ovu mašinu nije moguće napraviti. Šorov projekat zahteva kompletno stepenovanje po mod-
ulu. Ne može se koristiti interni generator radnog takta, tako da bi bilo potrebno više miliona ili mili-
jardi logičkih kola za faktorisanje kripiografski značajnih brojeva. Ako n kvantnih iogičkih kola ima
minimalnu verovatnoću otkaza p tada je prosečan broj pokušaja za jedno uspešno izvršavanje jednak
(1/(1 - p))n. Broj potrebnih logičkih kola verovatno raste polinomijalno s dužinom broja (u bitovirna),
pa bi broj neophodnih pokušaja bio supereksponencijalan s dužinom upotrebljenih hiojeva, što je lošije
od faktorisanja probnim deljenjem! Iako je kvantno faktorisanje oblast koja izaziva uzbuđenje u aka-
demskirn krugovima, veoma je mala verovatnoća da će imati praktičan značaj u doglednoj budućnosti.
42
7. Upoređivanje dužina ključeva simetričnih
algoritama i algoritama s javnim ključem
Sistem će biti napadnut u najslabijoj tački. Ako projektujemo sistem koji koristi i simetričnu kripto-
grafiju i kriptografiju s javnim ključem, dužine ključeva treba da budu takve da bude podjednako teško
napasti sistem preko bilo kog mehanizma. Nema smisla da se koristi simetrični algoritam sa 128-
bitnim ključem uz algoritam s javnim ključem dužine 386 bitova; kao što nema smisla ni koristiti
simetrični algoritam sa 56-bitnim ključem i algoritam s javnim ključem dužine 1024 bita.
U Tabeli 9. prikazane su dužine modula javnih ključeva čije je faktorisanje približno teško kao na-
pad grubom silom na simetrične ključeve popularnih dužina. Ova tabela kaže sledeće: ako se dovoljno
brinemo o bezbednosti i izaberemo simetrični algoritam s ključem dužine 112 bitova, tada za algoritam
s javnim ključem treba da izaberemo modul dužine oko 1792 bita. Uopšteno govoreći, za algoritam s
javnim ključem treba da izaberemo dužinu koja je bezbednija od dužine ključa simetričnog algoritma.
Javni ključevi se obično duže koriste i treba da štite veću količinu informacija.
Simetrični algoritam Algoritam s javnim ključem
56 bitova 384 bita
64 bita 512 bitova
80 bitova 768 bitova
112 bitova 1792 bita
128 bitova 2304 bita
Tabela 9. Dužine ključeva simetričnih algoritama i algoritama s javnim ključem sa sličnom
otpornošću na napade grubom silom
43
8. Rođendanski napadi na jednosmerne heš funkcije
Postoje dve vrste napada grubom silom na jednosmerne heš funkcije. Prvi napad je očigledniji: za
datu heš vrednost poruke, H(M), napadač bi hteo da napravi drugi dokument, M', tako da bude H(M) =
H(M'). Drugi napad je prikriveniji: napadač bi hteo da pronađe dve slučajne poruke, M i M', tako da
važi H(M) = H(M'). Ovaj napad se zove kolizija (engl. collision) i mnogo je jednostavniji od prvog.
Rođendanski paradoks je standardni statistički problem. Koliko osoba treba da bude u prostoriji da
bi bilo verovatnije da je neko rođen istog dana i meseca kad i vi nego da nije. Odgovor je 253. Dalje,
koliko osoba treba da bude u prostoriji da bi bilo verovatnije da su dve rođene istog dana i meseca ne-
go da nisu? Odgovor je iznenađujuće mali: 23. Ako su 23 osobe u prostoriji, postoji 253 različitih pa-
rova ljudi u toj prostoriji.
Pronalaženje nekoga sa određenim rođendanom analogno je prvom napadu, a pronalaženje dvoje
ljudi sa istim slučajnim rođendanom analogno je drugom napadu. Drugi napad je poznat kao
rođendanski napad (engl. birthdav aitack).
Pretpostavimo da je jednosmerna heš funkcija bezbedna i da je napad grubom silom najbolji izbor.
Njena izlazna vrednost ie dužine m bitova. Za pronalaženje poruke čija je heš vrednost jednaka zadatoj
heš vrednosti bilo bi potrebno hešovati 2m slučajnih poruka. Pronalaženje dve poruke s jednakim heš
vrednostima zahtevalo bi hešovanje svega ퟐ풎 ퟐ⁄ slučajnih poruka. Mašini koja hešuje milion poruka u
sekundi trebalo bi 600 000 godina da pronađe drugu poruku koja ima isti 64-bitni heš. Ista mašina bi
mogla da pronađe par poruka sa istom heš vrednošću za oko sat vremena.
To znači sledeće: ako smo zabrinuti zbog rođendanskog napada, treba da izaberemo dvostruko dužu
heš vrednost od one za koju inače mislimo da nam treba. Na primer, ako hoćemo da oborimo
verovatnoću da nam neko provali sistem na manje od 1 u 280, upotrebićemo 160-bitnu jednosmernu
heš funkciju.
44
9. Koliko dugačak treba da bude ključ?
Ne postoji jedinstven odgovor na ovo pitanje: sve zavisi od situacije. Da bismo odredili koliki nam
stepen sigurnosti treba, moramo sebi da postavimo neka pitanja. Koliko su vredni naši podaci? Koliko
dugo treba da budu sigurni? Kakve resurse imaju naši neprijatelji?
Lista kupaca može da vredi 1000 dolara. Finansijski podaci o slučaju teškog razvoda mogu vredeti
10 000 dolara. Reklamni i marketinški podaci velike kompanije mogu biti vredni milion dolara. Glavni
ključ sistema za rad s digitalnim novcern može vredeti milijarde.
U svetu trgovine, vreme tokom koga se čuvaju tajne izražava se u minutima. U svetu novinarstva,
današnje tajne su sutrašnji naslovi. Informacije o razvoju proizvoda možda treba držati u tajnosti godi-
nu ili dve. Podaci o popisu u SAD-u po zakonu treba da ostanu tajna čitavih 100 godina.
Lista gostiju za rođendansku žurku iznenađenja zanimljiva je samo radoznalim rođacima.
Korporacijski podaci o prodaji interesantni su konkurentskim kornpanijama. Vojne tajne su zaniml-
jive vojskama drugih zainteresovanih zemalja.
I bezbednosne zahteve možemo definisati pomoću takvih pojmova. Na primer:
Dužina ključa mora biti tolika da verovatnoća da će napadač koji uloži 100 miliona dolara uspeti da
provali sistem za godinu dana ne bude veća od 1 prema 232 , čak i pod pretpostavkom tehnološkog
napretka od 30 procenata godišnje u tom periodu.
U Tabeli 10. procenjeni su zahtevi za tajnošću nekoliko vrsta informacija.
45
Tip saobraćaja Rok važenja Minimalna dužina ključa
Vojne taktičke informacije minuta, sati 56-64 bita
Najava proizvoda, spajanje kompanija, kamate dani, sedmice 64 bita
Dugoročni poslovni planovi godine 64 bita
Industrijske tajne (npr.recept za koka-kolu) decenije 112 bitova
Tajna H bombe >40 godina 128 bitova
Identiteti špijuna >50 godina 128 bitova
Lične tajne >50 godina 128 bitova
Diplomatski promašaji >65 godina najmanje 128 bitova
Podaci s popisa u SAD 100 godina najmanje 128 bitova
Tabela 10. Bezbednosni zahtevi za različite vrste informacija
Buduću računarsku snagu je teže proceniti, ali postoji logično pravilo palca: količnik efikasnosti
računarske opreme i cene udvostručava se svakih 18 meseci, a povečava 10 puta svakih pet godina. To
znači da će za 50 godina najbrži računari biti 10 milijardi puta brži od današnjih! Imajmo na umu i to
da se ovi brojevi odnose samo na računare opšte namene; ko zna kakva će se specijalizovana oprema
za provaljivanje kriptosistema pojaviti u sledećih 50 godina?
Pod pretpostavkom da će se jedan kriptografski algoritam koristiti 30 godina, možemo da steknemo
uvid u to koliko mora da bude bezbedan. Algoritam koji se napravi danas, verovatno neće biti u opštoj
upotrebi do 2017. godine, a i dalje će se koristiti 2038. godine za šifrovanje poruka koje treba da osta-
nu tajne bar do 2088. godine.
46
10. ZAKLJUČAK
O sigurnosti podataka, komunikacija, informacija i svega ostalog mora se razmišljati kao o jednom
lancu. Sigurnost celog sistema je čvrsta koliko i njegova najslabija karika. Sve mora da bude sigurno:
kriptografski algoritmi, protokoli, upravljanje ključevima, i više od toga. Ako su algoritmi odlični, ali
je generator slučajnih brojeva slab, svaki mudar kriptoanalitičar napašće vaš sistem tako što će generi-
sati slučajne brojeve. Ukoliko popunite tu prazninu, ali zaboravite da bezbedno izbrišete memorijsku
lokaciju koja sadrži ključ, kriptoanalitičar će provaliti vaš sistem na taj način. Ako sve uradite ispravno
i slučajno pošaljete elektronskom poštom primerak svojih tajnih datoteka časopisu Wall Street fournal,
tada niste morali ni da se trudite oko zaštite. [10]
To nije pošteno prema kriptografima. Projektant sigurnog sistema, mora da razmišlja o svim
mogućim načinima napada i da se zaštiti od njih, a kriptoanalitičar mora samo da pronađe jednu puko-
tinu u vašem sigurnosnom sistemu i da je iskoristi.
Kriptografija je samo deo sigurnosti, i to često veoma mali deo. To je matematička osnova da se sis-
tem učini sigurnim, što se razlikuje od stvarnog obezbeđivanja sistema. Kriptografija ima svoje „kral-
jice veličine" - ljude koji toliko vremena provode raspravljajući o tome koliko dugačak ključ treba da
bude, da zaboravljaju na sve ostalo. Ako tajna policija hoće da zna šta je u vašem računaru, mnogo je
lakše da vam provali u kuću i instalira kameru koja snima šta je na vašem ekranu, nego da kriptoanali-
zira vaš disk.
Ipak, to ne znači da se treba predate. Naprotiv, svaki razbijen ključ mora kriptografu poslužiti kao
novo iskustvo, jer pametan uči na svojim greškama. Još više je važno učiti na tuđim greškama, odnos-
no biti u toku u svetu kriptografije i kriptoanalize.
Ono što sa sigurnošću znamo je da tehnologija, a naročito računarska tehnika napreduje eksponenci-
janim progresijama, i kao što pre 25 godina nismo mogli da zamislimo mobilne telefona, a sada je
život nezamisliv bez smartphone-a, tako ne možemo ni da pretpostavimo kako će se tehnologija razvi-
jati u sledećih pola veka. Da li ćemo morati da kriptujemo implante u sopstvenoj glavi da nam neko ne
47
bi čitao misli? Ili ćemo svakodnevno morati da menjamo ključeve za svoj virtuelni finansijski status da
ne bismo bankrotirali odjednom zaslugom nepoštenog eksperta za kriptoanalizu?
Ono što sa sigurnošću znamo je da trenutno stvari stoje ovako: ako uzmemo u obzir milione
umreženih računara, zombie viruse pa i Moore-ov zakon da se svakih 13 meseci snaga računara
udvostručuje, tada i kriptografi moraju linearno povećavati dužinu ključa kako bi se zaštitili od napada
sirove sile. No simetrični i asimetrični algoritmi su dizajnirani tako da ne mogu priuštiti velike
ključeve jer povećanjem dužine ključa vreme šifrovanja ili dešifrovanja raste (mada se povećava i
brzina računara, tako da realna brzina ostaje ista). Ovaj problem rešiv je jedino hibridnim algoritmom
ili algoritmom jednokratnog bloka kako je objasnio C. Shannon.
Jedna stvar stoji, Cloude Shannon jednostavnom algebrom dokazuje 1949. godine da je veličina
ipak bitna.
48
Literatura
[1] http://www.b92.net/tehnopolis/vesti.php?yyyy=2013&mm=02&nav_id=687817
[2] C. Shannon - "Communication Theory of Secrecy Systems", 1949. Godina
[3] http://www.scribd.com/doc/79832109/Problem-Duzine-Kljuca
[4] Željko Panian – informatički enciklopedijski rječnik
[5] Dejan Simić, “Tehnike zaštite u računarskim mrežama“, Fakultet Organizacionih Nauka Beograd, PPT Prezentacija, Beograd, Jun 2002.
[6] Zoran Bobar, “Zaštita računarskih mreža Ministarstva odbrane i vojske srbije primenom virtuelnog honeyneta“, Vojnotehnički glasnik 3/09, UDC: 004.7.056.53, Beograd, 2009
[7] Zaštita podataka u računarskim mrežama, MTVU lekcije, (http://www.knowledgebank1.
org/poslovna_informatika_fpsvs_1_svi_06/lekcije/lekcija7.pdf), 2009.
[8] Univerzitet u Nišu, Elektronski fakultet “Zaštita podataka primenom kriptografskih metoda”, Kovačević Vladimir http://www.scribd.com/doc/56264884/Zastita-podataka
[9] http://biblio.irb.hr/datoteka/544503.RadniOkvirZaSigurnuKomunikaciju.pdf
[10] D. B. Drajić: "Uvod u teoriju informacija i kodovanje”, Akademska misao, Beograd, 2000.