Professional Documents
Culture Documents
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
Uvod
1re svega treba razumeti podelu algoritama na simetrine i asimetrine< odnosno algoritme sa javnim kljuem6 Simetrini algoritmi za i7rovanje poruke 1 kokriste klju =8> kako bi dobili i7rat '6 -ei7rovanje se obrnuto od prethodnog pro,esa< i7rat ' se pomo.u istog kljua =8> pretvara u originalnu poruku 16 "sobina ovih algoritama je njihova brzina pa se mogu koristiti za i7rovanje velikih datoteka6 "vi algoritmi se jo nazivaju algoritmi sa jednim kljuem ?engl6 single key algorithms, one key algorithms@6 Snaga ovih algoritama lei u tajnosti kljua6 -ok god imamo potrebu da podatke aljemo u i7rovanom obliku ?to obino znai da treba da ostanu tajna za ostatak sveta@< klju za i7rovanje moramo drati u strogoj tajnosti ?jer u suprotnom i7rovanje je totalno besmisleno@6 /i7rovanje i dei7rovanje se obavlja slede.im jednainamaA )?8<1@B' -?8<'@B16 Simetrine algoritme moemo podeliti u dve grupeA
sekven,ijalni algoritmi ?protoni algoritmi ili algoritmi toka) C i7ruju poruku bajt po bajt6 bloko ski algoritmi ili bloko ske !i"re C i7ruju delove teksta koji se nazivaju blokovi ?npr< jedan blok je deo poruke duine DE ili 5*F bita@6
Algoritmi sa #a nim kl#$em ?engl6 public key algorithms@< tj6 asimterini algoritmi zasnovani su na i7rovanju poruka sa jednim kljuem tako da se dei7rovanje vri drugim kljuem< pri emu su ova dva kljua matematiki povezani6 "va veza je takva da se iz javnog kljua koji moe javno biti dostupan ?npr6 na public-key serverGu@ praktino ne moe dobiti privatni klju za dei7rovanje6 Samo osoba koja poseduje svoj privatni klju moe dei7rovati poruku i7rovanu odgovaraju.im javnim kljuem6 /i7rovanje i dei7rovanje moemo predstaviti slede.im 7ormulamaA )?85<p@B' -?8*<,@B1
Cryptool
'rHptool je kriptogra7ski so7tver koji prua uvid u nain 7unk,ionisanja algoritama za i7rovanje< od najstarijih ?'ezar@ do savremenih ?-)S< I-)S666@6 UgraJeni gra7iki prikazi toka i7rovanja pomau da se pojedinano razume svaki algoritam6 8oriste.i 'rHptool na ovim vebama predstavi.emo najznaajnije algoritme za i7rovanje i usput objasniti kako svaki od njih 7unk,ionie6 Strana 2 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
1okrenuti Virtuelnu mainu =%in&PSP'>< ulogovati se kao korisnik =A(min> sa lozinkom =pass)or(>6 1okrenuti 'rHptool6
'ezarova i7ra
+adatakA 8oriste.i 'rHptool i7rovati teKt =all hope is gone> 'ezarovom i7rom6 -a bi smo ovo uradili< moramo da razumemo kako 'ezarova i7ra 7unk,ionie6 U engleskoj abe,edi imamo *D slova ?znakova@ i za primere i7rovanja .emo ih numerisati od 2 do *L ili od 5 do *D6 1o 'ezarovoj i7ri se svaki znak ?slovo@ pomera za tri mesta u desno tako da & postaje -< B postaje )< itd6 1ogledajte slede.u tabeluA
& B ' - ) $ G ( I - ) $ G ( I : : 8 L % ! " 1 M S # U V N O P +
8 L % ! " 1 M
S # U V N O P + & B '
Postupak "tvoriti novi prozor za unos porukaA $IL) Q !)N6 "tku,ati =all hope is gone> u prozor za upis teksta6 Iz menija 'rHpt 4 -e,rHpt izabrati SHmmetri, ?,lassi,@ Q 'aesar 4 ot 5I6
Strana 3 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
"tvara se prozor za podeavanja samog algoritma gde treba podesiti par stvari6
Sele,t VariantA 'aesar "ptions to interpret the alphabet ,hara,tersA & B 2 8eH entrH asA !umber value B I ili &lphabet ,hara,ter B -
Strana 4 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
Sada moemo proveriti svoj i7rat obrnutim pro,esom C tj sa istim podevanjima odraditi -e,rHptA
Strana 5 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
Vigenereova i7ra
8oriste.i 'rHptool i7rovati i dei7rovati tekst =& #"$N& > Vigenereovom i7rom sa kljuem 8B1) &6 Vigenereova i7ra je polial7abetska i7ra to znai da ne preslikava jedno slovo ?znak@ uvek u drugo slovo ?znak@< ve. jedno slovo moe biti preslikano u onoliko razliitih slova kolika je duina kljua6 #j ako je klju duine m karaktera< jedno slovo se moe preslikati u m mogu.ih slova u i7ratu6 Ukoliko klju predstavimo kao niz znakova 8 B k5< k*< kI< 666 km< i7rovanje i dei7rovanje se mogu predstaviti na slede.i nainA )k?K5< K*< KI< 666 Km@ B ?K50k5< K*0k*< 666 Km0km@ -k?H5< H*< HI< 666 Hm@ B ?H5Ck5< H*Ck*< 666 HmCkm@ U ovom sluaju< opera,ije sabiranja i oduzimanja se odvijaju po modulu *D jer koristimo )nglesku abe,edu6 1ostavi.emo numerike ekvivalente za otvoreni tekst i kljuA & #"$N& B 2< 5R< 53< 5E< L< **< 2< 5R 1) & B 5L< E< 5R< 2 /i7rat dobijamo tako to sabiramo pojedinane vrednosti po modulu *D6 &ko je klju kra.i od otvorenog teksta< dopunjuje se slovima od poetka C u ovom sluaju otvoreni tekst je duine F slova a klju E slova6 -akle< za sabiranje sa & #"$N& koristimo re 1) &1) &6
otv6 tekst klju i7rat &< 2 1< 5L 1< 5L < 5R )< E V< *5 #< 53 < 5R 8< 52 "< 5E &< 2 "< 5L $< L 1< 5L U< *2 N< ** )< E &< 2 &< 2 < 5R < 5R < 5R &< 2 < 5R
Sada .emo to probati na 'rHptoolGu6 $IL) Q !)N< zatim otku,ati =& #"$N& >6 'rHpt 4 -e,rHpt Q SHmetri,?,lassi,@ Q Vigenere6
Strana 6 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
-obijamo prozor gde nam se trai da uku,amo klju6 !a klju .e biti 1) &6 !a dugmetu #eKt options imate podeavanja koja moete pogledati ali .emo ih sad ostaviti na de7ault vrednostima6
Sada moete pokuati da sa istom kljunom rei dei7rujete rezultat6 -ei7rovanje se vri na isti nain kao i7rovanje osim to se sada klikne na -e,rHpt A@
Strana 7 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
(illova i7ra
1omo.u 'rHptoolGa i7rovati re ='L"N!S> (ilovom i7rom ako je klju dat matri,omA 3 *5 5R 8 B L 9 ** 3 10 20
3 *5 1 7 L 3 22 3 52 2 0
1oto je matri,a oblika IKI< rastavljamo otvoreni tekst na dva sloga od po tri slovaA 'L" i N!S6 !jihove numerike vrednosti su A *< 55< 5E i **< 5I< 5F6 'L"A S* 55 5ES K
V8
mod*D B S3 L DS B :$G
$IL) Q !)N< otku,amo re otvorenog teksta< 'L"N!S6 'rHpt 4 -e,rHpt Q SHmmetri, ?,lassi,@ Q (ill6 1opunite slede.i prozor tako da bude oznaeno slede.eA
23 *5 5R 2L 23 ** 23 52 *2
"znaite i ,he,kGboK shoT details and single steps o7 (ill 'ipher ?nakon pokretanja )n,rHpt< dobi.ete takoJe i prozor =-etails> na kom je postupak i7rovanja prikazan korak po korak@6 8arti,e (ill "ptions i #eKt "ptions nude podeavanja vezana za samo i7rovanje ali na njima ne.emo menjati nita6
Strana 8 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
!akon popunjavanja dijaloga sa prethodne slike moemo da izvrimo enkrip,iju i dobijamo slede.eA
1okretaju.i dei7rovanje dugmetom -e,rHpt dei7rujemo dobijeni i7rat i ponovo imamo otvoreni tekst6 Strana 9 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
ezultatA )%1#PS()LL Q #:$+!&I#886 Postupak Sada probajte ovo na 'rHptoolGu $IL) Q !)N< uku,amo )%1#PS()LL6 )n,rHpt 4 -e,rHpt Q SHmmetri, ?,lassi,@ Q Substitution6 -obi.ete prozor =8eH )ntrHA %onoalphabeti, substitution 4 &tbash>6 U polje za klju ku,ate MN) #PUI"1L8:(G$-S&+O'VB!%6 9ekirate prvo polje za varijantu substitu,ije ?slova poreJana po reduA &B'-666@6
Strana 10 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
1laH7airova i7ra
+adatakA i7rovati re =)1I#&1(> pomo.u 'rHptoolGa koriste.i 1laH7airGovu i7ru i klju =&BSP!#(>6 1laH7airGova i7ra je polial7abetska< i7ruje pomo.u jednog para slova tako da rezultat i7rovanja zavisi od oba slova6 8ljuna re proizvodi matri,u kojom se Strana 11 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
i7ruje dati tekst6 1oto koristimo u primerima englesku abe,edu koja ima *D karaktera< pravi se matri,a L K L ?*L 0 ostatak 5@6 "pti dogovor je da se slova I i : poistovete tako da se stavljaju u isto polje6 U matri,u se upisuju slova kljune rei< u ovom sluaju to je re &BSP!#(6 Upisuju se tako da nema ponavljanja< tj6 upisuju se samo razliita slova kljune rei a ostala slova u matri,i su preostali karakteri engleske abe,ede6 %atri,a za re &BSP!#(A
& # $ % U B ( G " V S ' I: 1 N P 8 M O + ! ) L
"d otvorenog teksta se prave blokovi od po dva slova ?obavezno razliita@ C pri tome< duina teksta mora biti parna< u sluaju da je tekst neparne duine uba,uje se slovo po dogovoru< npr6 O6 "znaimo slova jednog bloka u matri,i6 %ogu.e su tri situa,ije i shodno tome postoje tri naina za dobijanje dva slova i7rataA
&ko su oba slova u istoj koloni< zamenjuju se slovom koje se nalazi za jedno mesto ispod &ko su oba slova u istom redu zamenjuju se slovom koje se nalazi za jedno mesto u desno &ko se ne nalaze u istoj koloni ni u istom redu< pravi se pravougaonik ija su ta dva slova take dijagonale6 1rvo slovo i7rata se dobija itaju.i slovo koje se nalazi u istom redu prvog slova para slova otvorenog teksta< drugo slovo i7rata se dobija itaju.i slovo koje se nalazi u istom redu drugog slova para slova otvorenog teksta6
"bjasni.emo ovo na primeru od nekoliko slova iji parovi demonstriraju primenu prethodnih pravila6 1retpostavimo da i7rujemo re GI#& &6 -elimo je u blokove od po dva slovaA GI< #&< &6 8oriste.i pravila iz prethodne tri take dobijemo i7rate za svaki parA GI Q I8 #& Q $# & Q %! "vaj postupak se ponavlja za sve ostale blokove6 !a primer je re )1I#&1(6 -elimo je na blokokveA )1 < I#< &1< (O6 U ovom sluaju dodali smo slovo O jer broj slova u rei neparan6 ezultat jeA )1 Q ' I# Q $' &1 Q S% (O Q -V Strana 12 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
A B S Y N T H C D E F G IJ K L M O P Q R U V W X Z Postupak !a 'rHptoolGuA
A B S Y N T H C D E F G IJ K L M O P Q R U V W X Z
A B S Y N T H C D E F G IJ K L M O P Q R U V W X Z
A B S Y N T H C D E F G IJ K L M O P Q R U V W X Z
"znaite ,he,kboK 1re7ormat teKt6 Unesite &BSP!#( u polje Short version o7 1laH7air keH6 "znaite LKL matriK6
Strana 13 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
-obijeni i7ratA
BHte&ddition
+adatakA i7rovati =NI!-"$("U S> pomo.u 'rHptoolGa algoritmom BHte&ddition< kljuemA 22 5* IE LD RF 3&6 BHte&ddition algoritam radi tako to na otvoreni tekst dodaje karakter po karakter ?bajt po bajt@ kljua6 &ko je duina kljua ve.a od duine otvorenog teksta onda se po svakom upotrebljenom karakteru ?bajtu@ iz kljua ,ikliki pomeramo na prvi karakter kljua i i7rujemo ?dodajemo@ dalje dok se ,eo tekst
Strana 14 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
ne i7ruje6 Svako prenoenje =,arrH> se ignorie6 +nai< posle svakog prenoenja 'arrH bit se !) setuje6 Postupak Sada .emo demonstrirati ovaj proves i7rovanja na 'rHptoolGuA $IL) Q !)N< uku,amo NI!-"$("U S )n,rHpt 4 -e,rHpt Q SHmmetri, ?,lassi,@ Q BHte&ddition6 "tvara se prozor u koji treba da unesemo kljuW popunite ga kao na sli,iA
Strana 15 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
O"
algoritam
+adatakA i7rovati re =1U I#&!I&> pomo.u 'rHptoolGa algoritmom O" ?)Klusive " @< kljuemA DD D3 33 3D6 &lgoritam O" opera,ijeA ??& O" se oslanja na jednu jako lepu osobinu istoimene logike B@ B &
B@ O"
-akle ako dva puta primenimo O" sa istim operandom na neku vrednost< kao konani rezultat dobijamo istu vrednost6 O" algoritam 7unk,ionie tako to i7ruje otvoreni tekst bit po bit tako to O" G uje bit otvorenog teksta sa bitom kljua6 "vo je tabela O" GovanjaA
& 2 2 5 5 B 2 5 2 5 & O" 2 5 5 2 B
"pera,ija dei7rovanja je identina i7rovanju6 Postupak Sada isto to radimo u 'rHptoolGuA $IL) Q !)N 'rHpt 4 -e,rHpt Q SHmmetri, ?,lassi,@ Q O" 1opunite prozor kao na sli,i i odradite )n,rHpt6
ezultatA
Strana 16 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
Vernam
+adatakA i7rovati tekst =I -I- %P #I%) &!- I N&!# "U#> pomo.u 'rHptoolGa algoritmom Vernam koriste.i tekstualni dokument VernamKey.txt ?nalazi se u direktorijumu 'A4-o,uments and Settings4&dmin4%H -o,uments4Vernam@ kao klju6 VernamGov algoritam je zapravo O" algoritam koji koristi dokument kao klju za i7rovanje jer je mogu.nost razbijanja kljua dosta manja nego kada se za klju postavi niz karaktera ili binarnih vrednosti6 "vaj klju se jo naziva i jednokratna beleni,a ?one time pad@6 1 I%)-B&A #)" I:S8I :) -"8&+IV" -& :) "V" SIGU !& /I$ & C !) %"X) S) &+BI#I &8" S) 1 I- X&V& -)$I!IS&!I( 1 &VIL&6 1"S#":I %"GUY!"S# -& S) 1"#1U!"% 1 )# &G"% -"Z) -" !)8I( S%ISL)!I( )/)!:& &LI SU "!& :)-!&8" V) "V&#!& I -"BI:)!I )+UL#&# U 1 &8SI !) %"X) -& S) IS8" IS#I6 Postupak Isprobajte na 'rHptoolGu VernamGovu i7ru6 $IL) Q !)N< upiite =I -I- %P #I%) &!- I N&!# "U#> 'rHpt 4 -e,rHpt Q SHmmetri, ?,lassi,@ Q Vernam +atim naJete tekstualnu datoteku uA 'A4-o,uments and Settings4&dmin4%H -o,uments4Vernam i selektujete je za otvaranje6 8ada kliknete na "pen< 'rHptool .e obaviti i7rovanje i dobi.ete izlaz< tj6 i7rat6 U sluaju da je klju kra.i od otvorenog teksta< 'rHptool .e vam izba,iti poruku ali .e sve jedno i7rovati ,iklino6 1oruka samo znai da je klju nedovoljno siguran ali opera,ija i7rovanja moe da se izvri6
Strana 17 / 18
V/)
#0! #0)1" *2234*2526 Sigurnost in7orma,ionih sistema6 Lab 2*6 8L&SI9!& 8 I1#"G &$I:&6
; dr +oran Banja,< !emanja %aek< Ivan -abi. *2236
-obijamo i7rat iz kog pomo.u ponovnog kriptovanja samog i7rata istim dokumentom moemo uvek dobiti originalnu poruku< tj6otvoreni tekst6 "vo odradite sami6
Strana 18 / 18