Úvod do klasických a moderních metod šifrování
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 PresentationTRANSCRIPT
Úvod do klasických a moderních metod šifrování
Jaro 2009, 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
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íč
Š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
kryptologie
kryptografie kryptoanalýza
zabývá se návrhem šifrovacích systémů
zabývá se odhalovánímslabin v šifrovacích systémech
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
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.
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 .
(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.
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
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
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 .
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) .
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.
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
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 .
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.
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.
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.
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.
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
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)
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.
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.
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
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.
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
Š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.
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
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.
Š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