zis 6 cas kriptologija_klasicne_sifre.pptx

Post on 21-Dec-2015

28 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related