940 likes | 1.38k Views
Kriptologija. Kriptologija. Κρυπτός sakriti. Λογία nauka. γράφω pisati. Fysis kriptesthai filei Priroda voli da se sakriva. * Samopokazujuće izrastanje (biće u celini) voli da se krije. ** * Heraklit , Fragment 123, ** Heideger , Uvod u metafiziku. Kriptologija.
E N D
Kriptologija • Κρυπτόςsakriti • Λογίαnauka • γράφω pisati
Fysis kriptesthai fileiPriroda voli da se sakriva. * Samopokazujuće izrastanje (biće u celini) voli da se krije. *** Heraklit, Fragment 123, ** Heideger, Uvod u metafiziku
Kriptologija • Kriptologija Umetnost i nauka pravljenja i razbijanja “tajnih kodova” • Kriptografija pravljenje “tajnih kodova” • Kriptoanalizarazbijanje “tajnih kodova” • Steganografijasakrivanje informacija • Kriptologija =Kriptografija + Kriptoanaliza + Steganografija
Šifraili šifarski sistemse koristi zašifrovanjeotvorenog teksta • Rezultat šifrovanja je šifrat • Dešifrovanjem se iz šifrata dobija otvoreni tekst • Ključse koristi za konfigurisanje šifarskog ili kripto sistema • Šifarski sistema sa simetričnim ključemkoristi isti ključ i za šifrovanje i za dešifrovanje • Šifarski sistem sa javnim ključemkoristijavni ključza šifrovanje i privatni ključza dešifrovanje
Osnovne predpostavke • Sistem je potpuno poznat napadaču • Samo je ključ tajan • Ovo su tzv.Kerkhofoviprincipi • Algoritam šifrobvanja nije tajan • Zašto uvodimo ove pretpostavke? • Iskustvo pokazuje da su tajni algoritmi vrlo slabi kada se otvore za javnost • Tajni algoritmi teško ostaju tajna duži period vremena • Bolje je unapred pronaći slabosti
Osnovni model • Pije ita “jedinica” otvorenog teksta • Cije odgovarajući šifrat • “Jedinica” može biti bit, slovo, blok bita, i td. ključ ključ Ci Pi Pi Otvoreni tekst šifrovanje dešifrovanje Otvoreni tekst šifrat
Trudy Osnovni model Nebezbedan kanal Šifrat Šifrovanje Dešifrovanje Otvoreni tekst Otvoreni tekst Alisa Bob C = E(P) P = D(C) E mora biti invertibilno
Osnovni model Šifrat Šifrovanje Dešifrovanje Otvoreni tekst Otvoreni tekst KE KD C = E(KE, P) = EKE(P) P = D(KD, C) = DKD(C) If KE = KD simetričnošifrovanje If KE KD asimetričnošifrovanje Alisa Bob
Ko šta zna? • Trudizna šifrat • Trudi zna šifrat i kako algoritam šifrovanja radi • Trudi možda zna i još po nešto • Trudine zna ključ ključ Alisa Trudi Bob ključ Pi Ci Pi Ot. tekst šifrovanje dešifrovanje Ot. tekst šifrat
Kriptoanaliza • Trudi želi da se domogne ili ključa ili otvorenog teksta • Trudi nije ničim ograničena • Npr., Trudi može da napadne implementaciju, a ne i sam algoritam • Može koristiti tzv. “side channel” informaciju, i td.
Potpuna pretraga ključeva • Kako Trudi može da napadne jedan šifarski sistem? • Može isprobati sve moguće ključeve i proveriti da li je jadan od njih pravi • Potpuna pretraga ključeva • Da bi se izbegao ovaj tip napada, kriptosistem mora imati veliki prostor mogućih ključeva(prostor ključeva) • Mora biti toliko potencijalnih ključeva da ih Trudi ne može isprobati u razumnom vremenu
Više od potpune pretrage ključeva • Veliki prostor ključeva je neophodan uslov za bezbednost šifarskih sistema • Ali veliki prostor ključeva nije i dovoljan uslov za bezbednost • Može postojati i neki skraćeni napad • Videćemo mnoge primere ovakvih napada • Ukriptografiji skoro nikad ne možemo dokazati da skraćeni napadi ne postoje • Ovo čini kriptografiju interesantnom i izazovnom
Taksonomija kriptoanalize • Napad samo na osnovu šifrata — mogućnost koja uvek postoji • Napad na osnovu poznatog otvorenog teksta — realno moguć u mnogim situacijama • Izabrani otvoreni tekst • “Lunchtime attack” • Protokoli mogu šifrovati izabrani otvoreni tekst • Adaptivno izabran otvoreni tekst • Povezani ključevi • Pretrage unapred (samo za asimetrične šifarske sisteme) • “Gumeno crevo”, podvale,i td.
Definicija sigurnosti • Kriptosistem jesiguranukoliko je najbolji poznati napad potpuna pretraga svih ključeva • Kriptosistem je nesiguranukolikopostoji bilo koji skraćeni napad • Prema ovim definicijama, jedan nesiguran sistem može biti teži za razbijanje od nekog sigurnog sistema čiji je prostor ključeva mali!
Definicija sigurnosti • Zašto je sigurnostdefinisana na ovaj način? • Veličina prostora ključeva je “nominovani -reklamirani” nivo sigurnosti • Ukoliko napad zahteva manje posla, tada je kripto sistem pogrešno nominovan, odnosno reklamiran • Šifarski sistem mora biti siguran (prema našoj definiciji) i uz to imati “veliki” prostor ključeva • Dovoljno velik za napad potpunom pretragom
Teorijska kriptoanaliza • Pretpostavimo da kripto sistem ima ključ dužine 100 bita • Tada je prostor ključeva veličine 2100 • U proseku, za potpunu pretragu Trudi mora da testira 2100/2 = 299 ključeva • Pretpostavimo da Trudi može da testira 230 ključeva/sekundi • Tada se ključ nalazi za oko 37.4 triliona godina
Teorijska kriptoanaliza • Pretpostavimo da kriptosistem ima ključ dužine 100 bita • Tada je prostor ključeva veličine 2100 • Pretpostavimo da postoji skraćeni napad koji zahteva “posao” ekvivalentan testiranju oko 280 ključeva • Ako Trudi može da testira 230ključeva u sekundi • Tada će pronaći ključ za 36 miliona godina • Ovo je znatno bolje od 37 triliona, ali je i dalje praktično teško izvodljivo
Pregled • Ukratko ćemo razmotriti sledeće klasične (olovka i hartija) šifre • Transpozicione šifre • Šifre zamene • One-time pad • Kodne knjige • Ove šifre su selektovane iz posebnih razloga • Uočavanje osnovnih principa koje ćemo susretati i u modernim šiframa
Transpozicione šifre • U transpozicionim šiframa, vrši se transpozicija (skremblovanje - premeštanje) slova otvorenog teksta • Skremblovani tekst je ujedno šifrat • Ključ predstavlja primenjenu transpoziciju • Odgovara Šenonovom principudifuzije (o kome će biti reči kasnije) • Ova ideja se naširoko koristi u modernim šiframa
Skitala • Spartanska šifra, oko 500 pre nove ere • Kožna traka obavijena oko štapa • Poruka se piše na tako dobijenom omotaču duž štapa T H E T I M E H A S C O M E T H E W A L R U S S A I D T O T A L K O F M A N Y T H I N G S • Kada se razmota, slova su ispremeštana- skremblovana TSATAHCLONEORTYTMUATIESLHMTS…
Skitala • Pretpostavimo da Alisa i Bob koriste skitalu za šifrovanje poruka • Šta je ovde ključ? • Koliko napora nora da uloži Trudi za razbijanje ove šifre bez poznavanja ključa? • Pretpostavimo da Alisa i Bob raspolažu sa puno štapova tazličitog prečnika … • Koliko je teško za Trudi da dodje do poruke? • Da li Trudi može da napadne poruku automatizovanim postupkom—bez ručne provere?
Transpozicija kolona • Postavimo otvoreni tekst u redove jedne matricea zatim formirajmo šifrat isčitavanjem kolona • Na primer, pretpostavimo da je matrica dimenzije 3 x 4 • Otvoreni tekst: SEETHELIGHT • Šifrat: SHGEEHELTTIX • Efekat je isti kao da smo upotrebili Skitala šifru • Šta je ovde ključ?
Transpozicija kolona pomoću ključne reči • Primer • Otvoreni tekst: CRYPTOISFUN • Matrica 3 x 4 i ključna reč MATH (ključna reč se tumači kao permutacija-po alfabetskom redosledu; MATH je ekvivalentno redosledu 3 1 4 2) • Šifrat: ROUPSXCTFYIN • Šta je ključ? • Koliki je prostor ključeva?
Transpozicija kolona pomoću ključne reči • Kako Trudi može da izvrši kriptoanalizu ove šifre? • Razmotrimo šifrat VOESA IVENE MRTNL EANGE WTNIM HTMLL ADLTR NISHO DWOEH • Matrica je n x m za neko n i m • Pošto u poruci ima 45 reči, nm = 45 • Koliko ključeva mora da se testira? • Kako će Trudi znati da je našla ispravan ključ?
Transpozicija kolona pomoću ključne reči • Neka je šifrat VOESA IVENE MRTNL EANGE WTNIM HTMLL ADLTR NISHO DWOEH • Ako je matrica za šifrovanje 9 x 5, tada je
Dvostruka transpozicija • Otvoreni tekst: ATTACK AT DAWN Permutacija redova i kolona • Šifrat: XTAWXNATTXADAKC • Ključ? • 5 x 3 matrica, permutacija (2,4,0,3,1) i (0,2,1)
Dvostruka transpozicija • Kako Trudi može da napadne dvostruku transpoziciju? • Pretpostavimo da Trudiposeduje šifrat dužine 45 slova • Koliko ima mogućih ključeva? • Dimenzije matrica: 3 x 15, 15 x 3, 5 x 9, or 9 x 5 • Mnogo mogućih permutacija! 5! 9! 225i 3! 15! 242 • Veličina prostoro ključeva je veća od 243 • Da li postoji skraćeni napad?
Dvostruka transpozicija • Skraćeni napad na dvostruku transpoziciju? • Neka je šifrat ILILWEAHREOMEESANNDDVEGMIERWEHVEMTOSTTAONNTNH • Pretpostavimo da je Trudi pogodila matricu 9 x 5 • Tada Trudiima: • Šta sad? • Probanje svih permutacija? 5! 9! 225 • Postoji li bolji način?
Dvostruka transpozicija • Skraćeni napad na dvostruku transpoziciju? • Trudi isprobava “prvo kolone” strategiju Permutacija kolona • Šta sad?
Kriptoanaliza: Lekcija II • Podeli i zavladaj • Trudi napada deo prostora ključeva • Važna strategija skraćenih napada • Zahteva pažljivu analizu algorirma šifrovanja od strane kriptoanalitičara • Kriptografi, koji sintetišu algoritme teže u svojim rešenjima da spreče napad tipa podeli pa zavladaj
Šifra zamene • U šiframa zamene, jedno slovo otvorenog teksta se zamenjuje nekim drugim slovom • Tako dobijeni rezultujući tekst je šifrat • Ključ predstavlja samo pravilo zamenjivanja jednog slova drugim slovom • Ovo odgovara Šenonovom principu konfuzije (o kome će biti više reči kasnije) • Ova ideja se koristi u modernim šiframa
Šifra zamene • C = EK(p) Ci = K[pi] • Ključ je alfabetsko preslikavanje: a J, b L, ... • Pretpostavimo da napadač poznaje algoritam, ali ne zna ključ. Koliko ključeva mora da isproba? 26! Ako svaka osoba na Zemlji troši jednu sekundu za testiranje jednog ključa, ovo bi zahtevalo 5 milijardi godina.
Šifra zamene - primer • Otvoren tekst: fourscoreandsevenyearsago • Ključ: O.tekst Šifrat • Šifrat: IRXUVFRUHDAGVHYHABHDUVDIR • Cezarova šifra sa pomerajem d=3
Dešifrovanje Cezarove šifre • O.tekst: spongebobsquarepants • Pretpostavimo da znamo da je šifrat nastao Cezarovom šifrom • Šifrat: VSRQJHEREVTXDUHSDQWU O.tekst Šifrat
Cezarova šifra • Pomeraj za n {0,1,2,…,25} • Ključ je n • Primer: ključ = 7 O.tekst Šifrat
Kriptoanaliza I: pretraga svih mogućnosti • Prosta zamena sa pomerajem • Ključ je nepoznat • Dat je šifrat: CSYEVIXIVQMREXIH • Kako naći ključ? • Samo 26 mogućih ključevaprobati sve! • Potpuna pretraga ključeva • Rešenje: ključ = 4
Šifra proste zamene • Ključ je permutacija O.tekst Šifrat • 26! > 288mogućih ključeva!
Kriptoanalizaproste zamene • Znamo da je korišćena prosta zamena • Znamo da možda nije u pitanju Cezarova šifra • Da li možemo izvršiti dekriptiranje samo na osnovu šifrata: PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOXBTFXQWAXBVCXQWAXFQJVWLEQNTOZQGGQLFXQWAKVWLXQWAEBIPBFXFQVXGTVJVWLBTPQWAEBFPBFHCVLXBQUFEVWLXGDPEQVPQGVPPBFTIXPFHXZHVFAGFOTHFEFBQUFTDHZBQPOTHXTYFTODXQHFTDPTOGHFQPBQWAQJJTODXQHFOQPWTBDHHIXQVAPBFZQHCFWPFHPBFIPBQWKFABVYYDZBOTHPBQPQJTQOTOGHFQAPBFEQJHDXXQVAVXEBQPEFZBVFOJIWFFACFCCFHQWAUVWFLQHGFXVAFXQHFUFHILTTAVWAFFAWTEVOITDHFHFQAITIXPFHXAFQHEFZQWGFLVWPTOFFA
Kriptoanalizaproste zamene • Praktično je nemoguće isprobati svih 288ključeva proste zamene • Da li možemo uraditi inteligentniju analizu? • Pogledajmo statističku strukturu engleskog jezika…
Kriptoanalizaproste zamene • Šifrat: PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOXBTFXQWAXBVCXQWAXFQJVWLEQNTOZQGGQLFXQWAKVWLXQWAEBIPBFXFQVXGTVJVWLBTPQWAEBFPBFHCVLXBQUFEVWLXGDPEQVPQGVPPBFTIXPFHXZHVFAGFOTHFEFBQUFTDHZBQPOTHXTYFTODXQHFTDPTOGHFQPBQWAQJJTODXQHFOQPWTBDHHIXQVAPBFZQHCFWPFHPBFIPBQWKFABVYYDZBOTHPBQPQJTQOTOGHFQAPBFEQJHDXXQVAVXEBQPEFZBVFOJIWFFACFCCFHQWAUVWFLQHGFXVAFXQHFUFHILTTAVWAFFAWTEVOITDHFHFQAITIXPFHXAFQHEFZQWGFLVWPTOFFA • Izvršimo analizu na osnovu frekvencija znakova u šifratu
Kriptoanaliza: Lekcija III • Statistička analiza • Statistika može da otkrije informacije o ključu • Šifrat bi trbao da bude na izgled slučajan • Postizanje slučajnosti nije jednostavno • Teško je definisati šta je to slučajnost (entropija) • Kriptografi u sintezi šifarskih sistema ulažu velike napore da spreče napade zasnovane na statistici
Polialfabetske zamene • Slična prostoj zameni, ali se “alfabet” na koji se primenjuje permutacija menja • Često se za svako slovo generiše novi alfabet • Vrlo rasprostranjen postupak kod klasičnih šifri • Vižnerova šifra • Koristila se i u mašinama za šifrovanje u toku Drugog svetskog rata
Afine šifre • Numerišimo slova od 0 do 25 • A je 0, B je 1, C je 2, itd. • Tada je postupak šifrovanja afinom šifrom dat jednačinom • ci = api + b (mod 26) • Gde je pi ito slovo otvorenog teksta • a i b su konstante • Zahteva se da jenzd(a, 26) = 1 (zašto?) • (uslov postojanja inverzne transformacije neophodne kod dešifrovanja)
Afine šifre • Šifrovanje: ci = api + b (mod 26) • Dešifrovanje: pi = a–1(ci – b) (mod 26) • Koliki je prostor ključa? • Prostor ključa je 26·(26) = 312 • Isuviše mali za praktičnu sigurnost ove šifre • (n) je funkcija koja daje broj pozitivnih celih brojeva manjih od n koji su relativno prosti u odnosu na n ((4)=2, jer je 4 uzajamno prost sa 3 i 1; (5)=4, jer je 5 uzajamno prost sa 1, 2, 3 i 4.
Vižnerovašifra • Ključ je u formi K = (k0,k1,…,kn-1) • Gde je svako ki {0,1,2,…,25} • Šifrovanje ci = pi + ki (mod n) (mod 26) • Dešifrovanje pi = ci – ki (mod n) (mod 26) • Kako ovo možemo interpretirati • Kao ponavljajuću sekvencu (sa pomerajem n) prostih zamena
Vižnerovašifra • Primer: neka je ključ MATH • Tj. ključ je, K = (12,0,19,7), budući da je M označeno sa 12, A sa 0 i td. • Otvoreni tekst: SECRETMESSAGE • Šifrat: EEVYQTFLESTNQ • Šifrovanje: S E C R E T M E S S A G E 18 4 2 17 4 19 12 4 18 18 0 6 4 +12 0 19 7 12 0 19 7 12 0 19 7 12 4 4 21 24 16 19 5 11 4 18 19 13 16 (mod 26) E E V Y Q T F L E S T N Q
Vižnerovašifra • Vižnerova šifra je samo niz od k šifri prostih zamena • Trebalo bi da smo u stanju da izvedemo k napada na prostu zamenu • Pod uslovom da posedujemo dovoljno šifrata • Ali, kako odrediti k (dužinu ključa)? • Indeks koincidencije
Indeks koincidencije • Neka je šifrat sačinjen od engleskog alfabeta • Neka je n0broj A-ova, n1broj B-ova, …, n25broj Z-tova u šifratu • Neka je n = n0 + n1 + … + n25 • Definišimo indeks koincidencije sa • Šta ova veličina meri?