kódování a šifrování

33
Kódování a šifrování Tomáš Vaníček Stavební fakulta ČViT Thákurova 7, Praha-Dejvice, B407 [email protected]

Upload: shing

Post on 05-Jan-2016

56 views

Category:

Documents


2 download

DESCRIPTION

Kódování a šifrování. Tomáš Vaníček Stavební fakulta ČViT Thákurova 7, Praha-Dejvice, B407 vanicek @fsv.cvut.cz. Kódování a šifrování. Monoalfabetické šifry Polyalfabetické šifry Index koincidence Kryptoanalýza Vigenérovských šifer Polygrafické šifry Šifry typu Enigma Posuvné registry - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kódování a šifrování

Kódování a šifrování

Tomáš Vaníček

Stavební fakulta ČViT

Thákurova 7, Praha-Dejvice, B407

[email protected]

Page 2: Kódování a šifrování

Kódování a šifrování

• Monoalfabetické šifry• Polyalfabetické šifry• Index koincidence• Kryptoanalýza Vigenérovských šifer• Polygrafické šifry• Šifry typu Enigma• Posuvné registry• Lineární kódy, váha, opravování chyb• Hammingovy kódy• Asymetrické šifrování• McEllisova šifra• RSA• Elektronický podpis• Hashovací funkce• Systémy PGP

Page 3: Kódování a šifrování

Šifrování (symetrické)

Alice Bobšifrování dešifrování

Eva(nepřítel, Enemy)

klíč

Page 4: Kódování a šifrování

Kódování

Alice Bobkódování dekódování

Narušení zprávy

Automatická oprava, nebo alespoň upozornění na chybu při přenosu

Page 5: Kódování a šifrování

Abeceda

• Libovolná konečná množina znaků• Například A={0,1},• Nebo A={أبدفجحئكلمنوقرستثز}• Nebo A={AÁBCČDEÉĚFGHIÍJKLMNŇO• ÓPQRŘSŠTŤUÚVWXYÝZŽ}• Nebo A={ABCDEFGHIJKLMNOPQRSTUVWXYZ}

(26 znaků)

• A+ - Množina všech slov (posloupností znaků z A.• A* - Množina všech posloupností z A včetně prázdného

slova.

Page 6: Kódování a šifrování

Šifra

• Kryptografická transformace (šifra) je prosté zobrazení Φ: A*x K B*, K je množina klíčů

Page 7: Kódování a šifrování

Cézarovská šifraf(x)=x+k mod N

KLÍČ K = 3

A B C D E F G H I J K L M N O P Q R S T U V WX Y Z

D E F G H I J K L M N O P Q R S T U V WX Y Z A B C

Page 8: Kódování a šifrování

Cézarovská šifraf(x)=x+k mod N

KLÍČ K = 3

• Tento text bude zasifrovan Cezarovskou sifrou s klicem k rovnym 3.

• Whqwr whaw exgh cdvlhurydq Fhcduryvnrx vlivrx v nofhp a uryqbp 3.

ABCDEFGHIJKLMNOPQRSTUVWXYZDEFGHIJKLMNOPQRSTUVWXYZABC

Page 9: Kódování a šifrování

Multiplikativní šifraf(x)=x*k mod N

KLÍČ K = 3

A B C D E F G H I

0 1 2 3 4 5 6 7 8

0 3 6 9 12 15 18 21 24

0 3 6 9 12 15 18 21 24

A D G J M P S V Y

Page 10: Kódování a šifrování

Multiplikativní šifraf(x)=x*k mod N

KLÍČ K = 3

ABCDEFGHIJKLMNOPQRSTUVWXYZ

ADGJMPSVYBEHKNQTWZCFILORUX

Page 11: Kódování a šifrování

Multiplikativní “šifra”klíč K=2

A 0 → 0 A

B 1 → 2 C

N 13 → 26 → 0 A

O 14 → 28 → 2 C

Není to prosté zobrazení

Page 12: Kódování a šifrování

Multiplikativní šifry

• Pro K nesoudělné s N existuje právě jedno L, takové že K*L = 1 mod N.

• Například pro K=3 a N=26 je to L=9.

• K je šifrovací klíč a L je dešifrovací klíč.

• Například písmeno w=22 se zašifruje na 22*3 mod 26 = 14 = O

• a dešifruje: 14*9 mod 26 = 126 mod 26 = 22 = w

Page 13: Kódování a šifrování

Obecná afinní šifra

• f(x) = K*x + P mod N, K nesoudělné s N

• Šifrovacím klíčem je dvojice K,P

• Dešifrovacím klíčem je dvojice L,Q, kde L je jediné číslo, pro které K * L = 1 mod N a Q= P -l mod N.

Page 14: Kódování a šifrování

Obecná monoalfabetická šifra• Šifrovacím klíčem je celá funkce (tabulka) obrazů

jednotlivých písmen, například:ABCDEFGHIJKLMNOPQRSTUVWXYZVMAIVLDRHQCSYKBXGOTZPEUVFN

Page 15: Kódování a šifrování

Obecná monoalfabetická šifra

• Tento text bude zasifrovan obecnou monoalfabetickou sifrou.

• Plbpx plvp meil nvzqdtxuvb xmlabxe kxbxvydvmlpqasxe zqdtxe

ABCDEFGHIJKLMNOPQRSTUVWXYZVMAIVLDRHQCSYKBXGOTZPEUVFN

Page 16: Kódování a šifrování

Statistika výskytů jednotlivých písmenv textu (v %)

Písmeno Angl. Franc. Něm. Češ. Slov. A 7,96 7,68 5,52 8,99 9,49 B 1,60 0,80 1,56 1,86 1,90 C 2,84 3,32 2,94 3,04 3,45 D 4,01 3,60 4,91 4,14 4,09 E 12,86 17,76 19,18 10,13 9,16 F 2,62 1,06 1,96 0,33 0,31 G 1,99 1,10 3,60 0,48 0,40 H 5,39 0,64 5,02 2,06 2,35 I 7,77 7,23 8,21 6,92 6,81 J 0,16 0,19 0,16 2,10 2,12 K 0,41 0,00 1,33 3,44 3,80 L 3,51 5,89 3,48 4,20 4,56

Page 17: Kódování a šifrování

Statistika výskytů jednotlivých písmenv textu (v %)

Písmeno Angl. Franc. Něm. Češ. Slov. M 2,43 2,72 1,69 2,99 2,97 N 7,51 7,61 10,20 6,64 6,34 O 6,62 5,34 2,14 8,39 9,34 P 1,81 3,24 0,54 3,54 2,87 Q 0,17 1,34 0,01 0,00 0,00 R 6,83 6,81 7,01 5,33 5,12 S 6,62 8,23 7,07 5,74 5,94 T 9,72 7,30 5,86 4,98 5,06 U 2,48 6,05 4,22 3,94 3,70 V 1,15 1,27 0,84 4,50 4,85 W 1,80 0,00 1,38 0,06 0,06 X 0,17 0,54 0,00 0,04 0,03 Y 1,52 0,21 0,00 2,72 2,57 Z 0,05 0,07 1,17 3,44 2,72

Page 18: Kódování a šifrování

Statistika

• Uvedené statistiky se vztahují k obecnému textu v daném jazyce. V textu odborném, nebo zaměřeném určitým směrem, může být výskyt písmen podstatně jiný. Například v knize o operačních systémech počítačů bude výskyt písmene X mnohonásobně větší, než v F.L.Věkovi.

Page 19: Kódování a šifrování

Šifra z povídky Zlatý skarabeus

53‡‡†305))6*;4826)4‡.)4‡);806*;48†8π60))85;1‡(;:‡*8†83(88)5*†;46(;88*96*?;8)*‡(;485);5*†2:*‡(;4956*2(5*-4)8 π8*;4069285);)6†8)4‡‡;1(‡9;48081;8:8‡1;48†85;4)485†528806*81(‡9;48;(88;4(‡?34;48)4‡;161;:188;‡?;

Page 20: Kódování a šifrování

Statistika výskytu znaků

53‡‡†305))6*;4826)4‡.)4‡);806*;48†8π60))85;1‡(;:‡*8†83(88)5*†;46(;88*96*?;8)*‡(;485);5*†2:*‡(;4956*2(5*4)8 π8*;4069285);)6†8)4‡‡;1(‡9;48081;8:8‡1;48†85;4)485†528806*81(‡9;48;(88;4(‡?34;48)4‡;161;:188;‡?;

5 12x 6 11x . 1x ? 3x

3 4x * 13x π 2x - 1x ‡ 16x ; 26x 1 6x† 8x 4 19x ( 10x0 6x 8 33x : 4x) 16x 2 5x 9 5x

-

Page 21: Kódování a šifrování

Postraní kanál

Podle podpisu (obrázek kůzlete = kid = Kapitán Kid) určil hrdina, že text je napsán v angličtině

Page 22: Kódování a šifrování

Nejčastější anglická písmena

E 12,86%

T 9,72%

A 7,96%

I 7,77%

N 7,51%

O 6,56%

S 6,56%

Nejčastější písmena v textu

8 33x

; 26x

4 19x

‡ 16x

Hypotéza: 8 = E

Page 23: Kódování a šifrování

Potvrzení hypotézy

V angličtině se často vyskytuje bigram (dvojice písmen) EE. V textu je bigram 88 celkem 5x

53‡‡†305))6*;4826)4‡.)4‡);806*;48†8π60))85;1‡(;:‡*8†83(88)5*†;46(;88*96*?;8)*‡(;485);5*†2:*‡(;4956*2(5*-4)8 π8*;4069285);)6†8)4‡‡;1(‡9;48081;8:8‡1;48†85;4)485†528806*81(‡9;48;(88;4(‡?34;48)4‡;161;:188;‡?;

Page 24: Kódování a šifrování

Zkusíme nahradit znak 8 znakem E

53‡‡†305))6*;4e26)4‡.)4‡);e06*;4e†eπ60))e5;1‡(;:‡*e†e3(ee)5*†;46(;ee*96*?;e)*‡(;4e5);5*†2:*‡(;4956*2(5*-4)e πe*;40692e5);)6†e)4‡‡;1(‡9;4e0e1;e:e‡1;4e†e5;4)4e5†52ee06*e1(‡9;4e;(ee;4(‡?34;4e)4‡;161;:1ee;‡?;

Page 25: Kódování a šifrování

Pokračování

V angličtině je velmi častý trigram THE

V textu se 7x vyskytuje trigram ;48, tedy ;4e

Navíc ; se vyskytuje jako druhé nejčastější písmeno 26x, což odpovídá písmenu t

Zkusíme tedy ; = t, 4 = h53‡‡†305))6*;4e26)4‡.)4‡);e06*;4e†eπ60))e5;1‡(;:‡*e†e3(ee)5*†;46(;ee*96*?;e)*‡(;4e5);5*†2:*‡(;4956*2(5*-4)e πe*;40692e5);)6†e)4‡‡;1(‡9;4e0e1;e:e‡1;4e†e5;4)4e5†52ee06*e1(‡9;4e;(ee;4(‡?34;4e)4‡;161;:1ee;‡?;

Page 26: Kódování a šifrování

Teď to vypadá takto

53‡‡†305))6*the26)h‡.)h‡)te06*the†eπ60))e5t1‡(t:‡*e†e3(ee)5*†th6(tee*96*?te)*‡(the5)t5*†2:*‡(th956*2(5*-h)e πe*th0692e5)t)6†e)h‡‡t1(‡9the0e1te:e‡1the†e5th)he5†52ee06*e1(‡9thet(eeth(‡?3hthe)h‡t161t:1eet‡?t

Page 27: Kódování a šifrování

Pokračování53‡‡†305))6*the26)h‡.)h‡)te06*the†eπ60))e5t1‡(t:‡*e†e3(ee)5*†

th6(tee*96*?te)*‡(the5)t5*†2:*‡(th956*2(5*-h)e πe*th0692e5)t)6†e)h‡‡t1(‡9the0e1te:e‡1the†e5th)he5†52ee06*e1(‡9thet(eeth(‡?3hthe)h‡t161t:1eet‡?t

Další z nejčastějších znaků v textu je ‡. Přitom v textu je 2x bigram ‡‡. Tuto vlastnost splňuje písmeno o

53oo†305))6*the26)ho.)ho)te06*the†eπ60))e5t1o(t:o*e†e3(ee)5*†th6(tee*96*?te)*o(the5)t5*†2:*o(th956*2(5*-h)e πe*th0692e5)t)6†e)hoot1(o9the0e1te:eo1the†e5th)he5†52ee06*e1(o9thet(eeth(o?3hthe)hot161t:1eeto?t

Page 28: Kódování a šifrování

Pokračování

53oo†305))6*the26)ho.)ho)te06*the†eπ60))e5t1o(t:o*e†e3(ee)5*†th6(tee*96*?te)*o(the5)t5*†2:*o(th956*2(5*-h)e πe*th0692e5)t)6†e)hoot1(o9the0e1te:eo1the†e5th)he5†52ee06*e1(o9thet(eeth(o?3hthe)hot161t:1eeto?t

Na vyznačených místech lze odhadnout slova thirteen a the tree, tedy 6 = i a ( = r

• 53oo†305))i*the2i)ho.)ho)te0i*the†eπi0))e5t1ort:o*e†e3ree)5*†thirtee*9i*?te)*orthe5)t5*†2:*orth95i*2r5*-h)e πe*th0i92e5)t)i†e)hoot1ro9the0e1te:eo1the†e5th)he5†52ee0i*e1ro9thetreethro?3hthe)hot1i1t:1eeto?t

Page 29: Kódování a šifrování

Pokračování

• 53oo†305))i*the2i)ho.)ho)te0i*the†eπi0))e5t1ort:o*e†e3ree)5*†thirtee*9i*?te)*orthe5)t5*†2:*orth95i*2r5*-h)e πe*th0i92e5)t)i†e)hoot1ro9the0e1te:eo1the†e5th)he5†52ee0i*e1ro9thetreethro?3hthe)hot1i1t:1eeto?t

Další častý znak tvořící bigram je ). Odpovídá písmenu s a bigramu ss. Na vyznačeném místě lze odhadnout slovo through, tedy ? = u, 3 = g

• 5goo†g05ssi*the2isho.shoste0i*the†eπi0sse5t1ort:o*e†egrees5*†thirtee*9i*utes*orthe5st5*†2:*orth95i*2r5*-hse πe*th0i92e5stsi†eshoot1ro9the0e1te:eo1the†e5thshe5†52ee0i*e1ro9thetreethroughtheshot1i1t:1eetout

Page 30: Kódování a šifrování

Pokračování• 5goo†g05ssi*the2isho.shoste0i*the†eπi0sse5t1ort:o*e†egrees5*

†thirtee*9i*utes*orthe5st5*†2:*orth95i*2r5*-hse πe*th0i92e5stsi†eshoot1ro9the0e1te:eo1the†e5thshe5†52ee0i*e1ro9thetreethroughtheshot1i1t:1eetout

• Často se vyskytuje znak 5, nikdy však netvoří bigram 55, odpovídá anglickému písmenu a

• Ze začátku textu je patrné 5 = a, † = d a dále 0 = l, (a good glass)

• agoodglassi*the2isho.shosteli*thedeπilsseat1ort:o*edegreesa*dthirtee*9i*utes*ortheasta*d2:*orth9ai*2ra*-hse πe*thli92eastsideshoot1ro9thele1te:eo1thedeathsheada2eeli*e1ro9thetreethroughtheshot1i1t:1eetout

Page 31: Kódování a šifrování

Pokračování• agoodglassi*the2isho.shosteli*thedeπilsseat1ort:o*edegre

esa*dthirtee*9i*utes*ortheasta*d2:*orth9ai*2ra*-hse πe*thli92eastsideshoot1ro9thele1te:eo1thedeathsheada2eeli*e1ro9thetreethroughtheshot1i1t:1eetout

Odhadem textu na vyznačených místech dále získáme:

• * = n, 2 = b, . = p, π = v, 1 = f

• agoodglassinthebishopshostelinthedevilsseatfort:onedegreesandthirteen9inutesnortheastandb:north9ainbran-hse venthli9beastsideshootfro9thelefte:eofthedeathsheadabeelinefro9thetreethroughtheshotfif1t:feetout

Page 32: Kódování a šifrování

A dokončení• a good glass in the bishops hostel in the devils seat fort: one

degrees and thirteen 9inutes north east and b: north 9ain bran-h se venth li9b east side shoot fro9 the left e:e of the deaths head a bee line fro9 the tree through the shot fif1t: feet out

• : = y, 9 = m, - = c

• a good glass in the bishops hostel in the devils seat forty one degrees and thirteen minutes north east and by north main branch seventh limb east side shoot from the left eye of the deaths head a bee line from the tree through the shot fif1ty feet out

• A zbývá se vydat pro poklad

Page 33: Kódování a šifrování

A teď si to zkuste sami

• rdaqwi bc dwefewq riwgdh, aegebjckbmn rkcobcoq bcocw sc bsc rkqhdsgc bqa q hcjw kdfswcmwc sgejkge bocwcge, tcf ai rkdrwdisqwd adfmca, qgef dn s gc fqgchuqwd bcdcacgbe banbwirwgdi bjdri. hcmqw gq jcwcFdgqj rkcfeocgjq tebjc sfoqwcgc fcac, gcjkrcwesc rkcaejqw, mon jcg fqjkqhcgn huwqr mdgchgc fqsdwq, q irdkgc bc bgqfew rdjwqhej gcrketcagc sfrdaegmn gq swcmwn, igqsgn q ddjefgn ocg. gq geh tegcud if ai s uwqsc rkqmjehmn gcfdnsqwd aebjd.

Text je v češtině v abecedě s 26 znaky (bez diakritiky)

Nejčastější znaky v obecném českém textu:

E 10,13%; A 8,99%; O 8,39%; I 6,92%; N 6,64%; S 5,74%; R 5,33%