Upload
-
View
28
Download
5
Embed Size (px)
Citation preview
Kriptologija
Julije Cezar nije verovao kuririma kada je slao
poruke preko njih svojim generalima. Zato je on u
porukama svako slovo A zamenio sa D, svako
slovo B sa E,… Samo ona osoba koja je znala
pravilo "pomereno za tri" mogla je da razume
sadržaj poruke.
Tako je sve počelo…
Fysis kriptesthai fileiPriroda voli da se sakriva. *
Samopokazujuće izrastanje (biće u cjelini) voli da se krije. **
* Heraklit, Fragment 123, ** Heideger, Uvod u metafiziku
Kriptologija je termin koji potiče od grčkih rijeći kriptos (skriven, tajan) i
logos (nauka),
i označava naučnu disciplinu koja se bavi sigurnim (tajnim) komunikacijama.
Dve osnovne, tesno povezane grane kriptologije su:
- kriptografija i
- kriptoanaliza.
Predmet kriptografije je, pre svega, sinteza postupaka za obezbeđivanje tajnosti informacija, tzv.kriptozaštitu informacija.
Kriptografija kao nauka koja se bavi metodama očuvanja tajnosti informacija.
Predmet kriptoanalize je razmatranje metoda kojim se kompromituju ("razbijaju" od strane neovlašćenih korisnika) postupci kripto-zaštite informacije.
Kriptologija
• Kriptologija Umetnost i nauka pravljenja i razbijanja “tajnih kodova”
• Kriptografija pravljenje “tajnih kodova”• Kriptoanaliza razbijanje “tajnih kodova”• Steganografija sakrivanje informacija• Kriptologija = Kriptografija +
Kriptoanaliza + Steganografija
Primjenom kriptografije realizuju se četiri osnovna bezbjednosna zahtjeva (servisa):
• tajnost – obezbjeđuje da informacioni sadržaj poruke bude dostupan samo ovlašćenim korisnicima
• integritet – obezbjeđuje otkrivanje neovlašćene izmjene informacionog sadržaja poruke
• autentičnost – omogućava provjeru identiteta učesnika u komunikaciji
• neporecivost – sprečava mogućnost poricanja realizacije određenih aktivnosti učesnika u komunikaciji (kao što su slanje poruke, transakcija i dr.).
Osnovne elemente kriptografije:
šifrovanje - postupak transformacije čitljivog teksta u oblik nečitljiv za onoga kome taj tekst nije namjenjen.
dešifrovanje - postupak vraćanja šifrovanog teksta u čitljiv oblik
ključ - početna vrijednost algoritma kojim se vrši šifrovanje.
• Šifra ili šifarski sistem se koristi za šifrovanje otvorenog 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čem koristi isti ključ i za šifrovanje i za dešifrovanje
• Šifarski sistem sa javnim ključem koristi javni ključ za šifrovanje i privatni ključ za dešifrovanje
Tajnost podataka je svojstvo da se podaci mogu čitati samo od strane
autorizovanih korisnika.
Brojni su načini da se obezbjedi tajnost, počev od fizičke zaštite, pa sve do matematičkih algoritama koji sadržaj informacija čine nerazumljivim, šifrovanim.
Integritet podataka je svojstvo koje obezbjeđuje detekciju neautorizovane promjene izvora podataka kao i samih
podataka.
Novi načini čuvanja, obrade i prenosa informacija donijeli su teškoću koja u klasičnom postupku nije ni približno imala takav značaj. Prekrajanje podataka koji se čuvaju u elektronskoj formi je moguće u takvoj mjeri, da bi se bez alata za očuvanje integriteta podataka bilo kakva ozbiljnija komunikacija mogla pokazati besmislenom.
• Osnovne predpostavke– Sistem je potpuno poznat napadaču– Samo je ključ tajan
• Ovo su tzv. Kerkhofovi principi– 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
• Pi je ita “jedinica” otvorenog teksta
• Ci je odgovarajući šifrat
• “Jedinica” može biti bit, slovo, blok bita, itd.
Otvoreni tekst
ključključ
šifrat
šifrovanje dešifrovanjePi Pi
CiOtvoreni tekst
Osnovni model
Šifrovanje DešifrovanjeOtvoreni tekst
Šifrovano Otvoreni tekst
Alisa BobTrudy
Nebezbjedan kanal
C = E(P)P = D(C)E mora biti invertibilno
Osnovni model
Šifrovanje DešifrovanjeOtvoreni
tekst
Šifrovano Otvoreni tekst
KE KD
Alisa BobC = E(KE, P) = EKE (P)
P = D(KD, C) = DKD (C)
ako je KE = KD simetrično šifrovanjeako je KE KD asimetrično šifrovanje
Ko šta zna?
• Trudi zna šifrovano• Trudi zna šifrovano i kako algoritam šifrovanja radi• Trudi možda zna i još po nešto• Trudi ne zna ključ
Ot. tekst
ključključ
šifrovano
šifrovanje dešifrovanjePi
PiCiOt. tekst
Alisa BobTrudi
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
Potpuna pretraga ključeva
• Kako Trudi može da napadne jedan šifarski sistem?
• Može isprobati sve moguće ključeve i provjeriti da li je jadan od njih pravi– Potpuna pretraga ključeva
• Da bi se izbjegao 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 bezbjednost šifarskih sistema
• Ali veliki prostor ključeva nije i dovoljan uslov za bezbjednost
• Može postojati i neki skraćeni napad• Vidjećemo mnoge primjere ovakvih napada• U kriptografiji skoro nikad ne možemo
dokazati da skraćeni napadi ne postoje• Ovo čini kriptografiju interesantnom i
izazovnom
Taksonomija kriptoanalize• Napad samo na osnovu šifriranog — mogućnost
koja uvek postoji• Napad na osnovu poznatog otvorenog teksta —
realno moguć u mnogim situacijama• Izabrani otvoreni tekst
– Protokoli mogu šifrovati izabrani otvoreni tekst• Adaptivno izabran otvoreni tekst• Povezani ključevi• Pretrage unaprijed (samo za asimetrične šifarske
sisteme)• Podvale, itd.
Definicija sigurnosti
• Kriptosistem je siguran ukoliko je najbolji poznati napad potpuna pretraga svih ključeva
• Kriptosistem je nesiguran ukoliko postoji 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 sigurnost definisana na ovaj način?• Veličina prostora ključeva je “nominovani -
reklamirani” nivo sigurnosti• Ukoliko napad zahtjeva 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 prosjeku, 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 230 ključ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
Klasična kriptografija
Pregled• Ukratko ćemo razmotriti sljedeć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 šifrovan–Ključ predstavlja primjenjenu transpoziciju
• Odgovara Šenonovom principu difuzije (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ž
štapaT H E T I M E H AS C O M E T H E WA L R U S S A I DT O T A L K O F MA N Y T H I N G S
• Kada se razmota, slova su ispremještana- skremblovanaTSATAHCLONEORTYTMUATIESLHMTS…
Skitala
• Pretpostavimo da Alisa i Bob koriste skitalu za šifrovanje poruka– Šta je ovde ključ?– Koliko napora mora 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 do]e do poruke?– Da li Trudi može da napadne poruku
automatizovanim postupkom—bez ručne provjere?
Transpozicija kolona
• Postavimo otvoreni tekst u redove jedne matrice a zatim formirajmo šifrovan tekst isčitavanjem kolona
• Na primer, pretpostavimo da je matrica dimenzije 3 x 4– Otvoreni tekst: SEETHELIGHT
– Šifrovan tekst: SHGEEHELTTIX• Efekat je isti kao da smo upotrebili Skitala šifru
– Šta je ovde ključ?
Transpozicija kolona pomoću ključne rječi
• Primjer– 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)
– Šifrovan tekst: ROUPSXCTFYIN• Šta je ključ?• Koliki je prostor ključeva?
Transpozicija kolona pomoću ključne rječi
• Kako Trudi može da izvrši kriptoanalizu ove šifre?
• Razmotrimo šifrovan tekstVOESA 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 šifratVOESA 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
Permutacijaredova i kolona
• Šifrovan tekst: XTAWXNATTXADAKC • Ključ?
– 5 x 3 matrica, permutacija (2,4,0,3,1) i (0,2,1)
kolone 0 1 2red 0 A T Tred 1 A C Kred 2 X A Tred 3 X D Ared 4 W N X
kolone 0 2 1red 2 X T Ared 4 W X Nred 0 A T Tred 3 X A Dred 1 A K C
Dvostruka transpozicija
• Kako Trudi može da napadne dvostruku transpoziciju?
• Pretpostavimo da Trudi posjeduje š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! 225 i 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 šifrovan tekst
ILILWEAHREOMEESANNDDVEGMIERWEHVEMTOSTTAONNTNH• Pretpostavimo da je Trudi pogodila matricu 9 x 5• Tada Trudi ima:
• Šta sad?• Probanje svih
permutacija?5! 9! 225
• Postoji li bolji način?
kolpna 0 1 2 3 4
red 0 I L I L W
red 1 E A H R E
red 2 O M E E S
red 3 A N N D D
red 4 V E G M I
red 5 E R W E H
red 6 V E M T O
red 7 S T T A O
red 8 N N T N H
Dvostruka transpozicija• Skraćeni napad na dvostruku transpoziciju?• Trudi isprobava “prvo kolone” strategiju
• Šta sad?
Permutacija kolona
kolona 0 1 2 3 4
red 0 I L I L W
red 1 E A H R E
red 2 O M E E S
red 3 A N N D D
red 4 V E G M I
red 5 E R W E H
red 6 V E M T O
red 7 S T T A O
red 8 N N T N H
kolona 2 4 0 1 3
red 0 I W I L L
red 1 H E E A R
red 2 E S O M E
red 3 N D A N D
red 4 G I V E M
red 5 W H E R E
red 6 M O V E T
red 7 T O S T A
red 8 T H N N N
Kriptoanaliza: Lekcija II
• Podjeli i zavladaj–Trudi napada dio prostora ključeva–Važna strategija skraćenih napada
• Zahtjeva pažljivu analizu algoritma šifrovanja od strane kriptoanalitičara
• Kriptografi, koji sintetišu algoritme teže u svojim rješenjima da spriječe napad tipa podjeli pa zavladaj
Šifra zamjene
• U šiframa zamjene, jedno slovo otvorenog teksta se zamjenjuje nekim drugim slovom– Tako dobijeni rezultujući tekst je šifrovan– Ključ predstavlja samo pravilo zamjenjivanja
jednog slova drugim slovom• Ovo odgovara Šenonovom principu
konfuzije (o kome će biti više riječi kasnije)– Ova ideja se koristi u modernim šiframa
Šifra zamjene
• 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 zamjene - primjer• Otvoren tekst:
fourscoreandsevenyearsago• Ključ:
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
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
z
C
• Šifrovano: IRXUVFRUHDAGVHYHABHDUVDIR
• Cezarova šifra sa pomerajem d=3
O.tekst
Šifrat
Dešifrovanje Cezarove šifre
• Original tekst: spongebobsquarepants
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
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
z
C
O.tekst
Šifrat
• Pretpostavimo da znamo da je šifrat nastao Cezarovom šifrom
• Šifrovano: VSRQJHEREVTXDUHSDQWU
Cezarova šifra• Pomeraj za n {0,1,2,…,25}• Ključ je n• Primer: ključ = 7
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
H I J K L M N O P Q R S T U V W X Y Z A B C D E F
z
GO.tekst
Šifrat
Kriptoanaliza I: pretraga svih mogućnosti
• Prosta zamjena sa pomjerajem• Ključ je nepoznat• Dat je šifrovan: CSYEVIXIVQMREXIH• Kako naći ključ?• Samo 26 mogućih ključeva probati
sve!• Potpuna pretraga ključeva• Rješenje: ključ = 4
Šifra proste zamjene
• Ključ je permutacija
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
J I C A X S E Y V D K W B Q T Z R H F M P N U L G
z
OO.tekst
Šifrat
• 26! > 288 mogućih ključeva!
Kriptoanaliza proste zamjene• Znamo da je korišćena prosta zamjena• Znamo da možda nije u pitanju Cezarova
šifra• Da li možemo izvršiti dekriptiranje samo na
osnovu šifrovanog teksta: PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOXBT
FXQWAXBVCXQWAXFQJVWLEQNTOZQGGQLFXQWAKVWLXQWAEBIPBFXFQVXGTVJVWLBTPQWAEBFPBFHCVLXBQUFEVWLXGDPEQVPQGVPPBFTIXPFHXZHVFAGFOTHFEFBQUFTDHZBQPOTHXTYFTODXQHFTDPTOGHFQPBQWAQJJTODXQHFOQPWTBDHHIXQVAPBFZQHCFWPFHPBFIPBQWKFABVYYDZBOTHPBQPQJTQOTOGHFQAPBFEQJHDXXQVAVXEBQPEFZBVFOJIWFFACFCCFHQWAUVWFLQHGFXVAFXQHFUFHILTTAVWAFFAWTEVOITDHFHFQAITIXPFHXAFQHEFZQWGFLVWPTOFFA
Kriptoanaliza proste zamene• Praktično je nemoguće isprobati svih 288 ključeva
proste zamjene• Da li možemo uraditi inteligentniju analizu?• Pogledajmo statističku strukturu engleskog jezika…
0,00
0,02
0,04
0,06
0,08
0,10
0,12
0,14
A C E G I K M O Q S U W Y
Kriptoanaliza proste zamene
• Šifrovan tekst: PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOXBTFXQWAXB
VCXQWAXFQJVWLEQNTOZQGGQLFXQWAKVWLXQWAEBIPBFXFQVXGTVJVWLBTPQWAEBFPBFHCVLXBQUFEVWLXGDPEQVPQGVPPBFTIXPFHXZHVFAGFOTHFEFBQUFTDHZBQPOTHXTYFTODXQHFTDPTOGHFQPBQWAQJJTODXQHFOQPWTBDHHIXQVAPBFZQHCFWPFHPBFIPBQWKFABVYYDZBOTHPBQPQJTQOTOGHFQAPBFEQJHDXXQVAVXEBQPEFZBVFOJIWFFACFCCFHQWAUVWFLQHGFXVAFXQHFUFHILTTAVWAFFAWTEVOITDHFHFQAITIXPFHXAFQHEFZQWGFLVWPTOFFA
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
21 26 6 10 12 51 10 25 10 9 3 10 0 1 15 28 42 0 0 27 4 24 22 28 6
Z
8
• Izvršimo analizu na osnovu frekvencija znakova u šifrovanom tekstu
Kriptoanaliza: Lekcija III• Statistička analiza
– Statistika može da otkrije informacije o ključu• Šifrovan tekst 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 spriječe napade zasnovane na statistici
Polialfabetske zamjene• Slična prostoj zamjeni, ali se “alfabet” na
koji se primenjuje permutacija mijenja–Č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 svjetskog 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 i-to slovo otvorenog teksta–a i b su konstante–Zahtjeva se da je nzd(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 cjelih 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 pomjerajem
n) prostih zamjena
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• Šifrovani tekkst: 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 zamjena
• Trebalo bi da smo u stanju da izvedemo k napada na prostu zamjenu– Pod uslovom da posjedujemo dovoljno
šifrovanog teksta• Ali, kako odrediti k (dužinu ključa)?• Indeks koincidencije
Indeks koincidencije
• Neka je šifrat sačinjen od engleskog alfabeta
• Neka je n0 broj A-ova, n1 broj B-ova, …, n25 broj Z-tova u šifratu
• Neka je n = n0 + n1 + … + n25
• Definišimo indeks koincidencije sa
• Šta ova veličina mjeri?
Indeks koincidencije• Daje vjerovatnoću da su 2 slučajno izabrana slova
identična• Za otvoreni engleski tekst, vjerovatnoća da su dva
slova ista je jednaka:– p0
2 + p12 + … + p25
2 ≈ 0.065, gde je pi vjerovatnoća itog slova
• Soga je i za šifrat nastao prostom zamjenom, I ≈ 0.065
• Ako bi slova bila sa ravnomjernim vjerovatnoćama, dakle pi = 1/26– Tada bi p0
2 + p12 + … + p25
2 ≈ 0.03846• Ujedno I ≈ 0.03846 važi za polialfabetske šifre vrlo
dugačkih ključnih riječi
Indeks koincidencije• Kako koristiti ove rezultate za odredjivanje
dužine ključne riječi u Vižnerovoj šifri?• Neka je dužina ključne riječi k, a dužina
poruke n– Upišemo šifrat u matricu sa k kolona i n/k redova
• Selektujemo 2 slova iz istih kolona– Ekvivalentno selektovanju u slučaju proste
zamjene• Selektujemo 2 slova iz različitih kolona
– Ekvivalentno selektovanju slučajnih slova
Indeks koincidencije
• Pretpostavimo k kolona i n/k redova• Približan broj poklopljenih parova iz iste
kolone i dva različita reda:
• Približan broj poklopljenih parova iz dvije različite kolone i bilo koja dva reda:
Indeks koincidencije• Približna vrijednost indeksa koincidencije:
• Rješenje po k daje:
• Uzeti n i I (poznato iz šifrata) u cilju aproksimacije dužine ključne reči Vižnerove šifre
Indeks koincidencije
• Kada je pronađen predstavljao je revoluciju u kriptoanalizi– William F. Friedman 1920
• Koristan za razbijanje klasičnih i šifara iz doba Drugog svjetskog rata
• U statistici je test incidencija i koincidencija dobro poznat– Postoje i mnogi drugi korisni statistički testovi
Hilova šifra
• Pronašao je Lester Hill 1929 godine–Preteča modernih blok šifri
• Ideja se sastojala u tome da se formira šifra zamjene sa velikim “alfabetom”
Hilova šifra
• Otvoreni tekst, p0, p1, p2, …
• Svako pi je blok od n uzastopnih slova– Posmatramo ga kao vektor kolonu
• Neka je A n x n invertibilna matrica, mod 26• Tada se blok šifrata ci dobija iz
– ci = A pi (mod 26)
– Dešifrovanje: pi = A–1ci (mod 26)
• Matrica A je u stvari ključ
Hilova šifra: primer• Neka je n = 2 i• Otvoreni tekst
MEETMEHERE = (12,4,4,19,12,4,7,4,17,4)• Tada je
• i
• Šifrovano:
(4,22,23,9,4,22,24,19,10,25) = EWXJEWYTKZ
Hilova šifra: kriptoanaliza• Trudi sumnja da Alisa i Bob koriste Hilovu
šifru, sa n x n matricom A• Neka Trudy poznaje n blokova otvorenog
teksta – Blokovi otvorenog teksta p0,p1,…,pn-1
– Blokovi šifrata c0,c1,…,cn-1
• Neka je P matrica čije su kolone p0,p1,…,pn-1
• Neka je C matrica čije su kolone c0,c1,…,cn-1
• Tada je AP = C i A = CP–1 ako P–1 postoji
Kriptoanaliza: lekcija IV
• Linearne šifre su slabe– Budući da se linearne jednačine mogu lako
rješiti• Jake šifre moraju imati nelinearnosti
– Linearne komponente su korisne– Ali šifra ne smije biti u potpunosti linearna
• Kriptoanalitičari pokušavaju da aproksimiraju nelinearne dijelove algoritma sa linearnim jednačinama
One-time Pad
• Dokazivo sigurna šifra• Ni jedna druga šifra koju ćemo
razmatrati nije dokazivo sigurna• Zašto ne koristimo one-time pad uvek i
za svaku potrebu?–Nepraktična za većinu situacija– I danas ima svoju primjenu
One-Time Pad
• Mauborgne/Vernam [1917]• XOR ():
0 0 = 0 1 0 = 10 1 = 1 1 1 = 0a a = 0a 0 = aa b b = a
• E(P, K) = P KD(C, K) = C K = (P K) K = P
One-time Pad: šifrovanje
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
h e i l h i t l e r
001 000 010 100 001 010 111 100 000 101
111 101 110 101 111 100 000 101 110 000
110 101 100 001 110 110 111 001 110 101
s r l h s s t h s r
Šifrovanje: o.tekst ključ = šifrovano
O.tekst:
Key:
Šifrovano:
One-time Pad: Dešifrovanje
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
s r l h s s t h s r
110 101 100 001 110 110 111 001 110 101
111 101 110 101 111 100 000 101 110 000
001 000 010 100 001 010 111 100 000 101
h e i l h i t l e r
Dešifrovanje: Šifrovan Ključ = Otvoreni tekst
Šifrovan:Ključ:
O.tekst:
One-time Pad
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
s r l h s s t h s r
110 101 100 001 110 110 111 001 110 101
101 111 000 101 111 100 000 101 110 000
011 010 100 100 001 010 111 100 000 101
k i l l h i t l e r
Šifrovan:
“kjuč”:
“O.tekst”:
Dvostruki agent tvrdi da je upotrebljen “ključ”:
One-time Pad
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
s r l h s s t h s r
110 101 100 001 110 110 111 001 110 101
111 101 000 011 101 110 001 011 101 101
001 000 100 010 011 000 110 010 011 000
h e l i k e s i k e
Šifrovan:
“Ključ”:
“O-tekst”:
Pošiljalac je uhapšen i tvrdi da je ključ:
• Ključ K se ne smije ponavljati – U slučaju ponavljanja imamo
C1 = P1 K and C2 = P2 K C1 C2 = P1 K P2 K
= P1 P2
• Neophodne su čisto slučajne sekvence za ključ
• Ključ se mora distribuirati sigurnim kanalima
One-time Pad
One-time Pad: rezime• Dokazano sigurna, ako se koristi ispravno
– Šifrovan tekst ne daje nikakvu informaciju o otvorenom tekstu
– Svi otvoreni tekstovi su jednako vjerovatni– Ključ mora biti slučajan, i koristiti se samo
jedokratno– Ključ je poznat samo pošiljaocu i primaocu– Ključ je iste dužine kao i otvoreni tekst– Nije obezbeđen mehanizam integriteta
• Zašto ne bismo distribuirali i poruke na isti način kao i ključeve?
One-Time Pad u praksi• Lorenzova mašina
Nacistička vrhovna komanda u II svetskom ratu je koristila ovu mašinu
– Pad se generiše pomoću 12 rotora– Prijemnik i predajnik postavljaju rotore u istu poziciju– Nakon slanja poruke operator drugi put sa istim ključem šalje skraćeno zaglavlje poruke – Dovoljno da Bletchley Park odredi ključ i strukturu mašine koja je generisala ključ– Ispitivanje svih konfiguracija je zahtjevalo veliki posao
Kolos – prvi programabilni računar
• Bletchley Park, 1944• Učitavao je šifrat i
raspored rotora
Lorenzove mašine pomoću
trake• Testiraju se sve pozicije i
računa korelacija sa
Njemačkim jezikom• Dešifrovane poruke (63M znakova pomoću 10 Kolosa) su omogućile
saveznicima lokacije Nemačkih trupa u vezi plana Dan-D • Kolosi su uništeni 1960, a čuvani su u tajnosti sve do 70-tih godina XX
vijeka
Realnost: One-time Pad• Projekat VENONA
– Sovjetsak špijunska mreža u SAD 1940 tih– Nuklearna špijunaža– Hiljade šifrovanih poruka
• Špijuni su unijeli ključeve prilikom ulaska u SAD
• Ova šifra je korišćena za komuniciranje sa centralom
• Ponavljanje ključa daje realnu mogućnost za probijanje poruka
VENONA: Dekriptiranje (1944)[C% Ruth] learned that her husband [v] was called up by the army but he was not sent to the front. He is a mechanical engineer and is now working at the ENORMOUS [ENORMOZ] [vi] plant in SANTA FE, New Mexico. [45 groups unrecoverable]detain VOLOK [vii] who is working in a plant on ENORMOUS. He is a FELLOWCOUNTRYMAN [ZEMLYaK] [viii]. Yesterday he learned that they had dismissed him from his work. His active work in progressive organizations in the past was cause of his dismissal. In the FELLOWCOUNTRYMAN line LIBERAL is in touch with CHESTER [ix]. They meet once a month for the payment of dues. CHESTER is interested in whether we are satisfied with the collaboration and whether there are not any misunderstandings. He does not inquire about specific items of work [KONKRETNAYa RABOTA]. In as much as CHESTER knows about the role of LIBERAL's group we beg consent to ask C. through LIBERAL about leads from among people who are working on ENOURMOUS and in other technical fields.
• “Ruth” == Ruth Greenglass• “Liberal” == Julius Rosenberg• “Enormous” == the atomic bomb
Kodna knjiga• Bukvalno, knjiga kodnih reči• Zimmermanov telegram je šifrovan pomoću
kodne knigeFebruar 13605fest 13732finanzielle 13850folgender 13918Frieden 17142Friedenschluss 17149
: :
• Današnje moderne šifre su bukvalno kodne knjige!
ZimmermanovTelegram
• Jedna od najpoznatijih kodnih knjiga u istoriji
• Doveo je do ulaska SAD u I svetski rat
• Na slici je prikazan originalni šifrat
Dekriptiranje Zimmermanovog
Telegrama
• Britanci su parcijalno rekonstruisali kodnu knjigu
• Bili su u mogućnosti da popune nedostajuće dijelove
Kodne knjige
• Kodne knjige su osjetljive na statističku analizu– Slično šiframa proste zamjene, samo što u
ovom slučaju je potrebno jako puno šifrata za uspješan napad
• U prošlosti su kodne knjige bile vrlo popularne
• Da bi se produžio radni vijek jedne kodne knjige, često se koristila dodatna aditivna kodna knjiga
Aditivna kodna knjiga• Aditivna kodna knjiga je dodatna kodna
knjiga ispunjena “slučajnim” brojevima• Sekvence aditivnih slučajnih brojeva se
dodaju kodnim riječima i tako formira šifrat
Otvoreni tekst
kodna reč šifrat
potražiti ukodnoj knjizi
Sabrati sa aditivnom
Aditivna kodna knjiga• Po pravilu, startna pozicija u aditivnoj
kodnoj knjizi se selektuje slučajno od strane pošiljaoca
• Startna pozicija u aditivnoj kodnoj knjizi se po pravilu šalje otvoreno uz šifrat– Indikator poruke (Message Indicator - MI)– Moderni naziv: inicijalizacioni vektor (IV)
• Zašto ova šema produžava radni vijek jedne kodne knjige?
Neke istorijske činjenice
• Istorija kriptologije• Spartanska Scytale transpoziciona
šifra• Cezarova šifra• Poeov The Gold Bug• Američki izbori 1876
Američki izbori 1876
• “Rutherfraud” Hayes protiv “Swindling” Tilden– Broj glasova je bio bukvalno jednak
• Elektorske delegacije 4 države (uključujući Floridu) su nisu mogle saglasiti oko rezultata
• Komisija: Sve 4 države su glasale za Hayesa
• Tilden je optužio Hayesa za prevaru– Da li je ovo istina?
Američki izbori 1876
• Kasnije je otkrivena šifrovana poruka Tildenovih podržavaoca
• Šifra: Parcijalna kodna knjiga, plus transpozicija
• Kodna knjiga je zamjenjivala važne reči
šifrat otvoreni tekstCopenhagen Greenbacks
Greece Hayes
Rochester votes
Russia Tilden
Warsaw telegram
: :
Američki izbori 1876• Primeni se kodna knjiga na otvoreni tekst• Podeliti poruku u grupe reči koje su umnožak
broja 5 (10,15,20,25 ili 30 riječi)• Za svaku dobijenu dužinu sekvence riječi,
primenjuje se fiksna permutacija• Permutacija se može rekonstruisati
poređenjem većeg broja poruka istog broja riječi
• Primjetimo da se isti ključ koristi za sve poruke date dužine
Američki izbori 1876• Šifrat: Warsaw they read all unchanged
last are idiots can’t situation• Kodna knjiga: Warsaw telegram• Transpozicija: 9,3,6,1,10,5,2,7,4,8• Otvoreni tekst: Can’t read last telegram.
Situation unchanged. They are all idiots.• Loša šifra postaje još slabija višestrukim
korišćenjem istog ključa• Lekcija: Ne koristiti isti kljuć više puta!
Početak XX vijeka
• Prvi svjetski rat Zimmermanov telegram• “Gentlemen do not read each other’s mail”
Henry L. Stimson, Secretary of State, 1929• Drugi svetski rat zlatno doba kriptoanalize
– Midway/Coral Sea– Japanska Purple šifra (kodno ime MAGIC)– Nemačka Enigma (kodno ime ULTRA)
Nakon drugog svjetskog rata
• Claude Shannon otac teorije informacija • Računarska revolucija• Data Encryption Standard (DES), 70 te • Public Key kriptografija, 70 te• CRYPTO konferencije, 80 te• Advanced Encryption Standard (AES), 90 te• Kriptologija se pomjera ispod vela tajnosti
Claude Shannon• Osnivač teorije informacija• 1949 rad:
Comm. Thy. of Secrecy Systems• Konfuzija i difuzija
–Konfuzija složena relacija između otvorenog teksta i šifrovanog teksta
–Difuzija širenje statistike otvorenog teksta u okviru šifrovanog teksta
–Dokaz da je one-time pad šifra sigurna–One-time pad koristi konfuziju, dok
dvostruka transpozicija koristi samo difuziju