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: lois-valdez

Post on 02-Jan-2016

41 views

Category:

Documents


1 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

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

Tomáš Vaníček

Stavební fakulta ČViT

Thákurova 7, Praha-Dejvice, B407

[email protected]

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

Šifrování (symetrické)

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

Eva(nepřítel, Enemy)

klíč

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

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.

Šifra

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

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

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

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

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

KLÍČ K = 3

ABCDEFGHIJKLMNOPQRSTUVWXYZ

ADGJMPSVYBEHKNQTWZCFILORUX

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í

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

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= 26-P mod N.

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

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

Obecná monoalfabetická šifra

• Tento text bude zasifrovan obecnou monoalfabetickou sifrou.

• Plbpx plvp meil nvzqdtxuvb xmlabxe kxbxvydvmlpqasxe zqdtxe

ABCDEFGHIJKLMNOPQRSTUVWXYZVMAIVLDRHQCSYKBXGOTZPEUVFN

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

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

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.

Š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;‡?;

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

-

Postraní kanál

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

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

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;‡?;

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;‡?;

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;‡?;

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

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

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

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

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

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

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

A teď si to zkuste sami

• rdaqwi bc lwefewq riwgdh, aegebjckbmn rkcobcoq bcocw sc bsc rkqhdsgc bqa q hcjw kdfswcmwc sgejkge bocwcge, tcf ai rkdrwdisqwd adfmca, qgef ln s gc fqgchuqwd bclcacgbe 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 dljefgn ocg. gq geh tegcud if ai s uwqsc rkqmjehmn gcflnsqwd 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%