KISS - Predavanje 2

11
ELEKTROTEHNIČKI FAKULTET UNIVERZITET U SARAJEVU Odsjek za telekomunikacije MSc studij, I godina Predmet: Kriptografija i sigurnost sistema Predavač: R. Prof. Dr Narcis Behlilović, dipl. ing. el - PREDAVANJE 2 -

description

kiss

Transcript of KISS - Predavanje 2

Page 1: KISS - Predavanje 2

ELEKTROTEHNIČKI FAKULTET UNIVERZITET U SARAJEVU

Odsjek za telekomunikacije MSc studij, I godina

Predmet: Kriptografija i sigurnost sistema Predavač: R. Prof. Dr Narcis Behlilović, dipl. ing. el

- PREDAVANJE 2 -

Page 2: KISS - Predavanje 2

Osnovi kriptografije Postoje brojne definicije kriptografije, koje su u osnovi ipak više, ili manje slične. Prema jednoj od njih, kriptografija (eng. Cryptography) je umjetnost i nauka čuvanja bezbjednosti poruka. Osobe koje se dominantno bave izučavanjem i unapređivanjem kriptografije, nazivaju se kriptografi (eng. Cryptographers). U davnim antičkim vremenima tajnost komuniciranja se pokušavala ostvariti skrivanjem poruke (pisanje po tablici, pa zalijevanje voskom teksta, pisanje po obrijanoj glavi glasnika, kinesko pisanje po svili, pisanje nevidljivim mastilom,....). Ovakav pristup tajnosti komuniciranja, zasnovan prevashodno na tajnosti lokaliteta za smještanje poruke, naziva se steganografija (od grčkih rječi: steganos - prikriven i grafein - pisati). Steganografija ima značajnu slabost u činjenici, da ako se poruka presretne i uhvati, ona praktično odmah biva i otkrivena. Stoga se paralelno sa razvojem steganografije razvijala i kriptografija. Naziv kriptografija, također potiče od grčkih riječi kriptos - skriveno i grafein - pisati, ali kod kriptografije nije težište na skrivanju lokaliteta poruke, nego na skrivanju njenog značenja. Da bi se ostvarili vedi efekti u očuvanju tajnosti, često su se steganografija i kriptografija kombinovale. Tokom Drugog svjetskog rata, u Latinskoj Americi njemački agenti su fotografisanjem uspjevali čitavu stranicu teksta kondenzovati u tačku prečnika manjeg od milimetra, da bi potom takvu tačku stavili u neki bezbjedonosno bezvrijedni tekst. Ipak, ved 1941. godine, FBI je pronašao prve takve mikro tačke, tako da su efekti zasnovani na steganografiji postali beskorisni. Njemački agenti su brzo reagovali i nastavili s takvom praksom, ali su izvorni tekst prije sažimanja u tačku, prethodno i kriptovali. Amerikanci su tada i nakon što lociraju takvu tačku ostajali bespomodni, jer je u nastavku aktivnosti trebalo još i dešifrovati pronađeni tekst. Od pomenute dvije opcije za tajnost komunikacija, kriptografija je sigurnosno mnogo modnija, što se dokazuje vrlo lako, ne samo njenom širokom implementacijom, nego i njenim stalnim razvojem i unapređivanjem. Steganografija se u novije vrijeme provodi tako da se poruke skrivaju u slikama. Najmanje značajan bit svakog bajta slike, zamjeni se bitom poruke. Zbog ovoga zahvata izvorna slika se nede bitnije promjeniti, jer se u vedini grafičkih formata prikazuje više boja, nego što ljudsko oko može da detektuje. U crno-bijelu fotografiju rezolucije 1024x1024 opisanim pristupom mogude je ubaciti tekst od 64 kilobajta. Sposobnosti razbijanja postojedih kriptografskih zaštita, objedinjuju se u naučnoj disciplini kriptoanalizi (eng. Cryptoanalysis), a specijalisti za tu naučnu oblast nazivaju se kriptoanalitičarima (eng. Cryptoanalysts). Matematička grana koja objedinjava i kriptografiju i kriptoanalizu naziva se kriptologija (eng. Cryptology). Izvorna poruka, odnosno otvoreni tekst skradeno se označava sa M (eng. Message), ili sa P (eng. Plaintext). Iskazuje se putem odabranih simbola, koji s aspekta računara imaju samo, vlastitu, binarnu interpretaciju. Izvorni tekst je najčešde namjenjen, ili za skladištenje, ili pak za slanje na određenu lokaciju. Kriptovani oblik otvorenog teksta ili šifrat (eng. Ciphertext), obično se skradeno označava sa C. Iskazan je u binarnom obliku, pri čemu broj njegovih bita, može biti ne samo isti kao i u M, nego i vedi, pa čak i manji, od broja bita u M, a što se pak postiže kombinovanje šifrovanja i kompresije.

Page 3: KISS - Predavanje 2

Postupak kriptovanja, matematički se izrazava relacijom (2.1), u kojoj je sa označena funkcija kriptovanja (šifrovanja). ( ) (2.1) Da bi se iz kriptovanog oblik otvorenog teksta, C, ponovo dobio otvoreni tekst M, potrebno je nad formom C, funkcijom dekriptovanja D, praktično poništiti efekte kriptovanja. Postupak dekriptovanja, matematički se izrazava relacijom (2.2), u kojoj je sa D označena funkcija dekriptovanja. ( ) (2.2) Od suštinske vaznosti je očuvanje obostrane jednoznačnosti preslikavanja, iz skupa izvornih poruka, kojem pripada i poruka M, u skup šifrata, kojem pripada i šifrat C (samim tim je obezbjeđeno i jednoznačno preslikavanja iz skupa šifrata, u skup izvornih poruka). S tim u vezi mora važiti i sljededa relacija:

( ( )) (2.3)

Kriptografski algoritam, (eng. Cryptographic Algorithm) ili šifra, je matematička funkcija koja se koristi za šifriranje i dešifriranje. Bazira li se sigurnost algoritma na tajnosti procedure, prema kojoj se on realizuje, tada je raspoloživi algoritam ograničen (eng. Restricted). Ograničeni algoritmi su karakteristični za kriptografske zahvate niskog bezbjedonosnog nivoa. Ovakvi algoritami, primjenjuju se samo unutar ograničene (zatvorene) grupe. Čim jedna osoba iz grupe napusti grupu (jasno, živa i zdrava ), upotrbljavani algoritam se mora mijenjati. Teško je procijeniti i stvarnu sigurnost upotrebljavanog algoritma, ukoliko u samoj zatvorenoj grupi ljudi nema dobar kriptograf, a upitno je i subjektivna ocjena dobrog kriptografa. Modniji kriptografski algoritmi, pridruženu im sigurnost ne zasnivaju na tajnosti algoritma. Njihova sigurnost, po pravilu je bazirana na tajnosti upotrbljenog ključa. Dakle takav algoritam može biti javno objavljen i analiziran. Proizvodi koji koriste ovakve algoritme, mogu biti masovno distribuirani u javnosti. Ključ (eng. Key), je kao i izvorna poruka, skup simbola, koji u opštem slučaju (ako određenim algoritmom nisu propisana konkretna ograničenja na njegovu kompoziciju), može imati proizvoljnu strukturu. Skup mogudih vrijednosti ključa naziva se prostor ključeva (eng. Keyspace). Kod kriptografskih algoritama koji raspolažu i vlastitim ključem, isti se ugrađuje i u funkciju kriptovanja i u funkciju dekriptovanja , tako da se relacije (2.1), (2.2) i (2.3), transformišu u relacije (2.4), (2.5) i (2.6): ( ) (2.4) ( ) (2.5) ( ( )) (2.6)

Page 4: KISS - Predavanje 2

Ukoliko algoritam koristi posebne ključeve i za fazu kriptovanja i za fazu dekriptovanja , tada se posljednje relacije transformišu u relacije (2.7), (2.8), (2.9). ( ) (2.7)

( ) (2.8)

( ( )) (2.9)

Kriptosistem (eng. Cryptosystem) je pojam koji obuhvata kriptografski algoritam, sve mogude otvorene tekstove, sve njihove verzije - kriptovane predmetnim algoritmom i sve mogude ključeve, usklađene s tim algoritmom. Formalno se kriptosistem može definisati na sljededi način: Kriptosistem je uređena petorka (M, C, K, E, D), u kojoj je M konačan skup svih osnovnih elemenata otvorenog teksta, C konačan skup svih osnovnih elemenata kriptovanog teksta, K konačan skup svih ključeva, E(M,K) → C skup svih funkcija šifriranja, a D(C,K) →M skup svih funkcija dešifriranja. Za svaki , postoji funkcija šifriranja i funkcija dešifriranja i to takve da važe relacije:

; ; ( ( ))

Posebno vazan detalj u prethodnoj definiciji je zahtjev da funkcija mora biti injektivno preslikavanje. U protivnom, ukoliko bi se dozvolila i mogudnost da je: ek (x1) = ek (x2) = y ( ) ( ) primalac poruke ne bi mogao dovoljno pouzdano odrediti da li da dešifruje kao ili pak kao . Dakle, funkcija ne bi bila dovoljno precizno definisana, sa stanovišta kriptografskih zahtjeva. Kriptosistemi se klasificiraju uglavnom na osnovu slijededa tri kriterija:

tipu operacije, koja se koristi tokom šifriranja (uglavnom su to substitucija, ili pak transpozicija, mada postoje i hibridna rješenja koja kombinuju obje te operacije);

načinu na koji se obrađuje izvorni tekst, on može biti zasnovan na blokovskoj obradi dijelova -blokova izvornog teksta, uz korištenje stalno istog ključa, ali i na protočnoj obradi izvornog teksta (eng. Stream Cipher) kod kojeg se elementi izvornog teksta obrađuju jedan po jedan, uz korištenje paralelno generiranog niza ključeva (eng. Key Stream);

medijskom statusu korištenog ključa, koji može biti tajni, ili pak javni.

Page 5: KISS - Predavanje 2

Kod simetričnih, ili konvencionalnih kriptosistema, ključ za dešifrovanje se može lako izračunati iz ključa za šifrovanje, ukoliko oni nisu identični. Međutim ključevi za šifrovanje i ključevi za dešifrovanje, kod ovakvih sistema po pravilu su identični, što im i pribavlja atribut simetričan. Sigurnost ovih kriptosistema leži u tajnosti ključa. Ovakvi sistemi nazivaju se i kriptosistemi s tajnim ključem. Kod kriptosistema s javnim ključem (asimetrični kriptosistemi), ključ za dešifrovanje se praktično ne može izračunati na osnovu poznatog ključa za šifrovanje, koji je javno publikovan podatak. Dešifrovanje praktično može ostvariti samo onaj koji, za obznanjeni javni ključ, poznaje odgovarajudi tajni ključ, a to je njegov vlasnik. Ideju javnog ključa predočili su Whitfield Diffie i Martin Hellman 1976, tokom rasprava na temu kako prenositi ključeve za sismetrične kriptosisteme, putem nesigurnih komunikacijskih kanala. Osnovni zadatak kriptografije, može se iskazati i kao zahtjev za čuvanjem izvornog teksta od neovlaštenih osoba, koje pokušavaju da ga se domognu. Kao što je ved konstatovano, kriptoanaliza je nauka koja, bez ključa, a na osnovu pribavljenog šifrata, pokušava odrediti izvorni tekst. Kriptoanaliza omogudava i da se lociraju slabosti analiziranog kriptosistema, ali da se eventualno dođe i do osnovnog cilja ove nauke - spoznaja izvornog teksta, ili pak ključa koji se koristi. Svaki kriptoanalitički pokušaj naziva se napad (Attack). Prvi radovi iz područja kriptoanalize vezuju se za filozofa arapskog porijekla Al Kindija koji je živio u IX vijeku. Njegovo najvažnije dijelo „Manuskript o dešifrovanju kriptografskih poruka“, ponovo je otkriveno tek 1987. u Istanbulu (u Otomanskoj arhivi Sulejmaniji). To djelo obuhvata detaljne rasprave i analize o statistici, arapskoj fonetici i sintaksi. Al Kindi se i danas smatra ocem Teorije učestanosti. U periodu od 800. do 1200. godine nove ere, arapski svijet je ved bio u golemoj naučnoj prednosti spram Evrope. Dok su arapski učenjaci uživali u razdoblju velikih vlastitih naučnih dostignuda, u Evropi se tek u XV vijeku, tokom Renesanse, omogudilo da i kriptografija doživi vlastiti procvat. Venecijanski šifrant Đovani Soro, postavljen 1506. godine za sekretara šifranta u Veneciji, smatrao se jednim od najobrazovanijih evropskih šifranata i prvim velikim evropskim kriptoanalitičarem.

Holanđanin August Kerkof ( August Kerckhoffs (1835-1903)) je utemeljio važnu tezu da tajnost mora biti zasnovana na ključu, odnosno da je normalno da kriptoanalitičar zna sve pojedinosti o primjenjenom kriptografskom algoritmu. Konceptualno se kriptoanalitički napadi mogu grupisati u nekoliko osnovnih tipova:

napad tipa „samo šifrat“ (eng. Ciphertext – Only Attack). Kriptoanalitičar u ovakvim situacijama ima samo nekoliko poruka šifrovanih istim algoritmom za šifrovanje. Zadatak kriptoanalitičara je da rekonstruiše izvorni tekst za što više poruka, ili još bolje da otkrije ključ (odnosno ključeve), koji su korišteni, kako bi mogao otkrivati i naredne poruke šifrovane istim algoritmom. Pobrojani ciljevi se analitički mogu iskazati relacijama, za poznato: ( ), ( ), ( ), ...., ( ) a cilj je izračunati: , , ,..., ili napraviti algoritam koji omogudava da se u opštem slučaju na osnovu ( ) odredi .

napad tipa „poznat otvoreni tekst“ (eng. Known – Plaintext Attack). Kriptoanalitičar ima

pristup određenom broju šifrata i njima odgovarajudih izvornih poruka, pa nastoji da odredi ključ (ključeve), kako bi mogao da dešifruje svaku narednu poruku dato je: ( ), ( ), , ( ), ...., , ( )

Page 6: KISS - Predavanje 2

a cilj je izračunati ključ , ili pak algoritam, koji de omoguditi da se na osnovu ( ) odredi .

napad „odabran otvoreni tekst“ (eng. Chosen – Plaintext Attack). Kriptoanalitičar ne samo

da ima pristup određenom broju šifrata i njima odgovarajudih izvornih poruka, nego može i birati izvorni tekst koji de biti šifrovan. Ovo je modniji napad od napada tipa „poznat otvoreni tekst“, jer je kriptoanalitičar u prilici da bira specifične blokove izvornog teksta, koji mu pomažu da lakše dođe do informacija o ključu, kako bi ga odredio i time stvorio preduslove da dešifruje svaki naredni šifrovani tekst. Poznato je dakle: ( ), ( ), , ( ), ...., , ( )

pri čemu sam kriptoanalitičar određuje-bira: , , ,..., . Postavljeni je cilj izračunati ključ , ili pak algoritam, koji de omoguditi da se na osnovu ( ), odredi .

napad tipa „prilagodljiv odabrani otvoreni tekst“ (eng. Adaptive – Chosen – Plaintext Attack)

Ovo je poseban slučaj napada tipa „odabran otvoreni tekst“. Kriptoanalitičar ne samo da može da odabere šifrovan otvoreni tekst, ved moze i da modifikuje ono što je odabrao na osnovu rezultata prethodnih šifrovanja. Dok kod napada „odabran otvoreni tekst“, kriptoanalitičar bira blok izvornog teksta za šifrovanje, napad „prilagodljiv odabrani otvoreni tekst“ omogudava da se odabere i manji dio odabranog bloka, nad kojim se izvrši planirani napad, pa zatim koristedi i tako dobijene rezultate ponovi još jedan napad na drugi dio bloka, odnosno da iterativno rješava problem dostizanja postavljenog cilja.

Pored ova četiri tipska kriptoanalitička napada, u literaturi se spominju i kriptoanalitički napadi poput:

napad tipa „odabrani šifrat“ (eng. Chosen – Ciphertext Attack). Napadač moze da odabere šifrat za dešifrovanje, a ima i pristup dešifrovanom tekstu tog šifrata. Cilj mu je da odredi ključ. Poznato je: ( ), ( ), ( ), ( ), a izračunava se ključ . Ovakav napad se često primjenjuje na kriptografske algoritme s javnim ključem.

napad tipa „odabrani ključ“ (eng. Chosen – Key Attack). Ovaj napad se zasniva na

određenom obimu informacija o ključu, na osnovu čega se on pokušava rekonstruisati.

kriptoanaliza, prijetnjom, krađom ili ucjenom (eng. Rubber – Hose Cryptoanalysis). Napadač prijeti, ucjenjuje ili muči odabranu osobu kako bi saznao ključ. Ovakvi napadi su vrlo opasni i vrlo efikasni, ukoliko se moze dodi do odgovarajude osobe.

Oni koji tvrde da raspolažu sa neprovaljivom šifrom, samo na osnovu spoznaje da oni nisu u stanju da je provale, ili su geniji, ili su budale. Iskustva su pokazala da u dosadašnjem istorijatu razvoja kriptoanalitike, da realno nema mjesta pretjeranom optimizmu po pitanju sigurnosti tajnih informacija, te da se preventivno djelovanje, stalna testiranja i određena doza paranoičnog

Page 7: KISS - Predavanje 2

pesimističnog stava u vidu stalne sumnje da li su podaci sigurni, zaista može uzeti kao jedini ispravan prilaz analizi trenutne i isključivo trenutne mjere sigurnosti informacija i podataka od interesa. Razvoj kriptografije stalno prati i razvoj kriptoanalize, te je time i zagarantovana vremenska ograničenost uspjeha svakog kripto-algoritma. Kao relativna mjera sigurnosti i uspješnosti nekog aktuelnog kripto-algoritma smatra se da ste u osnovi bezbjedni, ukoliko je cijena provaljivanja tajnih podataka, veda od njihove materijalne vrijednosti (također su prihvatljive i opcije: vrijeme za provaljivanje tajnih podataka duže je od vremenskog intervala, tokom kojeg treba da su podaci tajni; količina podataka šifrovanih jednim ključem, manja je od količine podataka neophodnih za provaljivanje algoritma....). Lars Knudsen (1962- ) je utvrdio da se postupci za provaljivanje kriptografskih algoritama mogu sistematizirati po nivou ozbiljnosti prijetnji:

potpuna provala (eng. Total Break), kada kriptoanalitičar dolazi do ključa , dakle ( )

opšti zaključak (eng. Global Deduction), kriptoanalitičar nalazi alternativni algoritam putem kojeg saznaje , a da pri tome nije saznao ključ .

trenutni (lokalni) zaključak (eng. Instance Deduction, Local Deduction), kriptoanalitičar

pronalazi izvorni tekst presretnutog šifrata.

zaključak na osnovu pribavljene informacije (eng. Information Deduction), kada kriptoanalitičar dolazi do neke informacije, o ključu ili pak izvornom tekstu koje de mu samo olakšati daljnja istraživanja (recimo informacija o vrsti izvornog teksta).

U kriptologiji smatra se da je samo algoritam jednokratna bilježnica (eng. One Time Pad), neprovaljiv i uz raspolaganje bilo kakvih resursa. Ovaj algoritam su osmislili major Džozef Moborn (Joseph Moborgne) i Džilbert Vernam (Gilbert Vernam). Jednokratna bilježnica je u suštini veliki neponovljivi skup istinski nasumičnih ključeva i zaljepljenih zajedno u bilježnicu. Pošiljalac koristi jedno slovo ključa iz bilježnice, da bi šifrovao jedno slovo izvorne poruke i to tako što se uzeti simbol iz ključa sabere sa uzetim simbolom iz izvorne poruke, pri čemu se sabiranje provodi u skladu sa sabiranjem po modulu 26 (broj slova engleske abacede). Svako slovo ključa koristi se samo jednom, za samo jednu poruku. Pošiljalac šifruje poruku, a onda uništava iskorištene stranice bilježnice na kojim se nalazi upotrebljeni dio ključa. Primalac ima identičnu bilježnicu sa ključem i on svakom primljenom simbolu dodaje pripadni simbol ključa. Nakon dešifrovanja simbola, primalac takođe uništava upotrebljeni dio ključa.

Primjer 1: Ako je izvorni tekst ONE, a prema bilježnici raspored simbola u ključu TBF, tada je šifrat IPK (O+T) mod 26 = I; (N+B) mod 26 = P; (E+F) mod 26 = K

Svi drugi algoritmi su provaljivi postupkom grube sile (eng. Brute – Force Attack), pri čemu raspoloživi kadrovski i računarski resursi, diktiraju koliko de to dugo trajati (provjerava se jedan po jedan ključ iz prostora ključeva, te da li dobijeni izvorni tekst ima smisla).

Page 8: KISS - Predavanje 2

Sa praktičnog stanovišta, kriptografija se danas uglavnom sagledava kroz prizmu mogudnosti provaljivanja analiziranog algoritma jasno uz pomod odgovarajudih računarskih resursa. U tom smislu, predmetni algoritam smatra se računarski sigurnim (eng. Computationally Secure) ako ga nije mogude provaliti raspoloživim sredstvima. Ovakva procjena se bazira na osnovu raspoloživih teoretski znanja i hardverskih i softverskih resura. Međutim kako je bududi razvoj nauke samo donekle, globalno predvidiv, ocjena računarske sigurnosti nema tačno određeni, garantovani interval važnosti. Složenost napada može se kvantificirati na više načina, poput:

složenosti ulaznih podataka za napad (eng. Data Complexity), odnosno koliko treba ulaznih podataka za napad;

složenost obrade podataka za napad (eng. Processing Complexity), odnosno koliko treba vremena utrošiti da se realizuje napad; ovaj podatak se ponekad označava i kao radni faktor (eng. Work Factor).

prostorne kompleksnosti (eng. Storage Requirements), odnosno opsega potrebnih

memorijskih resursa za realizaciju napada. Često se pravi kompromis između ova tri pokazatelja (napad može biti brži, ukoliko se angažuje više memorije. Nivo složenosti napada na određeni kriptografski algoritam, po pravilu se iskazuje putem eksponenta broja 2. Složenost nivoa 264 naglašava da je potrebno 264 operacija za njegovo provaljivanje (radi relativnog osjedaja i kompleksnosti napada uzima se da je starost planete je 109

godina odnosno, 230godina, ili 255sekundi, prema tome ako bi se od nastanka planete svake sekunde obavile po 512 operacija, tada bi se moglo provesti potrebnih 264 operacija. S obzirom da ozbiljniji računarski resursi postoje tek zadnjih 16 godina, odnosno 229sekundi, u sekundi bi se od 1993 godine trebalo obavljati paralelno – istovremeno 236 operacija, odnosno 1011operacija, stotinu milijardi operacija u sekundi tokom 15 godina). Činjenica, da ostvareni tehnološki napredak tokom zadnjih nekoliko decenija , nakon što je konvertovan i u računarske nauke, omogudava razbijanje kriptoanalitičkih algoritama na milijarde segmenata, što uz paralelnu povezanost računara i neobaveznost međusobnog komuniciranja njihovih procesora, stalno pomjera granicu između praktično mogudeg i teoretskog, upravo ka tom teoretskom. Potvrda prethodne ocjene su i komercijalna rješenja kriptografskih algoritama zasnovana na 128-bitnim ključevima (IDEA) i AES (128 bitni, 196 bitni, 256 bitni ključevi). Po nepisanom pravilu, savremena kriptografska literatura svrstava, sve ono što je urađeno u domenu kriptografije do 1980.godine (do prvih primjena računarskih tehlogoija u kriptografiji), u područje klasične konvencionalne (u bazi izraziti matematizirane) kriptografije, a radove i algoritme objavljene nakon tog vremena, tretira kao Savremena kriptografska rješenja.

Složenost savremene kriptografije nalaže da se, pri svakom ozbiljnijem upoznavanju s istom, određena pažnja prvo usmjeri ka klasičnoj kriptografiji.

Page 9: KISS - Predavanje 2

1.1 Osnovne karakteristike klasične kriptografije U skladu sa klasičnim kriptografskim pristupom, kriptografski algoritmi se dijele na:

algoritme, koji su bazirani na supstitucijskim šiframa;

algoritme, koji su bazirani na transpozicijskim šiframa. Treba naglasiti da i mnogi savremeni kriptografski algoritmi, u svojoj strukturi posjeduju i elemente supstitucijskih transformacija i elemente transpozicijskih transformacija.

1.1.1 Algoritmi bazirani na supstitucijskim šiframa Algoritmi bazirani na supstitucijskim šiframa (eng. Substitution Cipher) zahtjevaju da pošiljalac svaki simbol (slovo) izvornog teksta, zamjeni odgovarajudim simbolom šifrata, dok primalac zamjenjuje svaki simbol šifrata odgovarajudim simbolom izvornog teksta. Sa stanovišta klasične kriptografije postoje bar četiri vrste supstitucijskih šifri:

obična supstitucijska šifra (eng. Simple Substitution), ili monoalfabetska šifra (eng. Monoalphabetic Cipher) su šifre u kojim je svako slovo izvornog teksta zamjenjeno odgovarajudim slovom šifrata. Kriptogrami u enigmatskim časopisima su primjeri monoalfabetskih šifara;

homofonična supstituciona šifra (eng. Homophonic Substitution Cipher), je slična običnoj

supstitucijskoj šifri, s tim što jednom simbolu izvornog teksta može odgovarati bilo jedno, bilo dva, ili pak čak nekoliko simbola u šifratu (A može u šifratu biti ili 3, ili 35, ili 356..);

poligramska supstituciona šifra (eng. Polygram Substitution Cipher), blokove simbola

izvornog teksta, preslikava u određene blokove šifrata (abc u xyz, aca u klm,.....);

polialfabetska substituciona šifra (eng. Polyalphabetic Substitution Cipher), objedinjava više običnih supstitucijskih šifri iz različitih abeceda.

Primjer obične supstitucijske šifre je Cezarova šifra (eng. Caeser Cipher) kod kojeg se unutar alfabeta od 26 slova, svaki simbol izvornog teksta zamjenjuje simbolom istog alfabeta, koji je u odnosu na simbol izvornog teksta, pomaknut za tri mjesta udesno.

Izvor A B C D E F G H I J K L M N O P ...

Šifra D E F G H I J K L M N O P R S T ...

Cezarova šifra je primjenjivana i sa pomakom udesno vedim od tri. Prije uopštene definicije familije algoritama, koji ishodište imaju u Cezarovoj šifri, uspostavlja se korespondencija između 26 slova engleskog alfabeta i skupa brojeva * +. Zatim se pretpostavlja da su na skupu definisane operacije sabiranja, oduzimanja i množenja, na isti način

Page 10: KISS - Predavanje 2

kao i u skupu cijelih brojeva, uz obavezu da ako je rezultat provedene operacije imao za posljedicu da se dobije broj, koji nije element skupa , tada se taj rezultat zamjenjuje s njegovim ostatkom koji nastaje nakon djeljenja tog rezultata s brojem 26. Nametnute operacije se formalno iskazuju u obliku: ili ( ) Prema prethodno izloženom proizilazi da je: ili ( ) Očigledno slično operaciji sabiranja, provode se i operacije oduzimanja, odnosno množenja, čime se formira zatvorena algebrarska struktura, nad kojom se provode opreacije i vrši procedura šifriranja. S obzirom da skup Z26 , zajedno sa operacijama (+26) i (٠26), zadovoljava sve one matematičke aksiome, koji su potrebni da bi uređena trojka (Z26, +26, ٠26 ) imala status algebarska struktura tipa prsten: Operacije (+26) i (٠26), nad elementima skupa Z26, su zatvorene (njihovom primjenom nad elementima skupa Z26, dobija se ponovo element istog tog skupa, Operacije (+26) i (٠26), nad elementima skupa Z26, su komutativne i asocijativne, jer su u vaznosti relacije: ( a (+26) b) = ( b (+26) a) ; (a(٠26)b) = (b(٠26)a); (( a (+26) b) (+26) c)= (a (+26) ( b (+26) c)); ((a(٠26)b) (٠26) c)= (a(٠26) (b(٠26)c)); Uz to u vaznosti je i distributivnost operacije mnozenja u odnosu na operaciju sabiranje, dakle vrijedi relacija: (( a (+26) b) (٠26) c)= (a (٠26) c) +26 (b (٠26) c)); Broj 0 je neutralni element u odnosu na operaciju sabiranja, jer je: ( 0 (+26) b) = ( b (+26) 0) = b ; Svaki element skupa Z26, a, ima sebi inverzan element u odnosu na operaciju sabiranja, iz tog istog skupa, a to je element (-a), dakle vrijedi: (( a (+26) (-a) = 0, pri čemu je za a≠0, inverzni element definisan sa (26-a), jer je (( a (+26) (26-a) = (( 26-a) (+26) (a)) = 26mod 26 = 0 Broj 1 je neutralni element u odnosu na operaciju mnozenje, jer je: ( 1(٠26) b) = ( b (٠26) 1) = b ; Samo neki elementi skupa Z26, b, imaju sebi inverzan element u odnosu na operaciju mnozenje, iz tog istog skupa i to je element (b-1), kada vrijedi da je: ((b-1), (٠26) b) = ( b (٠26) (b

-1), ) = 1 ; Za razmatranja koja tek predstoje, korisno je uvesti i pojam kongruentnih elemenata po modulu 26. Elementi: (a є Z26 ) i (b є Z26) su kongruentni po modulu 26, ukoliko i a i b nakon djeljenja po modulu 26 imaju isti ostatak, što se simbolički označava sa: a ≡ b (mod 26) U skladu sa prethodno izlozenim Cezarova šifra se moze definisati i na slijededi način: Neka je: M = C = K = Z26 .

Page 11: KISS - Predavanje 2

Za 0 ≤ K ≤ 25, eK (x) = ( x + K ) mod 26 , a dK (y) = ( y - K ) mod 26 , gdje ključ K određuje za koliko mjesta udesno de se pomicati slova pri šifriranju. Primjer: Ako je šifrat LFPZQYJY, formiran primjenom Cezarove šifre, odrediti prvo upotrebljeni ključ K, a potom i sam izvorni tekst. ROT 13 je jedan od jednostavnih programa za šifrovanje, što se koristi u UNIX sistemima, a pripada klasi običnih supstitucionih šifara (svako slovo se pomjera za 13 mjesta udesno A prelazi u N, D u Q....). Originalni element se dobije šifrovanjem dva puta sa ROT13, dakle M = ROT13(ROT13(M)) Suštinski ROT13 nije izvorno namjenjen sigurnosti nego da se potencijalno uvredljiv tekst sakrije od šireg kruga. Dobar računarski algoritam za razbijanje šifara ovog tipa je dat u radu G.W. Hart “To Decode Short Cryptograms“, Communications of the ACM, v.37, n.9, Sep 1994, pp. 102-108.