Úvod do klasických a moderních metod šifrování

30
Úvod do klasických a moderních metod šifrování Jaro 2009, 1. přednáška

Upload: arien

Post on 07-Jan-2016

50 views

Category:

Documents


0 download

DESCRIPTION

Úvod do klasických a moderních metod šifrování. Jaro 200 9 , 1. přednáška. Šifrování. Cílem je skrýt obsah komunikace před protivníkem, který může komunikaci odposlouchávat. Oskar (Eva) - protivník. y. x. Šifrovací algoritmus. Dešifrovací algoritmus. x. Alice. Bob. K. Bezpečný kanál. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Úvod do klasických a moderních metod šifrování

Úvod do klasických a moderních metod šifrování

Jaro 2009, 1. přednáška

Page 2: Úvod do klasických a moderních metod šifrování

ŠifrováníCílem je skrýt obsah komunikace před protivníkem, který může komunikaci odposlouchávat.

Oskar (Eva) - protivník

AliceŠifrovací

algoritmus Dešifrovacíalgoritmus Bob

Zdrojklíčů

Bezpečný kanál

x y x

K

x – otevřený text y – šifrový text K - klíč

Page 3: Úvod do klasických a moderních metod šifrování

Šifrováním se snažíme skrýt obsah komunikace,

neskrýváme komunikaci samotnou.

Kryptologie – nauka o tom, jak skrývat obsah komunikace

Steganografie – nauka o tom, jak skrývat komunikaci

Page 4: Úvod do klasických a moderních metod šifrování

kryptologie

kryptografie kryptoanalýza

zabývá se návrhem šifrovacích systémů

zabývá se odhalovánímslabin v šifrovacích systémech

Page 5: Úvod do klasických a moderních metod šifrování

Příklad šifrového textu

LREXJ CKDJA ZXPAK UPXJA TRGER GROKA APNKW PDQKL RMLRG JERGW

ELJEP DZNGH QKLAJ QCPMN GUSRA RXPGA JCKWE PVHNK WGRER QRMAR

JCARD DLPMH URLKY RAWQR NKGJT JRPLU QPUER NXKNK DNGHQ KLAJQ

PLXUP GPAKK LWRMU RUJAO KXMPT AJCKK DDRGR AJTGK LRTRN KEKML

PMAJT ARAJP VZQRM ARCAR DNXJW RGPAK ERDLA KTJPA KPEWJ LRUMR

PHEKE PQCKA RMCRX SKEPD KWEUP CKDJA HVZGN KDNGH QKLAJ QLXUP

GAPMJ WERVZ GKEKP UVHCL JQDRL RLJGK LRTEL XEJNX JLJEP GCKWE

PXWJP CXKUA RHWEP XPAZN PALTJ LJGHE KYRWE YRAKM LQKWJ GJPQP

GCKER TCNKD NGHQK LAJQH MARWR WEPGP WPQXP MRAEW QPLRT

Základní statistické údaje o textu

Počet znaků: 440

Page 6: Úvod do klasických a moderních metod šifrování

Frekvence znakův textu v češtině

R … 47 … 10,56% A … 10,52%

K … 42 … 9,43% O … 9,77%

P … 40 … 8,98% E … 9,66%

A … 35 … 7,86% N … 6,88%

J … 33 … 7,41% I … 6,07%

. .

. .

. .

Z … 6 … 1,34% J … 1,79%

V … 5 … 1,12% Y … 1,44%

Y … 3 … 0,67% B … 1,1%

O … 2 … 0,45% F … 0,17%

S … 2 … 0,45% G … 0,17%

B … 0 Q … 0

F … 0 W … 0

I … 0 X … 0

Tyto a další statistické údaje slouží v první fázi k identifikaci šifry.

Page 7: Úvod do klasických a moderních metod šifrování

Identifikace šifry Jaká šifra byla použita?

Nedošlo pouze k nahrazení písmen otevřeného textu písmeny šifrového textu podle nějakého pravidla?

Například podle tabulky

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

Nebo přehledněji

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 Z

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

Takové šifře se říká jednoduchá substituce .

Zkusme tedy šifrový text podle této tabulky dešifrovat .

Page 8: Úvod do klasických a moderních metod šifrování

(Ne tak) naivní pokusLREXJ CKDJA ZXPAK UPXJA TRGER GROKA APNKW PDQKL RMLRG JERGWLATMI COPIN JMENO UEMIN HAVTA VAFON NEKOS EPDOL ARLAV ITAVSELJEP DZNGH QKLAJ QCPMN GUSRA RXPGA JCKWE PVHNK WGRER QRMARTLITE PJKVZ DOLNI DCERK VUGAN AMEVN ICOST EYZKO SVATA DARNAJCARD DLPMH URLKY RAWQR NKGJT JRPLU QPUER NXKNK DNGHQ KLAJQICNAP PLERZ UALOB ANSDA KOVIH IAELU DEUTA KMOKO PKVZD OLNIDPLXUP GPAKK LWRMU RUJAO KXMPT AJCKK DDRGR AJTGK LRTRN KEKMLELMUE VENOO LSARU AUINF OMREH NICOO PPAVA NIHVO LAHAK OTORLPMAJT ARAJP VZQRM ARCAR DNXJW RGPAK ERDLA KTJPA KPEWJ LRUMRERNIH NANIE YJDAR NACNA PKMIS AVENO TAPLN OHIEN OETSI LAURAPHEKE PQCKA RMCRX SKEPD KWEUP CKDJA HVZGN KDNGH QKLAJ QLXUPEZTOT EDCON ARCAM GOTEP OSTUE COPIN ZYJVK OPKVZ DOLNI DLMUEGAPMJ WERVZ GKEKP UVHCL JQDRL RLJGK LRTEL XEJNX JLJEP GCKWEVNERI STAYJ VOTOE UYZCL IDPAL ALIVO LAHTL MTIKM ILITE VCOSTPXWJP CXKUA RHWEP XPAZN PALTJ LJGHE KYRWE YRAKM LQKWJ GJPQP EMSIE CMOUN AZSTE MENJK ENLHI LIVZT OBAST BANOR LDOSI VIEDEGCKER TCNKD NGHQK LAJQH MARWR WEPGP WPQXP MRAEW QPLRTVCOTA HCKOP KVZDO LNIDZ RNASA STEVE SEDME RANTS DELAH

Něco málo vyjde. Pak následuje velmi pracný postup, jak rozšiřovat správně rozluštěné části.

Page 9: Úvod do klasických a moderních metod šifrování

Vliv tabulky frekvencí znakův textu v češtině jiný zdrojR … 47 … 10,56% A … 10,52% E … 10,58%K … 42 … 9,43% O … 9,77% A … 9,91%P … 40 … 8,98% E … 9,66% O … 7,76%A … 35 … 7,86% N … 6,88% I … 7,53%J … 33 … 7,41% I … 6,07% N … 6,26%L … 28 … 6,29% L … 5,72% S … 5,67%

. . . . Z … 6 … 1,34% J … 1,79% J … 2,49%V … 5 … 1,12% Y … 1,44% H … 2,48%Y … 3 … 0,67% B … 1,1% B … 1,64%O … 2 … 0,45% F … 0,17% G … 0,17%S … 2 … 0,45% G … 0,17% F … 0,16%B … 0 Q … 0 X … 0,03%F … 0 W … 0 W … 0,01%I … 0 X … 0 Q … 0

Page 10: Úvod do klasických a moderních metod šifrování

Jiné naivní řešení Použijeme-li druhou tabulku frekvencí znaků v češtině, dostaneme jinou

permutaci 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 Z

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

Původně jsme použili R Y C Q P O S T J Z N L X A K D B M W E U G F I V H

Při pokusu dešifrovat šifrový text pomocí nové permutace dostaneme SETKN MAUNI JKOIA COKNI YERTE REGAI IODAV OULAS EZSER NTERV

TSNTO UJDRP LASIN LMOZD RCFEI EKORI NMAVT OHPDA VRETE LEZIE NMIEU USOZP CESAB EIVLE DARNY NEOSC LOCTE DKADA UDRPL ASINL

Podle jiné frekvenční tabulky vyšlo LATMI COPIN JMENO UEMIN HAVTA VAFON NEKOS EPDOL ARLAV ITAVS TLITE PJKVZ DOLNI DCERK VUGAN AMEVN ICOST EYZKO SVATA DARNA ICNAP PLERZ UALOB ANSDA KOVIH IAELU DEUTA KMOKO PKVZD OLNID

Page 11: Úvod do klasických a moderních metod šifrování

Struktura přirozeného jazyka Pro řešení jednoduché záměny byla pro každý jazyk a typů textů

zpracována řada statistických údajů – frekvence znaků, frekvence dvojic po sobě jdoucích znaků (bigramů), frekvence trigramů.

Další charakteristiky:

průměrná délka slova

nejčastější znaky (bigramy) na začátku slov

nejčastější znaky (bigramy) na konci slov

porovnání frekvence dvojic bigramů XY a YX . Např. OU, UO, nebo

ST, TS ....

Řešení ze znalosti části otevřeného textu

Máme-li důvod myslet si, že se v otevřeném textu vyskytuje nějaké slovo, hledáme v šifrovém textu příslušný vzor.

Tak například, slovo PENICILIN bude zašifrováno jako ABXZCZDZX .

Nebo slovo DIVIZIJA je zašifrováno jako AZBZCZDE .

Page 12: Úvod do klasických a moderních metod šifrování

Jakobsenův algoritmusStrojové řešení šifer je značně rozpracované.

Uvedeme si Jakobsenův algoritmus. Ten využívá pouze frekvence bigramů.

Používá dvě matice řádu 26, řádky a sloupce jsou označené písmeny abecedy.

V matici P = (pXY) hodnota pXY udává frekvenci bigramu XY v přirozeném jazyce. To je referenční matice. Tu máme vytvořenou předem.

V matici T = (tXY) hodnota tXY udává frekvenci bigramu XY v textu, který posuzujeme.

Zvolíme nějakou počáteční permutaci – první přiblížení klíče – například tu, kterou získáme z frekvencí jednotlivých znaků.

Pomocí této permutace dešifrujeme šifrový text, dostaneme nový text, a pro něj vytvoříme matici T = (tXY) .

Page 13: Úvod do klasických a moderních metod šifrování

Ohodnocovací funkceVzdálenost dvou matic spočítáme jako sumu absolutních hodnot rozdílů čísel

na stejných místech matice, tj. jako sumu čísel

| pXY - tXY |

přes všechny bigramy XY .

Tuto ohodnocovací funkci se snažíme minimalizovat přes všechny možné

klíče – permutace na písmenech abecedy.

Výstupem algoritmu je permutace, jejíž ohodnocovací funkci se již nepodařilo zmenšit.

Page 14: Úvod do klasických a moderních metod šifrování

Výsledek algoritmu VE TRI HODINY RANO ZARINCEL TELEFON NA POSADKOVEM VELITELSTVI

TADY PLUKOVNIK HAMPL Z GENERALNIHO STABU POSLETE KE MNE IHNED DVA MUZE VOJENSKE POLICIE A VZKAZTE PRO PODPLUKOVNIKA VRZALA NO OVŠEM ZE Z INFORMACNIHO ODDELENI CLOVECE POTOM VAM NIC NENÍ ABY KE MNE HNED PRISEL ANO TED V NOCI ANO AT SI VEZME AUTO TAK HONEM HERGOT A DOST ZA HODINU BYL PODPLUKOVNIK VRZAL NA MISTE BYLO TO AZ BUHVIKDE VE VILOVE CTVRTI PRIVITAL HO STARSI A HROZNE USTARANY PAN V CIVILU TJ. JENOM V KOSILI A KALHOTECH PODPLUKOVNIKU MNE SE STALA SAKRAMENTSKA VEC

VETRI HODIN YRANO ZARIN CELTE LEFON NAPOS ADKOV EMVEL ITELS LATMI COPIN JMENO UEMIN HAVTA VAFON NEKOS EPDOL ARLAV ITAVS TVITA DYPLU KOVNI KHAMP LZGEN ERALN IHOST ABUPO SLETE KEMNE TLITE PJKVZ DOLNI DCERK VUGAN AMEVN ICOST EYZKO SVATA DARNA

IHNED DVAMU ZEVOJ ENSKE POLIC IEAVZ KAZTE PROPO DPLUK OVNIK ICNAP PLERZ UALOB ANSDA KOVIH IAELU DEUTA KMOKO PKVZD OLNID AVRZA LANOO VSEMZ EZINF ORMAC NIHOO DDELE NICLO VECEP OTOMV ELMUE VENOO LSARU AUINF OMREH NICOO PPAVA NIHVO LAHAK OTORL

Page 15: Úvod do klasických a moderních metod šifrování

DefiniceŠifrovací systém je uspořádaná pětice (P ,C ,K ,E ,D), kde

a) P je konečná množina otevřených textů,

b) C je konečná množina šifrových textů,

c) K je konečná množina klíčů,

d) E = {eK : K prvkem K}, kde eK : P → C je šifrovací funkce

(algoritmus) pro každý prvek K množiny klíčů K , e) D = {dK : K prvkem K}, kde dK : C → P je dešifrovací

funkce (algoritmus) pro každý prvek K množiny K ,pro které platí dK(eK(x)) = x pro každý otevřený text x

z množiny P a každý klíč K z množiny K .

Page 16: Úvod do klasických a moderních metod šifrování

Kryptografická pravidla (maxims)

shrnují zkušenosti několika tisíciletí

1. Při posuzování bezpečnosti kryptografického systému je nutné předpokládat, že protivník zná šifrovací systém (algoritmus), Auguste Kerckhoffs.

2. Bezpečnost šifrovacího systému může, pokud vůbec někdo, posoudit

pouze kryptoanalytik, Auguste Kerckhoffs.3. Šifrovací algoritmus by měl být „průhledný“, aby umožnil posouzení

bezpečnosti. Umělé komplikace systému nemusí zvyšovat bezpečnost, naopak mohou poskytovat kryptografovi iluzorní pocit větší bezpečnosti,

Marcel Givierge. 4. Nikdy nepodceňujte protivníka, nikdy nepřeceňujte své schopnosti.5. Při posuzování bezpečnosti šifrovacího systému je nutné brát v úvahu

možná porušení pravidel ze strany uživatelů systému, Hans Rohrbach.

Page 17: Úvod do klasických a moderních metod šifrování

Možná porušení pravidel

1. Odvysílání otevřeného i odpovídajícího šifrového textu,

2. odvysílání dvou šifrových textů vzniklých šifrováním stejného otevřeného textu pomocí dvou různých klíčů,

3. odvysílání dvou šifrových textů vzniklých šifrováním dvou různých otevřených textů pomocí stejného klíče,

4. používání stereotypních začátků zpráv nebo běžných slov či frází, např. ANX, divizija,

5. používání krátkých klíčů nebo klíčů, které lze snadno uhádnout,

6. zanedbání přípravy otevřeného textu před šifrováním,

7. nedostatečná kontrola šifrantů.

Chyba kryptografa je často jedinou nadějí kryptoanalytika.

Page 18: Úvod do klasických a moderních metod šifrování

Nástup počítačů

Zlomem v historii kryptologie byla druhá světová válka.

Klasická kryptologie končí s koncem této války.

V praktické oblasti to byla rozluštění německého vojenského šifrovacího systému Enigma polskými matematiky počátkem roku 1933 a později stavba prvního počítače v britském kryptonalytickém centru v Bletchley Park během války.

V teoretické oblasti to byly práce amerického matematika Clauda Shannona:

Communication theory of Secrecy systems, Sept. 1, 1946

A mathematical theory of communication, The Bell System Technical Journal, Vol. 27, pp. 379-423, 623-656, July, October, 1948.

Page 19: Úvod do klasických a moderních metod šifrování

Příklady klasických šifer

Návrhy vycházely ze dvou základních konstrukčních principů:- konfůze (confussion) – mění význam písmen, substituční šifry

- difůze (diffusion) – mění polohu písmen, transpoziční šifry

Příklady: Ceasarova šifra, jednoduchá záměna, Vigenérova šifra, polyalfabetická šifra.

Příklady: jednoduchá transpozice, dvojitá transpozice.

Page 20: Úvod do klasických a moderních metod šifrování

Substituční šifryCeasarova šifra – nahrazuje každé písmeno otevřeného

textu písmenem, které je v abecedě o tři písmena dále

Příklad: veni vidi vici yhql ylgl ylfl

Slabina: kdo zná šifru, umí rozluštit šifrový text, neboť šifra nezávisí na tajném klíči.

Tabulka pro šifrování a dešifrování:

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 zd e f g h i j k l m n o p q r s t u v w x y z a b c

Page 21: Úvod do klasických a moderních metod šifrování

Posuvná šifra: zaměňuje každé písmeno otevřeného textu písmenem, které je v abecedě o k míst dále.

Číslo k, které může nabývat hodnot 0,1,2,….,25, je klíč.

Substituční tabulka pro klíč k = 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 zh i j k l m n o p q r s t u v w x y z a b c d e f g

Nevýhoda: příliš málo (malý prostor) klíčů, lze je všechny vyzkoušet.

cvidw vgvio zkjmo vndwjex whwjp alknp wo exkfy xixkq bmloq xpfylgz yjylr cnmpr yqgzmha zkzms donqs zrhanib alant eport as

Řešení hrubou silou (exhaustive search)

Page 22: Úvod do klasických a moderních metod šifrování

Jednoduchá substituce

Klíčem je substituční tabulka, ve které je pod každým písmenem abecedy ve spodním řádku písmeno, které jej v šifrovém textu nahrazuje:

Nahrazuje každé písmeno otevřeného textu nějakým jiným písmenem abecedy

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 ze l q d x b p k y r w v a m o i u s z c f h n t j g

Spodní řádek tabulky je vlastně nějakou permutací písmen abecedy

Prostor klíčů je dostatečně velký – 26! – nelze řešit hrubou silou.

Slabina: zachovává statistické vlastnosti otevřeného textu.

Page 23: Úvod do klasických a moderních metod šifrování

Metoda řešení je popsána již v arabském textu z 9. století.

Obětí používání této šifry se stala např. Marie Stuartovna o mnoho století později.

Jednoduchou záměnu používala také Rudá armáda při invazido Polska v roce 1918.

V depeších se často objevoval polygram axbxcxd, kterýodpovídal slovu divizija. V ruštině se ja píše jedním písmenem.

Základní pomůckou pro řešení jednoduché záměny jsoufrekvenční tabulky písmen (monogramů), sousedních dvojic písmen (bigramů), trojic písmen (trigramů), častých slov (polygramů) v příslušném jazyku.

Page 24: Úvod do klasických a moderních metod šifrování

Vigenérova šifraPoužívá periodicky několik různých posunutí abecedy. Klíčem bývalo obvykle nějaké slovo, které udávalo délku posunutí podlenásledující tabulky.

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 z0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Tak například klíč slizoun určoval posunutí18 11 8 5 14 20 13.

Otevřený text kocka leze dirou se zašifroval následovně:

kocka leze dirouslizo unsl izoun

czkjo frrp lhfih

Page 25: Úvod do klasických a moderních metod šifrování

Tuto šifru popsal již v roce 1586 Blaise de Vigenére.

Slabina: periodické heslo

Šifru rozluštil až Charles Babbage (1791-1875), profesor matematiky na Cambridge University

Řešení lze algoritmizovat pomocí indexu koincidence, kterývymyslel William F. Friedman kolem roku 1920.

Index koincidence je jeden z nejvýznamnějších statistickýchtestů používaných v kryptologii.

Page 26: Úvod do klasických a moderních metod šifrování

Polyalfabetická šifra

Podobná Vigenérově šifře, místo různých posunutí ale používárůzné obecné jednoduché substituce.

Každé písmeno otevřeného textu šifruje pomocí jiné permutace.Ideální je, pokud se žádná permutace nepoužívá dvakrát.

abcdefghijklmnopqrstuvwxyz1:gkqwhrjvoisnazcubdxplfytme2:cintzuhsymjabvoelxwpkfqgrd3:ekrwxpavqbslcfitudgjmhnyzo4:dqcuimhvrelnwgofjkztysabpx

Šifrujeme: kozasood

Page 27: Úvod do klasických a moderních metod šifrování

Šifrovací strojeNevýhodou polyalfabetické šifry je složitost klíčů a jejichpředávání.

Proto byly v první polovině 20. století hojně používané šifrovací stroje. Nejznámější byly Enigma, Hagelin.

Page 28: Úvod do klasických a moderních metod šifrování

Transpoziční šifrySpočívají v přeházení pořadí (permutaci) písmen v otevřenémtextu.

Permutace bývala definována pomocí nějakého slova – klíče.

Například pomocí klíče nezny se šifrovalo následovně:

nezny

tancovalabychjaazsetrasu

21534

aacza tvyar cajeu obatn lhss

Jednoduchá transpozice

Page 29: Úvod do klasických a moderních metod šifrování

Dvojitá transpozice.

Používaná německou armádou v průběhu první světové válkya po ní až do roku 1928.

Také ji používala československá vláda v exilu v Londýně během druhé světové války ke komunikaci s domácím odbojem.

Proto měl domácí odboj takové ztráty.

Jak dvojitou transpozici rozluštit bylo popsáno ve francouzských novinách již na počátku první světové války v roce 1914.

Řešení je velmi usnadněné, jsou-li šifrovány zprávy stejné délky.

Page 30: Úvod do klasických a moderních metod šifrování

Šifrování dvojitou transpozicí vyžaduje dvě hesla. Například nezny octopus

Jednoduchá transpozice se použije dvakrát, napřed s prvnímheslem, a takto získaný šifrový text se ještě jednou šifrujejednoduchou transpozicí určenou druhým heslem.

Přání tancovala bych ja az se trasu

tak chobotnice svému milému zašifruje za použití hesla nezny

jako aacza tvyar cajeu obatn lhss a pokračuje dále

octopus

aaczatvyarcajeuobatnlhss

2163475Dostane tak

aaosa yuhzc aaatv elcrb stjn