četvrtak, 18 aprila, 2024
Internet, mreže i komunikacije

Kriptografija/Kriptologija (1. deo)

Autor: Vladimir Cicović

Istorija kriptologije

Pisati o istoriji kriptografije/kriptologije je vrlo nezahvalno. Počećemo sa manjim delom, kako bismo kasnije uveli čitaoce u deo ove nauke o tajnom pisanju (kriptos – tajno, grafein – pisanje, kripto-grafija). Inače, istorija o kriptologiji je zaista puna tajni. Razlog tome je vrlo jednostavan – ljudi su čuvali tajne a kriptografija im je pomagala. Bitni događaji ljudske istorije su uvek pod nekim velom tajni.

Veliki imperator Julije Cezar (Juli 100 p.n.e – Mart 44 p.n.e), nastojao je da sačuva svoju imperiju. Znao je da svakog trenutka mora imati kontrolu nad svojom imperijom. U tom pogledu najvažniji deo su bile informacije koje je slao i primao od svojih vojskovođa. Te informacije su bile šifrovane uz pomoć šifarskog sistema koji danas zovemo “Cezarova šifra”. Cezar je uzeo alfabet otvorenog teksta i pomerio za 3 mesta i dobio alfabet šifrovanog teksta.

Primer:
Otvoreni Tekst: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Šifrovani Tekst: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Tako će reč NAPAD postati QDSDG (gde je NQ, AD…). Ovo je mogao samo da dešifruje onaj ko je poznavao ovaj šifarski sistem. Prva sprava za pomoć pri šifrovanju je bila skitala. Ovde ih spominjem jer je to prvi put da ljudi koriste spravu kako bi šifrovali. Kasnije će doći i do izrade mehaničkih sprava kao što su Lorenzova mašina, Enigma i mnoge druge.

Kriptografija se najviše razvijala tokom 2. svetskog rata. U tom periodu, pored razvijanja matematike, telekomunikacija i sličnih oblasti, došlo je do eksplozije upotrebe šifarskih sistema. Samim tim su se razvijale oblasti vezane za upotrebu, slanje i korišćenje šifarskih sistema.

Hladni rat je doneo upotrebu satelitskih sistema koji su bili zaštićeni One time pad šifarskim sistemom. Takođe, došlo je do pojave takozvanih simetričnih kripto-sistema i asimetričnih kripto-sistema.

Inače, kriptografiju koja koristi računare, to jest šifarske sisteme (ovde možemo reći i algoritam za računar) nastale na računarima i prilagođene radu računara zovemo “Modernom kriptografijom” a sve ranije šifarske sisteme stavljamo pod “Klasična kriptografija”. Da razjasnimo: “kriptologija” i “kriptografija” – kriptologija je nauka o tajnom, gdje imamo oblasti:

kriptografija – nauka o tajnom pisanju,
kriptofonija – nauka o zaštiti zvuka,
kriptovizija – nauka o zaštiti slike.

Drugim rečima , kriptologija obuhvata kriptografiju.

Terminologija Kriptografije

U kriptografiji imamo dve vrste informacija: otvoreni tekst i šifrovani tekst. Operacija koja otvoreni tekst pretvara u šifrovani tekst zove se šifarski sistem. U modernoj kriptografiji to se zove algoritam. Svaki legalan proces obrnut od šifrovanja se zove dešifrovanje. Svaki proces koji nije legalan, odnosno koristi nepoznavanje šifarskog sistema da bi se došlo do teksta, zove se dekriptovanje. Proces analize, klasifikovanje i druge radnje nad šifrovanim tekstom od strane treće strane se zove kriptoanaliza. Svaki znak otvorenog teksta ima svoju zamenu u vidu šifarske zamene ili šifrovanog znaka.

Oblici komunikacije mogu biti:

– ugovoreni oblik komunikacija (Beograd – Dubrovnik);
– tajni oblik komunikacije (Brod kreće sa ugljem – gde je Brod – artiljerija, ugalj – granatiranje);
– šifrovani oblik komunikacije (šifrovani tekst:ADF FDA – otvoreni tekst: VAN NAV );
– nevidljivi oblik komunikacije (nevidljiva mastila ).

Mi ćemo se obazreti na temu šifrovanog oblika komunikacije.

Pojedini šifarski sistemi koriste ključ. Ključ za šifrovanje može biti:

Prema dužini:

– konačni
– beskonačni

Prema tipu ključa:

– logički (beograd, sarajevo…)
– nelogički (mAKOS12goose= )
– mnemonični (NAPAD = 62723 , ako uzmemo brojeve sa mob. telefona)

Kriptografski Sistemi

Generalna podela:

1) Sistem premeštanja
2) Sistem zamenjivanja
3) Kombinacijske šifre (premeštanje + zamenjivanje)

Svi šifarski sistemi mogu da imaju ALFABET: sređeni ili nesređeni (ABCD.. , DOJA..)

Šifarski sistemi premeštanja:

– obično premeštanje
– premeštanje ključem
– premeštanje rešetkama
– dvostruko premeštanje

Šifarski sistem zamenjivanja se deli na:

1) Šifre proste zamene
2) Šifre složene zamene

1 – Šifre proste zamene (MONOALFABETSKE) se dele na:
– alfabetske šifre
– bigramske, Trigramske i poligamske šifre
– kodne tablice
– kodovi
– šifre raščlanjivanjem slova

2 – Šifre složene zamene (POLIALFABETSKE)
– šifre sa sređenim alfabetom
– šifre sa nesređenim alfabetom

Šta su to šifre premeštanja ?

Svaki otvoren tekst nad kojim se izvrši određeno premeštanje tako da drugi ljudi ne mogu da prepoznaju – zove se šifarski sistem premeštanja. Svojstveno je šiframa premeštanja da im se orginalna slova predstavljaju baš onakva kakva jesu i pre premeštanja, tako da, ako uzmemo frekvenciju pojavljivanja (pričaćemo o lingvističkoj statistici kasnije) i premešteni tekst – lako uočavamo da je u pitanju šifarski sistem premeštanja.

Šta su to šifarski sistemi sa rešetkama?

Prosto rečeno, uzmete kvadrat 5×5 i napišete neku rečenicu vertikalno, a uzmete slova horizontalno. To što ste uzeli je samo poznato onome ko poseduje ideju da je to 5×5 (naravno, može se uraditi kripto analiza i za manje od 10 sekundi se razbija). Ako 5 unutrašnjih polja označite sa crnim, to jest ne pišete u njih – i onda ispišete – to već postaje problem za nekoga da uradi jasnu kriptoanalizu teksta, to jest daje težinu za kriptoanalizu. Sada ovo što pišemo zove se rešetka – tekst upisan u kocku – odnosno bilo koji oblik koji ima unutar sebe kocke (može biti čak i piramida – nabitnije da primalac ima istu rešetku ispred sebe).

Kako obični šifarski sistem može biti “pojačan”?

Najbolja stvar su takozvani “lažni” znaci. Dve strane se moraju dogovoriti oko lažnih znakova – kako bi ih prepoznali. Naravno da postoje načini da se prepoznaju lažni znaci, šifarski elementi koji su samo zabluda za kriptoanalitičara. Ali, takođe postoje načini da se oni prepoznaju. Primer upotrebe lažnih znakova: NAPADCBRBS – C13BR44B5S; ovde smo dodali brojeve kao lažne znakove.

Šta su to šifre zamenjivanja ?

Šifarski sistem zamenjivanja jeste onaj u kome najmanje jedan znak otvorenog teksta postaje svoja zamena u šifrovanom tekstu. Takođe, gde ima zamena: jedan znak otvorenog teksta == jedan znak šifrovanog teksta, zove se monoalfabetska ili prosta zamena. Šifarski sistem zamene gde jedan znak otvorenog teksta može da postane najmanje dve zamene šifrovanog teksta, zove se šifarski sistem složene zamene.

Drugim rečima: šifre proste zamene su one gde se koristi jedan alfabet otvorenog teksta i jedan alfabet ili jedan skup znakova šifarskog sistema. Šifre složene zamene su one koje koriste jedan alfabet otvorenog teksta i više alfabeta šifarske zamene.

Primer proste zamene: A = C, B = D… (Cezarova šifra) Primer složene zamene: A = {B, C, D, ..A} – (Vignerova šifra); AC = DB, CA = BD (Playfairov šifarski sistem).

Šta su to kombinacijske šifre?

Šifarski sistemi koji kombinuju šifre premeštanja i šifre zamene zovu se kombinacijski šifarski sistemi. Primer: NAPAD, šifra premeštanja: PAAND, šifra zamene: CVVHJ (Cezarova zamena). Mala napomena: savremeni kripto algoritmi (moderna kriptografija) koriste kombinacijske šifre, na primer AES – ima premeštanje takozvano S-Box i onda šifarske zamene.

Cezarova šifra, ROT13

Jednostavniji oblik šifarskog sistema jeste Cezar šifarski sistem. To je obični supstitucijski šifarski sistem gde je jedno slovo otvorenog teksta jednako slovu šifarskog teksta.

Primer 1.(uzimamo slova alfebeta koji se koristi na računarima):

otv. tekst: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
šif. tekst: F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

Ovde imamo sređeni alfabet (gleda se šifarska zamena u odnosu na otvoreni tekst) a može biti i nesređeni oblik alfabeta (slova su u proizvoljnom nizu postavljena).

Primer 2.

otv. tekst: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
šif. tekst: V E K U Y N Q L J T R O A B W X P C D H F G Z I M S

Sada ćemo napraviti transformaciju teksta u šifrovanu zamenu.

Alfabet iz primera 1. :

otv. tekst: MI ZELIMO NAZAD
šif. tekst: RO EJKQRT SFEFI

Uradimo kratku analizu Cezarovog šifrovanja koje smo upravo izvršili.

Matematički prikaz ove transformacije je: F(x) ⇒ F(y), gde imamo iz prvog skupa (otvoreni tekst) kopiranje na drugi skup (šifrovana zamena) – u kojem nema takvog elementa prvog skupa, koji može imati više od jedne zamene u drugom. Takođe, primetimo da je F(x) ⇒ F(y), isto kao i F(y) ⇒ F(x). Drugim rečima, sve osobine otvorenog teksta dobija i šifarska zamena. Praktično to znači da neko ko poznaje osobine jezika vrlo brzo može da “razbije” šifarsku zamenu.
Pod osobinama jezika spada:

– frekvencija pojavljivanja slova
– frekvencija bigrama, trigrama, poligrama
– specifičnost jezika (recimo, -ANA nastavci u rečenicama ili -OVA, -SKA i slično)
– broj pojavljivanja glagola, prideva, imenica i sl.
– prosečna veličina reči, rečenice
– udaljenost slova (NAPAD, gdje je A udaljeno od drugog A tek jedno mesto ili N od DZ i slično)
– diferencijalnost teksta (tekstovi iste dužine, gde imaju poklapanja ili mimoilaženja)
– jedinstvenost reči (uskoro, sledeće poglavlje …)

Ovo spada pod kriptoanalizu, o tome ćemo u narednom broju.

ROT13 ima vrlo zanimljivu istoriju. U eri interneta, postojao je običaj da ako želite da nešto ružno ili nepriklano kažete na news grupama, jednostavno reč koja ne bi bila fina da se kuca/čita, šifrujete ROT13 (engl. rotate by 13 places). Takođe, on je supstitucijski šifarski sistem koji koristi sređeni alfabet.

Napomenuću vam da Windows XP, koristi ROT13 da bi “sakrio” u registry-ju vaše aktivnosti.