86
Kriptologija

Lekcija 1-Kriptologija Klasicne Sifre

Embed Size (px)

DESCRIPTION

Kriptologija klasicne sfire

Citation preview

Page 1: Lekcija 1-Kriptologija Klasicne Sifre

Kriptologija

Page 2: Lekcija 1-Kriptologija Klasicne Sifre

Kriptologija

•Κρυπτός sakriti

•γράφω pisati

•Λογία nauka

Page 3: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 4: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 5: Lekcija 1-Kriptologija Klasicne Sifre

• Š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

Page 6: Lekcija 1-Kriptologija Klasicne Sifre

• 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

Page 7: Lekcija 1-Kriptologija Klasicne Sifre

Osnovni model

• Pi je ita “jedinica” otvorenog teksta

• Ci je odgovarajući šifrat

• “Jedinica” može biti bit, slovo, blok bita, i td.

Otvoreni tekst

ključključ

šifrat

šifrovanje dešifrovanjePi Pi

CiOtvoreni tekst

Page 8: Lekcija 1-Kriptologija Klasicne Sifre

Osnovni model

Šifrovanje DešifrovanjeOtvoreni tekst

Šifrat Otvoreni tekst

Alisa BobTrudy

Nebezbedan kanal

C = E(P)P = D(C)E mora biti invertibilno

Page 9: Lekcija 1-Kriptologija Klasicne Sifre

Osnovni model

Šifrovanje DešifrovanjeOtvoreni

tekst

Šifrat Otvoreni tekst

KE KD

Alisa BobC = E(KE, P) = EKE (P)

P = D(KD, C) = DKD (C)

If KE = KD simetrično šifrovanjeIf KE KD asimetrično šifrovanje

Page 10: Lekcija 1-Kriptologija Klasicne Sifre

Ko šta zna?

• Trudi zna šifrat• Trudi zna šifrat i kako algoritam šifrovanja radi• Trudi možda zna i još po nešto• Trudi ne zna ključ

Ot. tekst

ključključ

šifrat

šifrovanje dešifrovanjePi

PiCiOt. tekst

Alisa BobTrudi

Page 11: Lekcija 1-Kriptologija Klasicne Sifre

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.

Page 12: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 13: Lekcija 1-Kriptologija Klasicne Sifre

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• U kriptografiji skoro nikad ne možemo dokazati

da skraćeni napadi ne postoje• Ovo čini kriptografiju interesantnom i

izazovnom

Page 14: Lekcija 1-Kriptologija Klasicne Sifre

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.

Page 15: Lekcija 1-Kriptologija Klasicne Sifre

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!

Page 16: Lekcija 1-Kriptologija Klasicne Sifre

Definicija sigurnosti

• Zašto je sigurnost definisana 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

Page 17: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 18: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 19: Lekcija 1-Kriptologija Klasicne Sifre

Klasična kriptografija

Page 20: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 21: Lekcija 1-Kriptologija Klasicne Sifre

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 principu difuzije (o kome će biti reči kasnije)– Ova ideja se naširoko koristi u modernim šiframa

Page 22: Lekcija 1-Kriptologija Klasicne Sifre

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 ispremeštana- skremblovanaTSATAHCLONEORTYTMUATIESLHMTS…

Page 23: Lekcija 1-Kriptologija Klasicne Sifre

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?

Page 24: Lekcija 1-Kriptologija Klasicne Sifre

Transpozicija kolona• Postavimo otvoreni tekst u redove jedne matrice

a 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č?

Page 25: Lekcija 1-Kriptologija Klasicne Sifre

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?

Page 26: Lekcija 1-Kriptologija Klasicne Sifre

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č?

Page 27: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 28: Lekcija 1-Kriptologija Klasicne Sifre

Dvostruka transpozicija

• Otvoreni tekst: ATTACK AT DAWN

Permutacijaredova i kolona

• Šifrat: 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

Page 29: Lekcija 1-Kriptologija Klasicne Sifre

Dvostruka transpozicija

• Kako Trudi može da napadne dvostruku transpoziciju?

• Pretpostavimo da Trudi poseduje š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?

Page 30: Lekcija 1-Kriptologija Klasicne Sifre

Dvostruka transpozicija• Skraćeni napad na dvostruku transpoziciju?• Neka je šifrat

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

Page 31: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 32: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 33: Lekcija 1-Kriptologija Klasicne Sifre

Š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

Page 34: Lekcija 1-Kriptologija Klasicne Sifre

Š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.

Page 35: Lekcija 1-Kriptologija Klasicne Sifre

Šifra zamene - primer• 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

DE 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

• Šifrat: IRXUVFRUHDAGVHYHABHDUVDIR

• Cezarova šifra sa pomerajem d=3

O.tekst

Šifrat

Page 36: Lekcija 1-Kriptologija Klasicne Sifre

Dešifrovanje Cezarove šifre

• O.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

DE 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

• Šifrat: VSRQJHEREVTXDUHSDQWU

Page 37: Lekcija 1-Kriptologija Klasicne Sifre

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

G

O.tekst

Šifrat

Page 38: Lekcija 1-Kriptologija Klasicne Sifre

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čeva probati sve!• Potpuna pretraga ključeva• Rešenje: ključ = 4

Page 39: Lekcija 1-Kriptologija Klasicne Sifre

Šifra proste zamene

• 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

O

O.tekst

Šifrat

• 26! > 288 mogućih ključeva!

Page 40: Lekcija 1-Kriptologija Klasicne Sifre

Kriptoanaliza proste 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: PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOXBTF

XQWAXBVCXQWAXFQJVWLEQNTOZQGGQLFXQWAKVWLXQWAEBIPBFXFQVXGTVJVWLBTPQWAEBFPBFHCVLXBQUFEVWLXGDPEQVPQGVPPBFTIXPFHXZHVFAGFOTHFEFBQUFTDHZBQPOTHXTYFTODXQHFTDPTOGHFQPBQWAQJJTODXQHFOQPWTBDHHIXQVAPBFZQHCFWPFHPBFIPBQWKFABVYYDZBOTHPBQPQJTQOTOGHFQAPBFEQJHDXXQVAVXEBQPEFZBVFOJIWFFACFCCFHQWAUVWFLQHGFXVAFXQHFUFHILTTAVWAFFAWTEVOITDHFHFQAITIXPFHXAFQHEFZQWGFLVWPTOFFA

Page 41: Lekcija 1-Kriptologija Klasicne Sifre

Kriptoanaliza proste zamene

• Praktično je nemoguće isprobati svih 288 ključeva proste zamene

• 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

Page 42: Lekcija 1-Kriptologija Klasicne Sifre

Kriptoanaliza proste zamene• Šifrat: 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 šifratu

Page 43: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 44: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 45: Lekcija 1-Kriptologija Klasicne Sifre

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 je nzd(a, 26) = 1 (zašto?)– (uslov postojanja inverzne transformacije neophodne

kod dešifrovanja)

Page 46: Lekcija 1-Kriptologija Klasicne Sifre

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.

Page 47: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 48: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 49: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 50: Lekcija 1-Kriptologija Klasicne Sifre

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 meri?

Page 51: Lekcija 1-Kriptologija Klasicne Sifre

Indeks koincidencije• Daje verovatnoću da su 2 slučajno izabrana

slova identična• Za otvoreni engleski tekst, verovatnoća da su

dva slova ista je jednaka:– p0

2 + p12 + … + p25

2 ≈ 0.065, gde je pi verovatnoća itog slova

• Soga je i za šifrat nastao prostom zamenom, I ≈ 0.065

• Ako bi slova bila sa ravnomernim verovatnoć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 reči

Page 52: Lekcija 1-Kriptologija Klasicne Sifre

Indeks koincidencije• Kako koristiti ove rezultate za odredjivanje

dužine ključne reči u Vižnerovoj šifri?• Neka je dužina ključne reč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

zamene

• Selektujemo 2 slova iz različitih kolona– Ekvivalentno selektovanju slučajnih slova

Page 53: Lekcija 1-Kriptologija Klasicne Sifre

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 dve različite kolone i bilo koja dva reda:

Page 54: Lekcija 1-Kriptologija Klasicne Sifre

Indeks koincidencije• Približna vrednost indeksa koincidencije:

• Rešenje po k daje:

• Uzeti n i I (poznato iz šifrata) u cilju aproksimacije dužine ključne reči Vižnerove šifre

Page 55: Lekcija 1-Kriptologija Klasicne Sifre

Indeks koincidencije

• Kada je pronadjen predstavljao je revoluciju u kriptoanalizi– William F. Friedman 1920

• Koristan za razbijanje klasičnih i šifara iz doba Drugog svetskog rata

• U statistici je test incidencija i koincidencija dobro poznat– Postoje i mnogi drugi korisni statistički testovi

Page 56: Lekcija 1-Kriptologija Klasicne Sifre

Hilova šifra

• Pronašao je Lester Hill 1929 godine– Preteča modernih blok šifri

• Ideja se sastojala u tome da se formira šifra zamene sa velikim “alfabetom”

Page 57: Lekcija 1-Kriptologija Klasicne Sifre

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č

Page 58: Lekcija 1-Kriptologija Klasicne Sifre

Hilova šifra: primer• Neka je n = 2 i• Otvoreni tekst

MEETMEHERE = (12,4,4,19,12,4,7,4,17,4)• Tada je

• i

• Šifrat:

(4,22,23,9,4,22,24,19,10,25) = EWXJEWYTKZ

Page 59: Lekcija 1-Kriptologija Klasicne Sifre

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 kolonep0,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

Page 60: Lekcija 1-Kriptologija Klasicne Sifre

Kriptoanaliza: lekcija IV

• Linearne šifre su slabe– Budući da se linearne jednačine mogu lako rešiti

• Jake šifre moraju imati nelinearnosti– Linearne komponente su korisne– Ali šifra ne sme biti u potpunosti linearna

• Kriptoanalitičari pokušavaju da aproksimiraju nelinearne delove algoritma sa linearnim jednačinama

Page 61: Lekcija 1-Kriptologija Klasicne Sifre

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 primenu

Page 62: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 63: Lekcija 1-Kriptologija Klasicne Sifre

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č = šifrat

O.tekst:

Key:

Šifrat:

Page 64: Lekcija 1-Kriptologija Klasicne Sifre

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: Šifrat Ključ = Otvoreni tekst

Šifrat:Ključ:

O.tekst:

Page 65: Lekcija 1-Kriptologija Klasicne Sifre

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

Šifrat:

“kjuč”:

“O.tekst”:

Dvostruki agent tvrdi da je upotrebljen “ključ”:

Page 66: Lekcija 1-Kriptologija Klasicne Sifre

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

Šifrat:

“Ključ”:

“O-tekst”:

Pošiljalac je uhapšen i tvrdi da je ključ:

Page 67: Lekcija 1-Kriptologija Klasicne Sifre

• Ključ K se ne sme 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

Page 68: Lekcija 1-Kriptologija Klasicne Sifre

One-time Pad: rezime

• Dokazano sigurna, ako se koristi ispravno– Šifrat ne daje nikakvu informaciju o otvorenom

tekstu– Svi otvoreni tekstovi su jednako verovatni– 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 obezbedjen mehanizam integriteta

• Zašto ne bismo distribuirali i poruke na isti način kao i ključeve?

Page 69: Lekcija 1-Kriptologija Klasicne Sifre

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 zahtevalo veliki posao

Page 70: Lekcija 1-Kriptologija Klasicne Sifre

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

Nemač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

veka

Page 71: Lekcija 1-Kriptologija Klasicne Sifre

Realnost: One-time Pad

• Projekat VENONA– Sovjetsak špijunska mreža u SAD 1940 tih– Nuklearna špijunaža– Hiljade šifrovanih poruka

• Špijuni su uneli 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

Page 72: Lekcija 1-Kriptologija Klasicne Sifre

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

Page 73: Lekcija 1-Kriptologija Klasicne Sifre

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!

Page 74: Lekcija 1-Kriptologija Klasicne Sifre

ZimmermanovTelegram

• Jedna od najpoznatijih kodnih knjiga u istoriji

• Doveo je do ulaska SAD u I svetski rat

• Na slici je prikazan originalni šifrat

Page 75: Lekcija 1-Kriptologija Klasicne Sifre

Dekriptiranje Zimmermanovog

Telegrama

• Britanci su parcijalno rekonstruisali kodnu knjigu

• Bili su u mogućnosti da popune nedostajuće delove

Page 76: Lekcija 1-Kriptologija Klasicne Sifre

Kodne knjige

• Kodne knjige su osetljive na statističku analizu– Slično šiframa proste zamene, samo što u ovom

slučaju je potrebno jako puno šifrata za uspešan napad

• U prošlosti su kodne knjige bile vrlo popularne• Da bi se produžio radni vek jedne kodne knjige,

često se koristila dodatna aditivna kodna knjiga

Page 77: Lekcija 1-Kriptologija Klasicne Sifre

Aditivna kodna knjiga

• Aditivna kodna knjiga je dodatna kodna knjiga ispunjena “slučajnim” brojevima

• Sekvence aditivnih slučajnih brojeva se dodaju kodnim rečima i tako formira šifrat

Otvoreni tekst

kodna reč šifrat

potražiti ukodnoj knjizi

Sabrati sa aditivnom

Page 78: Lekcija 1-Kriptologija Klasicne Sifre

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 vek jedne kodne knjige?

Page 79: Lekcija 1-Kriptologija Klasicne Sifre

Neke istorijske činjenice

• Istorija kriptologije

• Spartanska Scytale transpoziciona šifra

• Cezarova šifra

• Poeov The Gold Bug

• Američki izbori 1876

Page 80: Lekcija 1-Kriptologija Klasicne Sifre

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?

Page 81: Lekcija 1-Kriptologija Klasicne Sifre

Američki izbori 1876• Kasnije je otkrivena šifrovana poruka

Tildenovih podržavaoca• Šifra: Parcijalna kodna knjiga, plus

transpozicija• Kodna knjiga je zamenjivala važne reči

šifrat otvoreni tekstCopenhagen GreenbacksGreece HayesRochester votesRussia TildenWarsaw telegram : :

Page 82: Lekcija 1-Kriptologija Klasicne Sifre

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 reči)• Za svaku dobijenu dužinu sekvence reči,

primenjuje se fiksna permutacija• Permutacija se može rekonstruisati

poredjenjem većeg broja poruka istog broja reči

• Primetimo da se isti ključ koristi za sve poruke date dužine

Page 83: Lekcija 1-Kriptologija Klasicne Sifre

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!

Page 84: Lekcija 1-Kriptologija Klasicne Sifre

Početak XX veka

• Prvi svetski 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)

Page 85: Lekcija 1-Kriptologija Klasicne Sifre

Nakon drugog svetskog 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 pomera ispod vela tajnosti

Page 86: Lekcija 1-Kriptologija Klasicne Sifre

Claude Shannon

• Osnivač teorije informacija• 1949 rad: Comm. Thy. of Secrecy Systems• Konfuzija i difuzija

– Konfuzija složena relacija izmedju otvorenog teksta i šifrata

– Difuzija širenje statistike otvorenog teksta u okviru šifrata

– Dokaz da je one-time pad šifra sigurna– One-time pad koristi konfuziju, dok dvostruka

transpozicija koristi samo difuziju