You are on page 1of 18

Visoka kola elektrotehnike i raunarstva strukovnih studija Beograd

Laboratorijske vebe iz predmeta SIGU !"S# I!$" %&'I"!I( SIS#)%&

Veba * KLASINA KRIPTOGRAFIJA

dr +oran Banja, !emanja %aek Ivan -abi.

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 -

8ada se klikne na )n,rHpt dobija se i7ratA

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

-obija se otvoreni tekstA

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

/i7rat je 1V8"U& Postupak

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

+atim kliknemo na )n,rHpt6 -obija se prozor sa i7ratomA

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

mod*D B S5R *5 52S B

V8

9 *5 5R N!SA S** 5I 5FS K L 9 ** 3 52 2 0 Postupak -akle i7rat je

mod*D B S3 L DS B :$G

V8:$G< to .emo proveriti kroz 'rHptool6

$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

Used alphabetA &B'-)$G(I:8L%!"1M S#UVNOP+ (ill 8eH %atriKA !umber Values


23 *5 5R 2L 23 ** 23 52 *2

%ultipli,ation variantA ?roT ve,tor@ K ?matriK@ Size o7 matriKA I K I

"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

%onoalphabeti, subsitution 4 &tbash


+adatakA koriste.i ,rHptoolGa i7rovati re =)%1#PS()LL > i7rom Substitution gde je kljuA MN) #PUI"1L8:(G$-S&+O'VB!%6 !ajpre< kako radi ova i7raU "vo je monoal7abetska substitu,iona i7ra gde se svako slovo menja u neko drugo s tim da se ne moe promeniti u dva razliita ve. uvek u jednoV Slino 'ezaru ?'ezarovoj i7ri@< sa tom razlikom to kod Substitution ,ipher ne mora postojati 7iKna zamena mesta za odreJeni broj ve. se svako slovo menja sa bilo kojim - UGI%V 8od &bash i7re< stvar je slina sa jednom razlikom6 1rvo slovo abe,ede se menja poslednjim< drugo slovo se menja pretposlednjim< et,A ?&B'-)$G(I:8L%!"1M S#UVNOP+ Q +PONVU#S M1"!%L8:I(G$)-'B&@6 Slovni poredak sa obeleenim slovima otvorenog tekstaA
& B ' - * $ G + I : 8 L , ! " P M S T U V N O - +

8lju sa odgovaraju.im slovima zamenjenim sa slovima iz otvorenog tekstaA


M N ) T P U I " 1 L K J ( G F - S A . O ' V B N %

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

8liknete na )n,rHpt6 -obija se i7rat6

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

$IL) Q !)N< uku,amo )1I#&1( )n,rHpt 4 -e,rHpt Q SHmmetri, ?,lassi,@ Q 1laH7air6

-obi.ete prozor =8eH )ntrHA 1laH7air>6 !a tom dijaloguA


"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

8liknite na )n,rHpt i dobijate slede.eA

Sada .ete sa istim kljuem odraditi dei7rovanje dobijenog i7rata6

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

You might also like