Mendelova zemědělská a lesnická univerzita v Brně Provozně ekonomická fakulta
Historie kryptografie před druhou světovou válkou Bakalářská práce
Vedoucí práce: Mgr. Tomáš Foltýnek, Ph.D.
Marian Klang
Brno 2008
Mé poděkování patří panu Mgr. Tomáši Foltýnkovi, Ph.D. za trpělivost, odborné vedení, kontrolu a upozornění na chyby při zpracovávání práce. Dále bych rád poděkoval panu doc. Ing. Jiřímu Rybičkovi, Dr. za vytvoření a poskytnutí sazebního stylu pro závěrečné práce.
Prohlašuji, že jsem tuto diplomovou práci vyřešil samostatně s použitím literatury, kterou uvádím v seznamu.
V Brně dne 14. 5. 2008
....................................................
5
Abstract Klang, M. History of cryptography before Second World War. Bachelor’s Thesis. Brno, 2008. This thesis describes the history of cryptology and its main milstones since the first documentary sources till the Second World War. Implementing part demonstrates historically important ciphers: Caesar’s and Vigener’s cipher in the PHP language. At the end of the practical part there are recommended relevant internet sources.
Abstrakt Klang, M. Historie kryptografie před druhou světovou válkou. Bakalářská práce. Brno, 2008. Práce popisuje historii kryptologie a její nejdůležitější milníky od prvních písemně doložených pramenů po druhou světovou válku. Implementační část názorně vysvětluje historicky významné šifry, a to Caesarovu a Vigen`erovu v jazyku PHP. V závěru praktické části jsou pak doporučeny relevantní internetové zdroje.
OBSAH
6
Obsah 1 Úvod a cíl práce 1.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Cíl práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 7 9
2 Historický vývoj kryptologie 10 2.1 Základní pojmy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2 Kryptologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3 Historie kryptologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3 Vlastní práce 31 3.1 Caesarova šifra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2 Vigen`erova šifra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3 Internetové zdroje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4 Zhodnocení a závěr
39
5 Literatura
40
Přílohy
42
A Vigen` erova šifra – opakující se sekvence
43
B Vigen` erova šifra – posun abecedy
44
1
ÚVOD A CÍL PRÁCE
1 1.1
7
Úvod a cíl práce Úvod
Od počátku dějin je lidstvo fascinováno tajemstvím. V různých bájích, mýtech, pověstech, ruských bylinách, či dětských pohádkách je položen na bedra hrdiny důležitý úkol, který splní pouze s notnou dávkou odvahy, síly a statečnosti. Kromě fyzických předpokladů mnohdy potřebuje intelekt, důvtip a moudrost. Aby zachránil princeznu, zrušil kletbu, osvobodil týrané, dobyl město, musí hrdina odhalovat různá tajemství. A aby tajemství zůstalo tajemstvím, je nutné jej samotné, nebo obsah jeho sdělení skrývat. Právě o zatajování obsahu zprávy pojednává kryptografie, která spolu s kryptoanalýzou tvoří dvě disciplíny kryptologie, o níž tato práce pojednává. První písemná zmínka o použití tajného písma je dochována ze severní Afriky téměř před čtyřmi tisíci roky. V době Egyptské civilizace se nejednalo o utajení smyslu před nepovolanou osobou, jako tomu je v pozdějších etapách, ale o navození důstojné atmosféry v hrobkách, která pohřbeným patří. S vývojem lidských civilizací se rozvíjela také kryptologie. Stejně jako u živých druhů, dá se zde mluvit o evolučnímu zápasu, jelikož každá akce kryptografů na jedné straně, jež měla za výsledek silnější šifru, vyvolala reakci v podobě snahy kryptoanalytiků o rozlomení takové šifry na straně druhé. Další důmyslný projev utajení zpráv v lidských dějinách je přibližně o tisíc pět set let mladší a pochází ze starého Řecka. Zde se již pisatel snažil skrýt zprávu před nepřáteli, poslal tedy zprávu tak, aby na první pohled nebyla viditelná. Napsal sdělení na dřevěnou destičku pod vosk, v té době běžně používané psací nástroje. Přes nepřátele zpráva přešla nepovšimnuta, protože nevěděli, že zprávu vůbec mají hledat. Ne vždy ale bylo nutné zprávu obdržet ihned, kladl se důraz na bezpečnost. Jiný řecký odesílatel vyholil sluhovi hlavu, napsal na ni sdělení a počkal, až mu opět vlasy dorostou. Poté poslal sluhu se zprávou k osobě, pro niž byla určena. I v případě, že sluhu chytili, nebyl schopen vyzradit znění zprávy. Metoda ukrývání zpráv před smysly nepovolaných osob se nazývá steganografie a je s oblibou užívána dodnes, zvláště v kombinaci s kryptografií. Kryptografie se naproti steganografii snaží ukrýt obsah zprávy také v případě, že nepřítel zachytí zprávu, jež je odesílána. Pokusy o ukrytí byly v průběhu dějin různé. Od přeskupování písmen podle předem dohodnutého pořádku, přes nahrazování jednotlivých písmen jinými, mnohdy zcela odlišnými znaky. Kryptoanalytikové si však s těmito druhy šifer vždy poradili. Tak se stalo, že pan Vigen`ere vynalezl šifru, na kterou frekvenční analýza, nejsilnější nástroj tehdejší kryptoanalýzy, nestačila. Vigen`erova šifra zůstala nerozluštěna po několik století, přesto se nikdy příliš
1.1
Úvod
8
nepoužívala, zejména kvůli náchylnosti k chybám. Na kryptografy jsou tak kladeny požadavky nejen bezpečnosti, ale také snadné implementace, později i nízké ceny. Německý šifrovací stroj druhé světové války, Enigma, byl pokládán jejím tvůrcem za dostatečně bezpečný. Historie v tomto případě ukázala, že pro bezpečnost nestačí předpoklady, jsou nutné důkazy. Enigmu by se však nepodařilo rozluštit, pokud by spojenci nedostali její plány, později pak také kódovací knihy s denními klíči. Problém distribuce klíčů byl velmi aktuální po druhé světové válce. Kryptologové se pustili do hledání takového šifrovacího mechanizmu, kde se dvě strany vysílání nemusí spolu sejít, aby si předali tajné klíče pro bezpečnou komunikaci. Tak vznikla asymetrická kryptografie a s ní systém veřejných a soukromých klíčů, jak je znám dnes. Každá osoba, která chce bezpečně komunikovat, musí být zapsána u veřejně uznávané autority, která jí přidělí soukromý i veřejný klíč a zaručí se, že veřejný klíč je opravdu její. Kdokoliv pak chce napsat zprávu této osobě utajeně před nechtěnými odposlouchávateli, zašifruje zprávu pomocí veřejného klíče, který příjemce volně šíří. Dešifrovat tuto zprávu lze pouze soukromým klíčem. Elektronický podpis, jež také řeší asymetrická kryptografie, je pak opačným procesem, kdy podepisovaná strana zašifruje podpis svým soukromým klíčem, příjemce kontroluje veřejným klíčem správnost. Jelikož je asymetrické šifrování pomalé, často se kombinuje se symetrickou kryptografií, kdy se pouze klíč k symetrické šifře šifruje pomocí asymetrického šifrování. Samotná zpráva je šifrována symetrickou šifrou. V průběhu celých dějin kryptologie je zajímavé sledovat, kdo zastával práci kryptologa v jakých dobách. Zatímco v raném období se jednalo převážně o písaře, lingvisty a lidi s bystrým úsudkem, později se o evoluci kryptologie stále více zasluhovali matematici, s vynálezem počítače pak informatici, u kvantové kryptologie především fyzici. Dobrý pocit z rozluštěného tajemství, či z vytvoření šifry, kterou dešifrují pouze povolané osoby, je motiv, jež pohání kryptology a uchvacuje zájemce. A nejenom pohádky a báje operují s tajemstvím, dnešní dobrodružné filmy i knihy s mystičnem a tajemnem se stávají stále populárnějšími. Historie kryptologie je tedy neustálý boj mezi kryptografy a kryptoanalytiky, přičemž v různých etapách měli navrch kryptografové, v jiných zase kryptoanalytici. V dnešní době vítězí první skupina zmíněných, a díky tomu smí lidé využívat bezpečně nejrůznější služby, jako například internetové bankovnictví. Jakmile se někomu podaří faktorizovat velká čísla v relativně krátkém čase, přestanou být tyto služby bezpečné. S myšlenkou bezpečnějších šifrovacích systémů přichází kvantová kryptologie, jejíž výzkum je zatím v plenkách, už teď však slibuje velký potenciál.
1.2
1.2
Cíl práce
9
Cíl práce
Trendem dnešní společnosti je vyvíjení nových systémů, aplikace originálnějších nápadů. Já jsem zastáncem konzervativnějších pohledů na věc, předpokládám, že k dobrému zvládnutí nových technik je třeba mít dobrý základ znalostí historie, již je moderní opomíjet. Cílem této práce je zmapovat historii kryptologie pro lepší pochopení dnešních šifrovacích systémů. Část mé práce je tvořena jako eLearningová opora pro studenty předmětu Komprimace a šifrování, s cílem jasně zdokumentovat důležité mezníky v dějinách kryptologie. Pro tyto opory jsou také vytvořeny názorné ukázky Caesarovy a Vigen`erovy šifry, přičemž je důraz kladen na jejich snadné pochopení. Jelikož se na internetu vyskytuje nepřeberné množství informací, je mnohdy těžké najít relevantní údaje. Tato práce si klade za cíl vyzdvihnout několik zajímavých odkazů na internetové zdroje tak, aby člověk s projeveným zájmem o téma historie kryptologie se nemusel zabývat zdlouhavým hledáním, ale mohl snadno a rychle zabřednout do studia.
2
HISTORICKÝ VÝVOJ KRYPTOLOGIE
2 2.1
10
Historický vývoj kryptologie Základní pojmy
Zde je vysvětlení několika pojmů, které se objevují dále, pro jednodušší orientování se v textu. Zpráva je tvořena otevřenou abecedou. Abeceda je konečná množina znaků. Původní zpráva se nazývá otevřený text, v odborné literatuře se značí písmenem M (z angl. message), v následujícím textu se píše zpravidla malými písmeny. Aplikuje-li se na otevřený text šifrovací algoritmus, vznikne šifrový text. Tato transformace se nazývá šifrování, je to kryptografický proces značený písmenem E (z angl. encryption). Opačný proces k šifrování je dešifrování, označovaný písmenem D (z angl. decryption). Šifrový text je tvořen šifrovou abecedou, značí se C (z angl. cipher text), dále psán zpravidla velkými písmeny. Klíč – prvek, který mění šifrovací algoritmus z obecného na specifický – se značí K (z angl. key). Kód je systém, který nahrazuje každé slovo nebo frázi otevřeného textu jiným znakem, nebo skupinou znaků. Seznam nahrazování je definován kódovou knihou. Matematický zápis pak vypadá takto: C = EK (M ), nebo také C = E(K, M ) M = DK (C), nebo také M = D(K, C) DK (EK (M )) = M Zprávu si mezi sebou předávají dvě strany. Strana, která zprávu posílá a šifruje, se nazývá odesílatel, příjemce je pak ten, pro koho je zpráva určena (někdy se také strany pro zjednodušení pojmenují Alice – značená písmenem A a Bob – značen písmenem B). Pokud je žádoucí označit nepřítele, který se snaží zprávu přijmout a dešifrovat, ačkoli pro něj není určena, je zvykem označení Eva – E (Singh, 2003).
2.2
Kryptologie
Touha a potřeba tajit důvěrné informace provází lidské pokolení od nepaměti. Lidé v různých dobách se k skrývání takových zpráv stavěli odlišným způsobem, vědou o ukrytí smyslu zprávy se pak stala kryptologie. Narozdíl od steganografie, která se snaží zakrýt zprávu samotnou (typickými prostředky steganografie jsou např. neviditelný inkoust, či zpráva napsaná na hedvábí, sbalená do malé kuličky, zalitá voskem, přepravovaná uvnitř trávicího traktu posla), kryptologie má za cíl utajit smysl zprávy i v případě, že padne do rukou osoby, pro niž není zpráva určena. Kryptologie se dělí na dvě větve, jimiž jsou kryptografie a kryptoanalýza.
2.2
Kryptologie
11
Kryptografie Kryptografie pochází z řeckých slov kryptós, což znamená skrytý, a gráphein znamenající psát. Je to nauka o metodách převodu zpráv do podoby, která je čitelná jen při speciálních znalostech. Na těchto znalostech se smluví komunikující strany, tedy odesílatel a příjemce (Wikipedia, 2008). První doložená zmínka o kryptografii je již čtyři tisíce let stará, a tehdy mělo její užití jiný charakter, propůjčit textu zdání tajemna (Kahn, 1977). Jak se vyvíjela civilizace a písmo, kryptografie se stávala složitější. Od nahrazování znaku běžně používané abecedy jiným znakem neobvyklým, znakem jiných abeced, přes záměnu jednoho znaku za několik jiných, aby se frekvence jednotlivých písmen vyrovnaly, až po šifry, kde klíč pro šifrování není totožný s klíčem pro dešifrování, nebo dnes populární kvantovou kryptografii. Kryptografii lze rozdělit na transpozici a substituci. Transpozice zachovává stejné znaky, pouze zaměňuje jejich pořadí. Transpozice je tedy přesmyčka a nelze ji použít na krátké zprávy, neboť lidský mozek si snadno odvodí smysl. Substituce naopak nahrazuje znaky otevřené abecedy za znaky šifrové abecedy. V praxi se transpozice a substituce s výhodou kombinují. Substituci je dále možné dělit na monoalfabetické substituční šifry a polyalfabetické substituční šifry. Monoalfabetická substituční šifra nahrazuje každé písmeno otevřené abecedy znakem z šifrové abecedy podle klíče. Pro zdokonalení monoalfabetické substituční šifry se vyvinula homomorfní substituční šifra, kde se každé písmeno nahrazuje řadou reprezentací, přičemž jejich počet je úměrný frekvenci písmene. Nahrazování jednoho znaku otevřené abecedy za znak šifrové abecedy, která se v průběhu šifrování mění podle klíče, je znakem polyalfabetické substituční šifry. Další kritérium, kterým je možné rozlišovat kryptografii, je symetrie. Zatímco symetrické šifry používají k šifrování i dešifrování stejný klíč, u asymetrických šifer se používají dva různé klíče – veřejný, jímž je možno šifrovat zprávy, a soukromý, pomocí kterého lze zprávy dešifrovat. Výhody obou šifer jsou nasnadě, symetrická je především rychlejší, asymetrická bezpečnější. V praxi se obě šifry kombinují, jelikož je žádoucí nejen bezpečnost, ale i rychlost. Často se asymetrickou šifrou šifruje pouze klíč k symetrické šifře, zpráva samotná je pak šifrována symetrickou šifrou s tímto klíčem. Myšlenku, z níž vychází celá dnešní kryptografie, shrnul nizozemský lingvista Auguste Kerckhoffs von Nieuwenhof v roce 1883. „Bezpečnost šifrovacího systému nesmí záviset na utajení algoritmu, pouze na utajení klíče.ÿ (Singh, 2003)
2.3
12
Historie kryptologie
Kryptoanalýza Tam, kde kryptografie utajuje, kryptoanalýza se snaží odkrýt smysl zpráv. Je to věda o tom, jak bez znalosti klíče odvodit správné znění původního textu. Jelikož kryptografové se neustále snaží o nerozluštitelnou šifru a rozvoj kryptografie znamená nové výzvy pro kryptoanalytiky, je kryptoanalýza úzce spojená s kryptografií. Od počátku jde o boj kryptografie a kryptoanalýzy. Zjistit otevřený text zprávy se může povést několika způsoby. Šifru lze prolomit buď hrubou silou (tedy vyzkoušením všech možných klíčů), což není vždy proveditelné v reálném čase a mnohdy nevede k jednoznačnému řešení, nebo mnohem elegantněji zjištěním klíče, či útokem na slabá místa šifry. Práce kryptoanalytiků je to, co motivuje spisovatele a fascinuje čtenáře dodnes.
2.3
Historie kryptologie
Nejstarší období Nejstarší zmínka o kryptologii se objevuje před téměř čtyřmi tisíci lety. V městě Menet Khufu v severní Africe vytesal písař do skály v hrobce Khnumhotepa II přibližně 1 900 let př. n. l. nápis, kde nahradil některé běžně používané hieroglyfy za neobvyklé znaky. Nebyl to ale způsob tajného písma, jak ho známe dnes, protože pisatelovým záměrem nebylo skrýt význam zprávy, ale propůjčit nápisu důstojnost. S rozkvětem Egyptské civilizace a rozvojem písma se tyto záměny stávaly složitějšími, vynalézavějšími a běžnějšími (Kahn, 1977). Atbaš Z šestého století př. n. l. pochází šifra „atbašÿ používaná v hebrejštině. Název je odvozen od způsobu šifrování, tedy záměna prvního písmena hebrejské abecedy (alef ) s posledním (tav ), druhého (bet) s předposledním (šin) atd. V latince by takováto šifra odpovídala následujícímu přiřazení písmen: Tab. 1: Atbaš aplikovaná na latinku otevřená abeceda
a
b
c
d
e
f
g
h
i
j
k
l
m
šifrová abeceda
Z
Y
X
W
V
U
T
S
R
Q
P
O
N
otevřená abeceda
n
o
p
q
r
s
t
u
v
w
x
y
z
šifrová abeceda
M
L
K
J
I
H
G
F
E
D
C
B
A
Atbaš je použit v Bibli při záměně názvu města Babylon (Babel) za Šešák a Kashdim za Leb Kamai (Singh, 2003).
2.3
Historie kryptologie
13
Obr. 1: Hebrejská abeceda
Př.: Slovní spojení „záměna písmenÿ zašifrujeme atbašem jako „aznvmz krhnvmÿ. Počátky steganografie První doložené použití steganografie pochází z roku 480 př. n. l. od Herodota, „otce historieÿ, kdy se odehrála rozhodující bitva řecko-perských válek — bitva u Salamíny. Despotický vůdce Peršanů Xerxés, Král králů, prohlásil, že „rozšíříme perskou říši tak, že její jedinou hranicí bude nebe a slunce nedohlédne země, jež by nepatřila námÿ (Singh, 2003). Pět let sbíral potají největší vojenskou sílu v dosavadní historii. Nakonec vedl Xerxés téměř 900 perských lodí, připravených podrobit si řeckou říši. Přípravy Peršanů však sledoval řecký vyhnanec Demaratus, který žil v perském městě Susy. Ačkoliv se do Řecka nemohl vrátit, stále cítil k rodné zemi loajalitu, a tak se rozhodl poslat do Sparty varování. Kvůli perským hlídkám jej ale bylo nutné skrýt.
2.3
Historie kryptologie
14
V té době se psalo na dřevěné tabulky pokryté voskem, do kterého se vyryla zpráva. Po zahřátí se vosk na povrchu destičky opět zacelil a bylo možné ji použít znovu. Demaratus seškrábal z těchto tabulek vosk a zprávu vyryl pod něj na samotné dřevo. Poté destičky opět potáhl voskem, aby vypadaly nepoužitě. Zprávu rozluštila až manželka Leonida1 Gorgo, která uhodla, že zpráva je ukryta až pod vrstvou vosku. Tím Peršané ztratili moment překvapení a do té doby bezbranné Řecko začalo se zbrojením. Zisk ze stříbrných dolů, který byl rozdělován mezi občany, byl použit k výstavbě válečných lodí, čímž zvětšili jejich počet ze 70 na 200. Ačkoliv byl poměr lodí stále pro řecké vojsko velmi nepříznivý, pomocí lsti se podařilo Peršany porazit a přestože Peršané ztratili jen 25–33 % bojové síly a měli tedy stále početní převahu, už se neodvážili útok opakovat a raději se stáhli z většiny Řecka včetně pozemských vojsk (Wikipedie, 2008). Ukrytí zprávy v tomto střetu tedy sehrálo klíčovou roli. Skytale Sparťané v 5. století př. n. l. používali pro změnu transpozici. Pisatel zprávy nejprve omotal proužek kůže kolem dřevěné tyče. Tyč musí mít přesně dán průměr, ale nemusí být po celé délce stejně široká (může se rozšiřovat), aby se předešlo pravidelnému rozmístění písmen. Zpráva je pak zapsána na kůži podél tyče, pruh kůže se odmotá a vznikne tak proužek s nesrozumitelnou posloupností písmen. Jako u každé šifry, i zde se nabízí možnost zkombinovat ji se steganografií, jako např. v roce 404 př. n. l., kdy dorazil ke králi Sparty Lysandrovi raněný posel, který jako jediný z pěti přežil cestu z Persie. Podal Lysandrovi svůj opasek. Ten jej ovinul kolem tyče správného průměru a dozvěděl se, že se na něho perský Farnabazus chystá zaútočit. Díky této utajené komunikaci se Lysandros včas připravil na útok a nakonec jej odrazil (Singh, 2003). Toto historicky první kryptografické zařízení se nazývá skytale (nebo také scytale, z řeckého slova, jež znamená obušek).
Obr. 2: Skytale 1
Leonidas I. z rodu Ágiovců (asi 521–480 př. n. l.), vojevůdce Sparťanů v bitvě u Thermopyl (-red-, 2005).
2.3
15
Historie kryptologie
Polybiova šifra Řecký spisovatel Polybius (přibližně 203–120 př. n. l.) vytvořil šifru, kde abecedu napsal do čtverce o pěti sloupcích a pěti řádcích. Každé písmeno pak bylo možné interpretovat jako kombinaci dvou čísel, přičemž první představovalo číslo řádku, druhé číslo sloupce. Pokud bychom převedli latinku do Polybiova čtverce, jak se šifra nazývá, vypadal by jako to ukazuje tabulka 2. Tab. 2: Polybiův čtverec
1 2 3 4 5
1
2
3
4
5
A F L Q V
B G M R W
C H N S X
D IJ O T Y
E K P U Z
Pro použití při psaní českých zpráv je možné vynechat W (popřípadě Q), aby bylo možné I i J reprezentovat jinými kombinacemi čísel. Polybiův čtverec se v antice používal také k nočnímu vysílání na dálku. K vysílání bylo potřeba deset hořících loučí, pět za každým ze dvou neprůhledných panelů. Počet loučí zdvižených nad levý panel udával číslo sloupce, louče nad pravým panelem pak číslo řádku daného písmene v Polybiově čtverci (Štráfelda, 2008). Př.: Slovní spojení „řecký spisovatelÿ zašifrujeme pomocí Polybiova čtverce jako „42 15 13 25 54 43 35 24 43 34 51 11 44 15 31ÿ. Caesarova šifra Julius Caesar (asi 100–44 př. n. l.) byl římským vojevůdcem a politikem, zároveň jedním z nejmocnějších mužů antické historie. Sehrál klíčovou roli v procesu zániku Římské republiky a její transformace v monarchii. Julius Caesar se také nesmazatelně zapsal do kryptografie. Caesar používal tajné písmo tak často, že Valerius Probus sepsal celkový přehled jeho šifer. Toto dílo se bohužel nedochovalo. Díky dílům, která se dochovala, je zjištěn detailní popis jedné z jeho šifer. Jedná se o jednoduchou substituční šifru, kdy každé písmeno zprávy je nahrazeno písmenem posunutým v abecedě o tři pozice (Wikipedie, 2008). Takováto šifra se nazývá Caesarova šifra, název se však používá také obecně pro posunutí šifrové abecedy. Mimo posunutí se může pro šifrování zvolit i klíč (slovo, slovní spojení), který nahrazuje písmena ze začátku abecedy (opakující se písmena v klíči vynecháme), zbytek se poté doplní ostatními písmeny v pořadí – tak se zvýší počet možných klíčů z pouhých 25 na více než 4 × 1026. I přes svou jednoduchost
2.3
16
Historie kryptologie
Tab. 3: Caesarova šifra otevřená abeceda
a
b
c
d
e
f
g
h
i
j
k
l
m
šifrová abeceda
D
E
F
G
H
I
J
K
L
M
N
O
P
otevřená abeceda
n
o
p
q
r
s
t
u
v
w
x
y
z
šifrová abeceda
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
položila Caesarova šifra základ mnohým dalším, složitějším šifrám, např. ROT13, Vigen`erův čtverec (Singh, 2003). Tab. 4: Caesarova šifra s klíčem „ julius caesarÿ otevřená abeceda
a
b
c
d
e
f
g
h
i
j
k
l
m
šifrová abeceda
J
U
L
I
S
C
A
E
R
T
V
W
X
otevřená abeceda
n
o
p
q
r
s
t
u
v
w
x
y
z
šifrová abeceda
Y
Z
B
D
F
G
H
K
M
N
O
P
Q
Př.: Výrok „veni, vidi, viciÿ po zašifrování klasickou Caesarovou šifrou vypadá následovně „yhql, ylgl, ylflÿ. Indická kryptografie 4. století O dalším typu substituční šifry se zmiňuje Kámasútra, napsaná indickým filozofem jménem Mallanaga Vatsjajana ve 4. století n. l., který však vyšel z rukopisů o 800 let starších. Mezi šedesáti čtyřmi uměními, které Kámasútra doporučuje ženám studovat, nejsou jen vaření, oblékání, příprava parfémů, ale také žonglování, šachy a umění tajného písma (mlecchita-vikalpa, umění číslo 45). Jedním z doporučených typů tajného písma je náhodně spárovat písmena abecedy (Singh, 2003). Při převedení této myšlenky na latinskou abecedu, mohou dvojice písmen vypadat například takto: A↔B, E↔D, F↔H, G↔K, I↔Q, L↔U, N↔Y, O↔S, P↔M, T↔V, W↔R, X↔J, Z↔C. Arabská kryptoanalýza 9. století Doposud se uvažovalo o nahrazení písmen abecedy za písmena ze stejné abecedy, arabští úředníci však používali šifry, kde nahrazovali písmena abecedy za různé znaky (např. #, +, . . . ), nebo svobodní zednáři používali tzv. šifrovací kříže, kde byla písmena rozdělena do tabulek, zástupné znaky otevřené abecedy pak byly vyjádřením pozice v takové tabulce. I přesto, že se může zdát tato substituce složitější,
2.3
Historie kryptologie
17
k jejímu rozluštění stačí stejná technika. A byli to právě Arabové, kdo položil základ kryptoanalýze. První popis luštění tajných zpráv pomocí obecné techniky pochází z 9. století od učence jménem Abú Jasúf Jaqúb ibn Isháq ibn as-Sabbáh ibn ’omrán ibn Ismail al-Kindí, známý jako „filozof Arabůÿ. Věnoval se lékařství, astronomii, jazykovědě, hudbě, matematice, statistice, arabské fonetice a syntaxi, díky čemuž napsal pojednání Rukopis o dešifrování kryptografických zpráv, kde jako první popsal frekvenční analýzu. Jedná se vlastně o procentuální vyjádření výskytu písmen v daném jazyce. Aby bylo možno čísla obecně používat, musí se provést v tomto jazyce analýza velkého množství různých textů. Tak například zjistíme, že nejčastější písmeno v českém jazyce je e, druhé nejčastější a, pak o, i, n, . . . Pokud bychom dále luštili nějaký text zašifrovaný monoalfabetickou substituční šifrou, budeme postupovat tak, že písmenu (nebo znaku) z šifrového textu s největší četností výskytu přiřadíme písmeno e – tedy písmeno s největší četností výskytu v jazyce, o kterém se domníváme, že je použit v původní zprávě, druhému nejčastějšímu písmenu z šifrového textu přiřadíme písmeno a apod. U přidělovaní písmen však nesmíme postupovat pouze mechanicky, musíme pružně reagovat, jelikož zejména u kratších textů je frekvence písmen zkreslena a neodpovídá tedy přesně uvedeným hodnotám. S objevením frekvenční analýzy souvisí samozřejmě pokusy o zdokonalování dosavadních šifer, např. zavedením tzv. klamačů či nul, tedy znaků, jež měla za význam pouze zmást kryptoanalytika při frekvenční analýze, neboť nereprezentovala žádné písmeno původní zprávy, dalším příkladem budiž špatný pravopis před zašifrováním zprávy, jež vede ke stejnému důsledku, tedy znesnadnit správné přiřazení písmen z abecedy znakům šifrové abecedy na základě frekvenční analýzy. Kódy Další pokus, jak zdokonalit monoalfabetické substituční šifry, spočíval v zavedení kódových slov, tedy že symbol šifrové abecedy nereprezentuje pouze znak otevřené abecedy, ale může nahrazovat celé slovo. Může se zdát, že zavedením kódů (tedy substituce na úrovni slov, frází) se zpráva stává bezpečnější, protože analýza se již nevztahuje na pouhých 26 znaků abecedy, ale je potřeba se dobrat významu stovek a více slov, avšak při zavedení kódu se objevují nové problémy. Zatímco při prosté šifře, která nahrazuje jedno písmeno otevřené abecedy jiným z šifrové, se stačí domluvit na pravidle, podle kterého jsou jednotlivé znaky přiřazeny, u kódů se nejprve musí složitě definovat kódová slova pro každé slovo, které se může vyskytnout v otevřeném textu. Takový slovník, který přiřazuje každému slovu slovo kódové, bývá
2.3
Historie kryptologie
18
často velmi objemný, je tedy složité jej přepravovat a zdlouhavé jej používat. A navíc padne-li tento kód do rukou nepříteli, je veškerá utajovaná komunikace rázem plně srozumitelná. Kvůli těmto technickým problémům vznikly v 16. století tzv. nomenklátory — tedy kódovací systém, který vychází z šifrové abecedy, navíc je ale doplněn o seznam kódových slov. Navzdory tomu není o mnoho bezpečnější než obyčejná šifra, protože většinu textu lze rozluštit frekvenční analýzou, zbylá slova pak odvodit z kontextu. Stejně tak si byli schopni kryptoanalytici poradit i s klamači či pozměněným pravopisem. Homomorfní substituční šifra Jiná reakce na frekvenční analýzu byla homomorfní substituční šifra, tedy šifra, kde každé písmeno otevřené abecedy má více reprezentací v šifrové. Pokud je známa frekvence jednotlivých písmen v jazyce zprávy, přidělí se každému tolik znaků šifrové abecedy, aby byl výskyt jednotlivých takových znaků přibližně stejný (např. dvoucifernými čísly). Takto se sice znemožní frekvenční analýza, ale závislosti mezi písmeny (v anglickém textu např. písmeno q je vždy následováno písmenem u) se nezmění, šifru je tedy obtížnější vyluštit, není to však zdaleka nemožné. Evropská kryptologie 16. století V Evropě kryptologové ale také nezaháleli. V roce 1518 benediktýnský opat Johannes Tritheim vydal knihu Stenografie, kde popsal šifru nahrazující písmena za slova z předem dané tabulky. Italský renesanční učenec Girolamo Cardano vynalezl šifrování známé pod pojmem Cardanova mřížka, což je destička s vyříznutými otvory v předem daných místech. Než odesílatel poslal zprávu, přiložil mřížku na papír a do průřezů vepsal zprávu. Poté doplnil zbývající text, který pouze maskoval význam zprávy. Zpráva je pak rozluštitelná pouze s identickou mřížkou. Vigen` erova šifra Stále ještě v 16. století vynalezl francouzský diplomat Blaise de Vigen`ere (1523 až 1596) šifru, jež nebyla rozlomena po další tři století. Vycházel z prací Leona Battistuta Albertiho, který navrhl použít více šifrových abeced, které by se při šifrování pravidelně střídaly a zmátly tak potenciální kryptoanalytiky. Síla Vigen`erovi šifry spočívá v tom, že k jejímu šifrování (dešifrování) se nepoužívá pouze jedna šifrová abeceda, ale všech 26, které vzniknou posunutím původní abecedy. Při šifrování se nejprve sestaví tzv. Vigen`erův čtverec, jehož každý řádek je abeceda posunutá oproti předchozímu řádku o jedna. Šifrovat písmeno A se tedy
2.3
Historie kryptologie
19
Obr. 3: Blaise de Vigen`ere (1523–1596)
může 26 způsoby, např. pokud se bude šifrovat podle řádku 1, pak bude v šifrovém textu B, zatímco podle řádku 6 bude v šifrovém textu G. Aby příjemce byl schopen určit, podle jakého řádku je které písmeno šifrováno, je nutné se s odesílatelem domluvit na předem daném systému používání Vigen`erova čtverce. K tomuto může sloužit klíčové slovo. Nechť je takové slovo např. „hesloÿ. Odesílatel si napíše nad text, který chce převést do tajného písma, klíčové slovo tolikrát, kolikrát je třeba, aby ji pokryl celou. Pak šifruje jednotlivé písmeno otevřeného textu vždy podle řádku Vigen`erova čtverce, který udává písmeno klíčového slova. S použitím klíčového slova „hesloÿ je tedy první písmeno šifrováno podle sedmého řádku (jež odpovídá písmenu H), druhé podle čtvrtého (jenž začíná písmenem E) atp. Příjemce při dešifrování zprávy postupuje opačně. Ví, že k zašifrování prvního písmene byl použit řádek začínající na H, druhého řádek začínající na E, třetího S, atd., nemá tedy problém šifru vyluštit. Vigen`erova šifra je odolná proti frekvenční analýze, protože každé písmeno může být reprezentováno ne jedním, ale několika jinými. Další její nespornou výhodou je fakt, že klíč není nijak omezen. Vzniká tak velké množství klíčů, které kryptoanalytik při pokusu o rozlomení není schopen vyzkoušet. Vzhledem k tomu, o jak silný šifrovací prostředek se jednalo, je s podivem, že se nerozšířila po celé Evropě. Pravděpodobně pro její složité použití a velkou náchylnost k chybám (pokud odesílatel např. omylem vynechá jedno písmeno, je pro příjemce zbytek zprávy nečitelný) se neujala po následující dvě století (Singh, 2003). Př.: „Nerozluštitelná šifraÿ pomocí klíčového slova „vigenereÿ se zašifruje následovně:
2.3
20
Historie kryptologie
Tab. 5: Vig`enerova šifra s použitím hesla „vigenereÿ otevřená abeceda
n
e
r
o
z
l
u
s
t
i
t
e
l
klíčové slovo
V
I
G
E
N
E
R
E
V
I
G
E
N
šifrová abeceda
I
M
X
S
M
P
L
W
O
Q
Z
I
Y
otevřená abeceda klíčové slovo šifrová abeceda
n E R
a R R
s E W
i V D
f I N
r G X
a E E
Charles Babbage Vigen`erovu šifru zlomil až v 19. století Charles Babbage. Tento výstřední britský génius se narodil 26. prosince 1791, zemřel 18. října 1871. Jeho okruh zájmů byl velmi široký, mezi jeho vynálezy patří rychloměr, „lapač kravÿ – jež se připevňoval na přední část parní lokomotivy, aby odehnal dobytek z kolejí. Jako první poukázal na souvislosti mezi letokruhy stromů a jejich stářím, k jeho nejvýznamnějším vynálezům však patří Differece Engine, což byl vůbec první návrh programovatelného počítače.
Obr. 4: Charles Babbage (1791–1871)
O kryptologii se zajímal již od dětství, k rozlomení Vigen`erovy šifry byl inspirován na základě korespondence s bristolským zubařem, který roku 1854 prohlásil, že vytvořil zcela novou šifru, která však byla ekvivalentem právě šifry pana Vigen`era. Po tom, co na tuto skutečnost Charles Babbage poukázal, byl vyzván k pokusu o její rozluštění. Babbage výzvu přijal a začal hledat její slabiny a nakonec uspěl. Rozluštění spočívá v několika krocích. V prvním kroku kryptoanalytik hledá opakující se sekvence, které mohou vzniknout dvěma způsoby. Protože se v otevřeném textu opakují některá slova a klíč bývá zpravidla kratší než otevřený text, je velmi pravděpodobné, že opakující se sekvence vznikla zašifrováním stejné sekvence
2.3
Historie kryptologie
Tab. 6: Vigen`erův čtverec
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 26
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 B C D E F G H I J K L MN O P Q R S T U VWX Y Z A C D E F G H I J K L MN O P Q R S T U VWX Y Z A B D E F G H I J K L MN O P Q R S T U VWX Y Z A B C E F G H I J K L MN O P Q R S T U VWX Y Z A B C D F G H I J K L MN O P Q R S T U VWX Y Z A B C D E G H I J K L MN O P Q R S T U VWX Y Z A B C D E F H I J K L MN O P Q R S T U VWX Y Z A B C D E F G I J K L MN O P Q R S T U VWX Y Z A B C D E F G H J K L MN O P Q R S T U VWX Y Z A B C D E F G H I K L MN O P Q R S T U VWX Y Z A B C D E F G H I J L MN O P Q R S T U VWX Y Z A B C D E F G H I J K MN O P Q R S T U VWX Y Z A B C D E F G H I J K L N O P Q R S T U VWX Y Z A B C D E F G H I J K L M O P Q R S T U VWX Y Z A B C D E F G H I J K L MN P Q R S T U VWX Y Z A B C D E F G H I J K L MN O Q R S T U VWX Y Z A B C D E F G H I J K L MN O P R S T U VWX Y Z A B C D E F G H I J K L MN O P Q S T U VWX Y Z A B C D E F G H I J K L MN O P Q R T U VWX Y Z A B C D E F G H I J K L MN O P Q R S U VWX Y Z A B C D E F G H I J K L MN O P Q R S T VWX Y Z A B C D E F G H I J K L MN O P Q R S T U WX Y Z A B C D E F G H I J K L MN O P Q R S T U V X Y Z A B C D E F G H I J K L MN O P Q R S T U VW Y Z A B C D E F G H I J K L MN O P Q R S T U VWX Z A B C D E F G H I J K L MN O P Q R S T U VWX Y A B C D E F G H I J K L MN O P Q R S T U VWX Y Z
21
2.3
Historie kryptologie
22
písmen v otevřeném textu stejnou částí klíče. Druhý způsob ukazuje na možnost, že různé sekvence v otevřeném textu byly šifrovány podle různých částí klíčů, poskytly však tentýž výsledek. Tento způsob je však málo pravděpodobný. Pokud budeme brát v potaz jen sekvence délky čtyř písmen a delší, pak je pravděpodobnost druhého způsobu velmi malá. Pokud si kryptoanalytik vypíše opakující se sekvence, napíše si jejich vzdálenost od sebe a dělitele jejich vzdálenosti, může se pokusit určit délku klíče (označí si jej např. D) jako společného dělitele takovýchto vzdáleností. Jakmile odhadne délku klíče, může se v dalším kroku pokusit určit jeho znění. Text se rozdělí do částí podle délky klíče, kde každé n-té písmeno přiřadí do – n modulo D – části (každou část si označí např. Ci , kde i = 1, . . . , D). Jestliže je délka klíč D správně určena, je každá část textu Ci šifrována podle stejného řádku Vigen`erova čtverce, jedná se tedy o monoalfabetickou substituční šifru, na kterou lze s úspěchem použít běžnou frekvenční analýzu, přičemž ví, že abeceda je pouze posunuta, ne zpřeházena. Stačí tedy určit o kolik je která část šifrového textu posunuta. Pan Babbage si s šifrou poradil, svůj objev však nepublikoval, vyšel najevo až ve 20. století při průzkumu jeho poznámek. Morseova abeceda Neopomenutelně se do historie kryptografie v 19. století zapsal také Samuel Morse – americký vynálezce, malíř a sochař. Původně pro telegraf vynalezl skupinu symbolů, teček a čárek, jež reprezentují písmena abecedy. Morseova abeceda je navržena tak, aby nejfrekventovanější písmena v anglické abecedě zastupovala nejkratší sekvence teček a čárek (např. E je reprezentováno jedinou tečkou, na podobné optimalizaci, kdy nejčastěji používaným znakům je přiřazen nejkratší kód, je založeno také Huffmanovo kódování užívané při bezeztrátové komprimaci dat). Velkou výhodou je variabilní použití (pomocí těchto symbolů se zpráva nemusí pouze psát, k přenosu je možné použít akustický signál, elektrický signál, ale také libovolný optický signál), snadná zapamatovatelnost (k výuce lze uplatnit mnemotechnická pomůcka – slova, jejichž počáteční písmeno a délka slabik pomáhá zapamatovat si kód písmene), další výhodou jsou jen dva použité znaky (tři – počítá-li se oddělovací) a rychlost přenosu (rychlost předávání zpráv se pohybuje od 60 do 250 znaků za minutu). Tabulka 7 ukazuje morseovu abecedu s českými pomocnými slovy pro snazší zapamatování (Havlíček, 2008).
2.3
23
Historie kryptologie
Tab. 7: Morseova abeceda A B C D E F G H CH I J K L M
·– –··· –·–· –·· · ··–· ––· ···· –––– ·· ·––– –·– ·–·· ––
akát blýskavice cílovníci dálava erb Filipíny Grónská zem hrachovina chléb nám dává ibis jasmín bílý krákorá lupíneček mává
N O P Q R S T U V W X Y Z
–· ––– ·––· ––·– ·–· ··· – ··– ···– ·–– –··– –·–– ––··
nána ó náš pán papírníci kvílí orkán rarášek sekera trám učený vyučený wagón klád Xénokratés ý se krátí známá žena
0 1 2 3 4 5 6 7 8 9
––––– ·–––– ··––– ···–– ····– ····· –···· ––··· –––·· ––––·
Playfairova šifra Sir Charles Wheatstone a baron Lyon Playfair přispěli do kryptologie svojí bigramovou šifrou. Jedná se o šifru, kde nejsou šifrována samostatná písmena, ale jejich dvojice. Ačkoliv tuto šifru vynalezli roku 1854 společně oba Britové, nese název Playfairova šifra. Abeceda se podobně jako u Polybiovy šifry rozdělí do čtverce 5×5. Rozmístit písmena ve čtverci lze 25! způsoby, což poskytuje značnou variabilitu.
Obr. 5: Charles Wheaststone (1802–1875) a Lyon Playfair (1818–1898)
Při šifrování se zpráva rozdělí na dvojice písmen, přičemž pokud se ve dvojici vyskytnou dvě stejná písmena, vloží se mezi ně předem domluvené písmeno (např.
2.3
Historie kryptologie
24
Z, X). Pokud na konci zprávy po této úpravě zůstane liché písmeno, doplníme jej opět stejným pomocným písmenem. Šifrovací pravidla jsou následující: 1. Písmena ve stejném řádku se nahrazují nejbližším písmenem vpravo od každého z nich. 2. Pokud je jedno na konci řádku, nahradí se písmenem ze začátku řádku. 3. Písmena ve stejném sloupci jsou nahrazena nejbližším písmenem pod každým z nich. 4. Písmeno ve sloupci poslední je nahrazeno písmenem z vrcholu. 5. Pokud se písmena nacházejí na různých řádcích nebo v různých sloupcích, nahradí se první písmeno znakem, který je ve stejné řadě jako první písmeno a ve stejném sloupci jako druhý znak. Druhé písmeno se vymění za znak, jenž leží ve čtvrtém rohu obdélníku, jehož rozměry určují předchozí tři písmena. Dešifrování zpráv probíhá obráceně (Piper, Murphy, 2006). Nerozluštitelná šifra Od prolomení Vigen`erovy polyalfabetické šifry Charlesem Babbagem měli kryptoanalytici převahu nad kryptografy. Pokusy o nalezení dokonalejší šifry většinou krachovaly na frekvenční analýze. Až Joseph Mauborgne, šéf kryptografického výzkumu v americké armádě, po první světové válce přišel s konceptem uplatnit u Vigen`erovy šifry náhodný klíč. Při použití náhodného klíče stejně dlouhého jako otevřený text vznikne šifra, u které lze matematicky dokázat její nerozluštitelnost2 . Každý takový klíč se smí použít jen jednou. Zatímco u klíče, který je sice stejně dlouhý jako zpráva, ale není náhodný, lze vzhledem k jeho pravidelnosti (např. opakující se slova v běžném textu) šifru prolomit, u náhodného klíče může kryptoanalytik vyzkoušet všechny možné kombinace, k původnímu znění zprávy se sice dostane, nebude mu to však nic platné, protože nezjistí, který z daných výsledků to je, jelikož dostane všechny možné kombinace písmen o dané délce textu. Ačkoli je nerozluštitelná, tato šifra se používá jen zřídka. Hlavní problém je generování náhodných klíčů. Utajená komunikace se používá především v armádě a ta si během dne vymění i stovky zpráv, přičemž každá musí používat jiný klíč. S tím souvisí další nevýhoda – distribuce těchto klíčů. Je nutné, aby každý ze stovek operátorů pracoval se stejným klíčem. I kdyby každý měl stejnou kopii klíčů, musel by stále sledovat, které již byly použity. Vytvořit skutečně náhodný klíč je velmi nákladné, zajistit neustálý přísun jednorázových knih s klíči téměř nemožné. 2
Matematický důkaz nerozluštitelnosti takové šifry podal roku 1940 jako první Claude Shanon (Singh, 2003).
2.3
Historie kryptologie
25
Díky dokázané bezpečnosti, je touto šifrou je například zabezpečena linka spojující prezidenty Ruska a USA (Singh, 2003). Enigma Noční můru kryptoanalytiků sestrojil německý vynálezce Arthur Scherbius. Roku 1918 získal patent na šifrovací zařízení o rozměrech pouhých 34 × 28 × 15 cm, váze 12 kg s názvem Enigma. Věřil v její nezdolnost a pokoušel se ji nabízet v několika variantách – od obchodníků až po ministerstvo zahraničí. Kvůli její ceně však nebyla možnými zákazníky přijata. Scherbius nebyl sám, kdo přišel s myšlenkou šifrovacího stroje, na jedno takové zařízení získal v Nizozemí roku 1919 patent č. 10 700 Alexander Koch, ve Švédsku Arvid Damm, v Americe Edward Herbern, nikdo z nich však neuspěl.
Obr. 6: Schéma stroje, na který získal Arthur Scherbius patent roku 1928.
Německo si však na začátku 20. století uvědomovalo svou slabinu v utajování zpráv, proto naštěstí pro Scherbia docenilo hodnotu Enigmy a během dvaceti let koupilo přes 30 000 těchto strojů. Čím byla Enigma tak výjimečná? Přístroj se skládal z klávesnice, šifrovací jednotky, která bude popsána podrobněji, a signální desky, kde byla jednotlivá písmena podsvícená žárovkami, které signalizovaly převedená písmena. Písmeno otevřeného textu (stejně jako při dešifrování šifrový text, díky reflektoru, jež bude zmíněn níže) se napsalo na klávesnici, v šifrovací jednotce bylo zašifrováno (dešifrováno) a na signální desce se rozsvítilo to písmeno v šifrové (otevřené) abecedě, které se zapsalo. Šifrovací jádro bylo tvořeno v prvé řadě scramblery (obrázek 7, gumovými kotouči, jimiž vedly dráty. Impuls z klávesnice vstupuje do scrambleru na dvaceti šesti místech (každé písmeno abecedy má tedy svůj jednoznačný vstup), uvnitř se pře-
2.3
Historie kryptologie
26
hýbá a otáčí a na stejném počtu míst opět vystupuje ven. Jakmile impuls vystoupí ze scrambleru, ten se otočí o jednu z dvaceti šesti pozic. Účel takovéhoto kotouče tedy spočívá v převedení textu na polyalfabetickou substituční šifru s klíčem o 26 znacích. Enigma však obsahovala tři scramblery, kde vždy následující se otočil jednou za 26 otáček předchozího, délka klíče tak vzrostla na 263 .
Obr. 7: Scrambler
Za scramblery byl reflektor, jež posílal signál zpět do scramblerů, z nich pak putuje na signální desku, kde rozsvítí žárovku pod výsledným písmenem. Protože šifrování a dešifrování je v tomto případě zrcadlový jev, reflektor umožňuje za použití jednoho stroje a jednoho nastavení zprávy převádět z otevřeného textu na šifrový i naopak. Poslední částí Enigmy důležitou pro šifrování byla propojovací deska, umístěná mezi klávesnicí a prvním scramblerem. Pomocí kabelu umožňovala propojit dvě písmena klávesnice mezi sebou tak, že první písmeno pak sledovalo cestu, kterou by sledovalo druhé písmeno s ním spojené. Naopak druhé písmeno sledovalo cestu prvního. Propojovací kabely jsou tedy pouhou monoalfabetickou substituční šifrou. Scherbius vybavil Enigmu šesti spojovacími kabely, počet způsobů prohození šesti párů písmen z 26 je obrovský (100 391 791 500). Zjednodušené schéma Enigmy, které má pro přehlednost pouze čtyři písmena, je vidět na obrázku č. 8. Aby dvě strany mohly mezi sebou přijímat a vysílat, bylo nutné stanovit základní nastavení Enigmy, jež je klíčem přenosu. Je třeba nastavit tři různé scramblery, jejich polohu (Ringstellung), pořadí (Walzenlage) a později, kdy se používaly více než tři, i jejich výběr, dále pak určit, které páry písmen budou propojeny. Možností nastavení je 263 za polohu scramblerů, násobenou počtem možných pořadí (tři scramblery, tedy 3!), nakonec ještě způsoby nastavení šesti (později deseti) párů písmen (Steckerverbindungen) 100 391 791 500, což je více než 10 000 000 000 000 000 možných klíčů. Takovéto nastavení tvořilo denní klíč Enigmy a na určená stanoviště byla dopravována v tištěné podobě pomocí kurýrů vždy na měsíc dopředu.
2.3
Historie kryptologie
27
Obr. 8: Názorné zjednodušené schéma Enigmy
Denní klíč sloužil pouze k předání jedinečného klíče zprávy. Denním klíčem se na začátku vysílání předal klíč zprávy (tři písmena znamenající nastavení scramblerů), pro jistotu dvakrát, aby se odesílatel i příjemce vyhnuli nechtěnému nedorozumění. Klíčem zprávy se pak šifrovala zbylá komunikace. Protože se denně posílalo velké množství zpráv, často němečtí důstojníci používali stejné klíče pro jednotlivé zprávy, dokonce je mnohdy neurčovali náhodně, ale záměrně volili např. iniciály manželky, milenky, apod. – později britskými kryptoanalitiky zvané „cilkyÿ (z angl. cillies). Opakování trojice písmen na začátku spojení a často opakované klíče zpráv poskytlo opěrný bod při kryptoanalytickém útoku na německé šifrovací stroje. Rozluštění Enigmy by se ale bez špionáže nepodařilo. 8. listopadu 1931 se HansThilo Schmidt, německý úředník, sešel s francouzským agentem, jehož krycí jméno znělo Rex v belgickém městě Verviers, aby za odměnu 10 000 marek poskytl francouzské tajné službě dva dokumenty: Gebrauchsanweisung für die Chiffriermaschine Enigma a Schlüsselanleitung für die Chiffriermaschine Enigma, což byly návody k použití Enigmy (Singh, 2003). Ačkoli podle klíčových dokumentů byla francouzská tajná služba schopna repliky Enigmy, stále si nevěděla rady s luštěním zpráv. Proto tyto dokumenty, na základě deset let staré smlouvy o vojenské spolupráci, byly předány na polský úřad Biuro Szyfrow. Díky těmto dokumentům polská tajná služba získala nejen informace o vnitřním zapojení scramberů, ale také detailní popis německé kódové knihy. Způsob zápisu nastavení Enigmy pro jeden den vypadal například takto: 1. nastavení propojovací desky: A/L–P/R–T/D–B/W–K/F–O/Y
2.3
Historie kryptologie
28
2. uspořádání scramblerů: 2–3–1 3. orientace sramblerů: Q–C–W Operátor Enigmy pak nastavil denní klíč následujícím způsobem: 1. nastavení propojovací desky: Prohoďte písmena A a L tím, že je spojíte na propojovací desce kabelem, pak stejným způsobem prohoďte P a R, T a D, . . . 2. uspořádání scramblerů: umístěte druhý scrambler do první pozice ve stroji, třetí scrambler do druhé pozice a konečně první scramber do třetí pozice. 3. orientace scramberů: na vnějším okraji každého scramberu je vyryta abeceda, což vám umožní nastavit požadovanou orientaci scrambleru. V tomto případě otáčejte prvním scramblerem tak dlouho, až je orientován písmenem Q nahoru, pak otáčejte druhým, až je nahoře písmeno C, a nakonec třetím scramblerem, až je nahoře W. Zatímco do této doby bylo zvykem zaměstnávat pro luštění kódů a šifer především lingvisty, křížovkáře, šachisty apod., polská tajná služba se rozhodla pro tuto činnost vyhledat matematiky z poznaňské univerzity, která měla mezi ostatními univerzitami tu výhodu, že do roku 1918 patřila Německu, tito matematici hovořili plynně německy (Ochodková, 2003). Tak se k Enigmě dostal Marian Rejewski, jež sehrál hlavní úlohu v jejím pokoření. Rejewski se pustil do zkoumání toho, jak využít dvojího opakování klíče pro jednotlivou zprávu. Němci si museli být vědomi, že opakováním klíče na začátku zprávy, stejně jako šifrování všech konkrétních klíčů zpráv jeden den jedním denním klíčem představuje riziko, pevně však věřili ve složitost svého systému.
Obr. 9: Marian Rejewski (1905–1980)
Rejewski dostal každý den velké množství zpráv. Pokusil se tak, na základě znalosti opakování klíče, odvodit určité závislosti mezi prvním a čtvrtým znakem vysílané zprávy, stejně jako mezi druhým a pátým, třetím a šestým. Pokud dostal za den dostatek zpráv, mohl sestavit tabulku na základě vztahů mezi písmeny, příklad takové tabulky pro první a čtvrtá písmena zpráv ukazuje tabulka 8. Podle takové tabulky sestavil Rejewski řetězce písmen, jež se navzájem pojily. Např. v tabulce 8 písmeno A z horního řádku je spojeno s písmenem F z druhého
2.3
29
Historie kryptologie
Tab. 8: Abeceda vztahů pro dešifrování denního klíče Enigmy 1. písmeno
A
B
C
D
E
F
G
H
I
J
K
L
M
4. písmeno
F
Q
H
P
L
W
O
G
B
M
V
R
X
1. písmeno
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
4. písmeno
U
Y
C
Z
I
T
N
J
E
A
S
D
K
řádku, F z prvního řádku dále s písmenem W druhého atd. Podle tabulky 8 vznikly následující řetězce: A→F→W→A (3 spojení) B→Q→Z→K→V→E→L→R→I→B (9 spojení) C→H→G→O→Y→D→P→C (7 spojení) J→M→X→S→T→N→U→J (7 spojení) Rejewski zjistil, že s délkou řetězce nemá nastavení propojovací desky nic společného. To byl radikální krok, díky němuž zmenšil počet hledaných denních klíčů na počet hledaných nastavení scramblerů, tedy z 10 000 000 000 000 000 možností na 105 456 (uspořádání scramblerů násobených počtem orientací, tj. 6×17 576). Prozkoušel tedy všech 105 456 nastavení scramblerů a katalogizoval délky řetězců, které generovalo každé nastavení scramblerů. Dokončit katalog zabralo celý rok, ale díky němu mohl Rejewski Enigmu dešifrovat. Určení nastavení scramblerů sice zredukovalo počet možností pouze 105 456krát, nastavení propojovací desky není žádný velký problém. Nejenže se dá s úspěchem použít frekvenční analýza, ale protože bylo zaměněno jen 6 párů písmen, dal se smysl zprávy mnohdy určit pouhým přečtením. Rejewski tedy vypojil kabely z propojovací desky, nastavil scramblery podle denního klíče, zprávu napsal a propojení kabelů poté odvodil. Rejewski si velmi zjednodušil nalezení denního klíče Enigmy tím, že oddělil problém nalezení nastavení scramblerů od nastavení propojovací desky. K rozluštění Enigmy mu pomohly především strach z německé invaze, bez nějž by Polsko odradila zdánlivá nerozluštitelnost přístroje, matematika, která umožnila vyjádřit závislosti řetězců a tím nastavení scramblerů, a špionáž, bez které by nebylo známo vnitřní zapojení scramblerů a předávání a vysílání denních klíčů (Singh, 2003). Během války však Německo Enigmu vylepšovalo a po napadení Polska byly materiály k luštění Enigmy předány do Británie. Válka se odehrávala nejen na bojištích, ale také mezi německými kryptografy a spojeneckými kryptoanalytiky.
2.3
Historie kryptologie
Obr. 10: Enigma se třemi scramblery, verze pro německou armádu
30
3
VLASTNÍ PRÁCE
3
31
Vlastní práce
Mým úkolem bylo vytvořit modelové příklady šifer, které se používaly v průběhu historie a měly zásadní vliv na průběh kryptografie – Caesarovu a Vigen`erovu šifru. Dále analyzovat internetové zdroje problematiky kryptologie se zaměřením na historii. Jelikož mají aplikace posloužit také k výukovým účelům, bylo nutné vybrat takovou formu interpretace, která by od případných uživatelů nevyžadovala nadměrné nároky. Protože aplikace je koncipována pro studenty vysoké školy, za uživatelské prostředí jsem zvolil webové rozhraní, jelikož se s ním studenti setkávají denně a neklade tedy žádné speciální nároky. Aplikace vyžaduje interaktivitu, proto musejí být webové stránky dynamické, statický jazyk HTML nestačí a je zde doplněn programovacím jazykem PHP.
3.1
Caesarova šifra
Požadavky Cílem této aplikace je názorně ukázat, jak funguje šifrování a dešifrování pomocí posunu písmen šifrové abecedy o daný počet písmen oproti otevřené abecedě. Pokud není při dešifrování znám posun abeced, pomocí frekvenční analýzy šifrového textu pak nabídnout pravděpodobné řešení zprávy. Popis Úvodní obrazovka aplikace Caesarovy šifry se skládá z několika částí, viz obr. 11. Na prvním řádku pod nadpisem označujícím název šifry je vypsána abeceda, která se používá k šifrování a dešifrování pomocí Caesarovy šifry. Uživatel je takto taktně upozorněn, že diakritiku je zbytečné do zprávy psát, jelikož výsledný text bude vždy bez diakritiky v podobě uvedené abecedy. Druhý řádek umožňuje zadat text, který bude po odeslání šifrován, popřípadě dešifrován, v závislosti na výběru způsobu převodu textu. V rolovacím menu „Posunÿ se nastavují čísla 1–25, jenž udávají, o kolik se posune šifrová abeceda proti otevřené v případě šifrování, při dešifrování naopak znamenají, o kolik se posune otevřená abeceda oproti šifrové. Možností posunu abeced je dvacet šest, stejně jako písmen abecedy, dvacátý šestý posun však dostává abecedu do stejné pozice, je tedy zbytečné jej uvažovat. Poslední položkou v menu, označenou jako „všeÿ, uživatel na výstupu získá při šifrování všechny možné posuny abecedy, tedy 25 možností, a je na něm, kterou si vybere. Pokud se však položka „všeÿ vybere při dešifrování, krom vypsání všech 25 možností se vyznačí ta, která je svým výskytem jednotlivých písmen abecedy
3.1
Caesarova šifra
32
Obr. 11: Caesarova šifra – úvodní formulář
nejblíže frekvenci výskytu písmen v českém jazyce. Tlačítkem ve spodní části se pak formulář odešle k dalšímu zpracování. Při zpracování vstupních údajů se odstraní diakritika. Znaky, které nejsou součástí anglické abecedy se nepřevádějí. Dále se při šifrování vstupní – tedy otevřený – text převede na malá písmena, jak je v literatuře zvykem, a výstupní – tedy šifrový – text je zapsán velkými písmeny, navíc zvýrazněn, aby bylo snadné opticky odlišit výsledek od ostatního textu. Pokud je jako způsob převodu textu označeno dešifrování a v menu „Posunÿ je vybrána položka „všeÿ, je potřeba určit pravděpodobné znění zprávy. To se zde realizuje tak, že se zjistí frekvence všech písmen šifrového textu, ty se dále porovnávají s frekvencemi jednotlivých písmen v českém jazyce, posun s nejmenší odchylkou je nabízen jako pravděpodobný výsledek dešifrování. Obrazovka zachycující výsledek operace je pak tvořena následujícími částmi. Otevřená a šifrová abeceda jsou zapsány pod sebou tak, aby bylo na první pohled zřejmé, které písmeno šifrové abecedy zastupuje které písmeno otevřené abecedy. Následující řádky jsou pak otevřený text zprávy malými písmeny bez diakritiky a šifrový text zapsaný velkými písmeny, zvýrazněný je pak ten text, který byl v úvodním formuláři požadován – při šifrování šifrový text, při dešifrování otevřený. V případě, že byla v menu „Posunÿ vybrána možnost „všeÿ, opakují se tyto části dvacet pětkrát, přičemž je barevně odlišen pravděpodobný výsledný text. Odkaz „znovuÿ uživatele vrací na úvodní formulář.
3.2
Vigen`erova šifra
3.2
33
Vigen` erova šifra
Požadavky Úkolem bylo vytvořit šifru pana Vigen`era tak, aby při šifrování i dešifrování bylo možné zřetelně sledovat šifrování jednotlivých písmen na Vigen`erově čtverci. V případě, že samotný klíč zprávy není znám, pokusit se jej odhadnout pomocí několika kroků, které jako první zdokumentoval Charles Babbage. Popis Problém jsem si rozdělil na dva samostatné úkoly. Prvním byla názorná ukázka šifrování Vigen`erovou šifrou, tedy při znalosti šifrovacího klíče možnost šifrovat i dešifrovat zprávy, výsledný text je následně možné sledovat, jak písmeno po písmeni vznikal. Jako druhou aplikaci jsem zvolil pokus o zjištění šifrovacího klíče na základě šifrového textu a znalosti frekvence výskytu jednotlivých písmen v českém jazyce. Postup má tři kroky: 1. V prvním kroku se zjistí pravděpodobná délka klíče. 2. Podle délky klíče se text rozdělí na jednotlivé části a zjistí se posun abecedy každé části. 3. Nalezení klíče a otevřeného textu zprávy. Vigen` erova šifra se znalostí klíče Počáteční obrazovka je zde opět řešena formulářem, kde se postupně zadává klíč – to nemusí být pouze slovo, ale i delší část textu, poté šifrový (otevřený) text. Dále je možné vybrat způsob převodu – tedy zda šifrovat, nebo dešifrovat. Po stisknutí potvrzovacího tlačítka se údaje zpracují. Při zpracovávání vstupních dat se nejdříve odstraní diakritika, a to jak u klíče zprávy, tak u samotného textu zprávy. Interpunkční znaménka, číslice a mezery se z klíčových slov vymažou. U textu, který je určen k šifrování, či dešifrování se znaky, které neobsahuje Vigen`erův čtverec, ve výsledném textu nepřevádějí. Výstupní obrazovka je pak rozdělena do dvou částí, jak ukazuje obr. 12. Horní tabulka zobrazuje výsledek šifrování (případně dešifrování). Na prvním řádku je otevřený text, který v případě, že byl požadavek šifrovat, je vyznačen barevně. Otevřený text je psaný malými písmeny, používá se zde stejné textové úpravy jako u Caesarovy šifry, tedy jako v odborné literatuře. Klíč je psán velkými písmeny a jako takový není nikdy zvýrazněn, protože v této aplikaci je nutné jej zadat při šifrování, i při opačném procesu – dešifrování. Není tedy nikdy výstupem.
3.2
Vigen`erova šifra
34
Obr. 12: Vigen`erova šifra – výsledná obrazovka
Šifrový text je zapsán velkými písmeny. Barevně je tento text odlišen, pokud bylo provedeno šifrování. Je rozdělen mezerami podle otevřeného textu zprávy, na jehož základě byl šifrován. Odkaz „znovuÿ uživatele vrací na úvodní formulář. Pokud je text (ať už šifrový nebo otevřený) barevně zvýrazněný, jsou jednotlivá písmena odkazy do Vigen`erova čtverce, který se nachází ve spodní části výstupní obrazovky. Při šifrování odkazují písmena šifrového textu do tabulky, kde se vyznačí sloupec s písmenem otevřeného textu a řádek označený písmenem klíčového slova. Průsečík takového řádku a sloupce je pak písmeno, které je výsledkem šifrování a je zapsáno do výsledného dialogu. Naopak při dešifrování se vyznačí řádek s daným písmenem klíčového slova a písmeno šifrového textu na tomto řádku. Písmenem otevřeného textu je pak první písmeno sloupce, ve kterém se nachází šifrové písmeno. Druhá část výstupní obrazovky je tedy Vigen`erův čtverec, který slouží jako pomůcka k vysvětlení postupu šifrování nebo dešifrování.
3.2
Vigen`erova šifra
35
Vigen` erova šifra bez znalosti klíče Jelikož tato aplikace má sloužit ke zjištění šifrovacího klíče, díky kterému byla zpráva zašifrována, vstupní hodnotou je vždy pouze šifrový text zprávy. Na velikosti písmen nezáleží, stejně tak na tom, zda je text dělen mezerami, či nikoliv. Znaky nepoužívané Vigen`erovou šifrou jako např. písmena nebo interpunkční znaky jsou rovněž před zpracováním automaticky odstraněny. Vzhledem k faktu, že postup této aplikace již není natolik intuitivní, aby každý uživatel věděl, co se v kterém kroku zpracování šifry děje, je ve spodní části obrazovky aplikace umístěný nápovědný text. Nápověda popisuje jednotlivé elementy na obrazovce, ale také zjednodušeně popisuje, jak při dešifrování program postupuje. Vstupní text se zpracuje a v celém šifrovém textu se hledají opakující se řetězce znaků, které jsou větší než dva znaky. Řetězce o délce dva znaky se ignorují, protože jejich opakování je s velkou pravděpodobností náhodné a zkreslily by tak výsledek hledání. U nalezených opakujících se řetězců je důležitá jejich vzdálenost mezi sebou, jelikož její dělitel je potenciální délka klíče3 . Nejčastěji se vyskytující dělitel mezi vzdálenostmi opakujících se sekvencí znaků je pravděpodobnou délkou klíče šifry. Tabulka v druhém kroku ukazuje opakující se řetězce a dělitele vzdáleností mezi nimi (viz příloha A na str. 43). V prvním sloupci, označeným zkratkou Řet. jako řetězec, je zapsána sekvence, která se v šifrovém textu opakuje. Sloupce označené čísly 2–20 vyznačují dělitele vzdálenosti. Buňka každého řádku pod sloupcem s číslem, které udává dělitele je odlišena černou barvou pro jednoznačné optické odlišení. Na první pohled je tedy vidět, který sloupec tabulky má nejvíce černých buněk, tedy které číslo je nejčastějším dělitelem opakujících se řetězců. Toto číslo je pod tabulkou nabízeno jako odhadovaná délka klíče. Může se stát, že jsou dva dělitelé vzdáleností stejně častí, nebo rozdíl mezi více děliteli je velmi malý. V takovém případě odhadovaná délka klíče algoritmem nemusí být správná, a proto je zde možné nastavit délku ručně. Pokud by tedy nabízená délka klíče nevedla ke smysluplnému znění zprávy, lze ji změnit. Potvrzujícím tlačítkem aplikace pokračuje dalším krokem. Podle vložené délky klíče se text rozdělí na části. Každá část je šifrovaná jedním písmenem předpokládaného klíče. Nad každou částí se provede frekvenční analýza a zjistí se posun šifrové abecedy proti otevřené. Aplikace odhaduje posun abeced, jako posun s nejmenším součtem rozdílů jednotlivých frekvencí písmen šifrové abecedy od otevřené. 3
Pro účely programu uvažujeme klíč o maximální délce 20 znaků. Tato hranice je vymezena z důvodu větší přehlednosti a očekávané délky textů – a tedy i klíčů – vkládaných do programu. Jde zde především o ilustrativní charakter, kdy se studenti mají na praktické ukázce dozvědět, jak probíhá způsob dešifrování. Příliš mnoho možností má za následek menší orientaci v programu, neúměrně dlouhé klíče pak nemožnost aplikace této metody dešifrování.
3.2
36
Vigen`erova šifra
Ve třetím kroku je rozsáhlá tabulka (příloha B, str. 44), proto je u každé buňky nápověda v podobě pomocného textu u kurzoru myši. Řádky tabulky jsou písmena latinské abecedy a–z. Tabulka je rozdělena na jednotlivé části textu sloupci. Protnutí sloupce, tedy jednotlivé části šifrového textu, s řádkem, tedy písmenem abecedy, ukazuje několik důležitých informací k snazšímu pochopení šifry. Číslo ve sloupci ABS udává absolutní výskyt písmene v dané části šifrového textu. Nejčastější písmeno v každé části je vyznačeno modrou barvou, nejméně časté červenou. Sloupec označený znakem promile ( ) udává relativní výskyt písmene v části šifrového textu. Pod oběma výskyty (relativní a absolutní) písmene v dané části šifrového textu je číslo udávající relativní výskyt písmene v českém jazyce, uvedený v promilech. Sloupec GRAF umožňuje grafické srovnání četnosti výskytu písmen v části šifry ku českému jazyku, přičemž modře je zobrazena relativní četnost výskytu znaku v části šifry, červeně v českém jazyce. Na posledním řádku každé části šifrového textu je nabízena předpokládaná hodnota, o kolik je šifrová abeceda které části šifry posunuta oproti otevřené abecedě. Opět je zde možnost čísla měnit uživatelem, protože nabízená čísla nemusí být vždy optimální. V závorce za nabízeným číslem je písmeno, které udává část klíče. Klíč je mnohdy smysluplný text, výběr vhodných písmen může tedy pomoci stejně jako posunutí abecedy. Je tedy na uživateli, zda-li nabízené hodnoty pouze potvrdí, nebo vybere jiné. Tlačítko pro potvrzení aplikace pokračuje poslední částí. Každá část šifrového textu je následně posunuta o vybraný počet písmen. Podle posunu abecedy se také odvodí písmeno, které bylo použito v klíči. Jednotlivé posuny tedy dají dohromady slovo, které je označeno jako klíčové slovo, klíč. Sekvence šifrového textu jsou posunuty a jejich písmena opět poskládána do kompletního otevřeného textu. Výsledek je vypsán na obrazovku (viz obr. 13).
Obr. 13: Vigen`erova šifra – dešifrovaný klíč a text zprávy
3.3
Internetové zdroje
3.3
37
Internetové zdroje
Popis Jak bylo řečeno výše, internet poskytuje nepřeberné množství informací a tato práce si jako jeden z úkolů vytyčila tyto informace alespoň zevrubně roztřídit. Internetové zdroje jsem rozdělil do dvou skupin – teoretická část zdrojů se zabývá především historií kryptologie. Internetové odkazy rychle zastarávají, jelikož ale poskytují informace o historii, která se s ubíhajícími roky nemění, o zastarávání v tomto smyslu nemůže být řeč. Praktická část pak nabízí demonstrativní ukázky šifer používaných v dobách minulých. Prameny o teorii Přehledně a jasně podává historii Michal Till (Till, 2001) v jednoduché tabulce, která pomůže ujasnit si posloupnost jednotlivých mezníků šifer v průběhu jejich dějin až do 18. století. Značnou výhodou je pak uvedení zdrojů, ze kterých čerpal při jejím sestavování, takže v případě zájmu lze dohledat podrobnější informace. Na stránkách se nenachází pouze informace z historie, lze zde najít mnohé jiné kryptologické zajímavosti. Vynikající pomůckou ke studiu jsou materiály k předmětu Kryptografie a počítačová bezpečnost vyučovanému na Technické univerzitě v Ostravě (Ochodková, 2008). Jsou zde prezentace z přednášek, kde jsou vysvětleny šifrovací mechanizmy během historie celé kryptologie až po součastnost. Jsou zde také příklady ke cvičení, kde si lze vyzkoušet jednotlivé šifry na konkrétních příkladech, ke kterým jsou dostupné i výsledky řešení. Stručné informace shrnuje práce autora jménem Oliver Pell (Pell, 2008). Stránky jsou v angličtině, což pokládám za překonatelnou bariéru, odměnou za překlad pak je jednoduše členěný text vytyčující základní osu událostí kryptologie. Prameny s praktickými ukázkami Praktické ukázky šifer z ranějších etap historie kryptologie lze najít na stránkách Jana Štráfeldy (Shaman.cz, 2008). Kryptografie je tu rozdělena na kódy a šifry, přičemž obojí je dále přehledně děleno a u obou je nabízeno několik názorných ukázek převodu textu. Šifrování je dále děleno na symetrické a asymetrické s několika příklady. Krom výše zmíněných jsou zde uvedeny ukázky signalizace. Zatímco výše zmíněné stránky ukazují jak se různými šiframi utajuje smysl zprávy a jsou zde uvedeny příklady jejich použití, stránky slovenského neznámého autora (Kryptografia, 2005) dovolují uživateli některé šifry vyzkoušet v praxi. Slovenština je příbuzný jazyk, problém s jejím porozuměním by tak neměl být pro
3.3
Internetové zdroje
38
nikoho nepřekonatelný. Jedinou nevýhodou stránek je, že pokud si chce uživatel šifry vyzkoušet, musí si stáhnout program do svého počítače. Šifrovací stroj Enigma, používaný německým vojskem v druhé světové válce, byl popsán v teoretické části práce. Pochopení techniky šifrování tímto strojem je poněkud složitější, uvádím zde tedy k lepšímu porozumění dva příklady, kde je Enigma ukázána (Spiess, 2007; Wilson, 2008). V obou simulátorech Enigmy je možné nastavovat různé parametry, jako natočení jednotlivých scramblerů, výběr písmen, které budou vzájemně vyměněny přes spojovací desku atp. Šifrování jednotlivých písmen je pak názorně ukázáno a je možné si jej vyzkoušet v interaktivním prostředí.
4
4
ZHODNOCENÍ A ZÁVĚR
39
Zhodnocení a závěr
Práce mapuje historii kryptologie od prvních písemných pramenů po druhou světovou válku. Zahrnuje nejdůležitější mezníky kryptologie tohoto období a vysvětluje její postupný vývoj. Při tvorbě práce jsem si rozvinul znalosti, některé informace vyplnily mezeru v mém vědění. Při tvorbě práce jsem se důkladně seznámil s mnoha šiframi a šifrovacími mechanizmy, z nichž mě nejvíce uchvátila šifra, kterou vynalezl v 16. století Blaise de Vigen`ere a která nebyla po několik staletí vůbec dešifrována. Díky zpracování historie jsem pochopil mnohé kroky, které podnikají kryptologové dnes, zejména potřebu samotného utajení zprávy. Při zpracovávání materiálů jsem však nezůstal pouze u historie, mnohé jsem se dozvěděl také o dnešní kryptologii, ale také o prognózách do budoucnosti ve zmíněné oblasti, zejména kryptologie kvantové. Pochopil jsem, že kryptologie není vědou zastaralou a že ačkoliv je vědou starou, je úžasně dynamickou a stále se vyvíjející. Zpracování historie kryptologie však není určeno jenom mé osobě, ale všem zájemcům o kryptologii. Tato práce může sloužit jako odrazový můstek pro ty, které hledání utajených zpráv oslovilo, ale jinak se ke kryptologii zatím nedostali. Práce podává informace ne příliš složitou formou, je tak určena pro úplné laiky v této oblasti, může však poskytnout nové informace i lidem, kteří už o kryptologii něco slyšeli. Na základě těchto znalostí jsem mohl postupovat při tvorbě praktické části. Aplikace jsem tvořil v jazyku PHP a HTML, se kterými jsem pracoval již během studia. Tyto programovací jazyky jsem vybral předvším kvůli přenositelnosti mezi operačními systémy. Při programování jsem obohatil svoje znalosti obou jazyků. Aplikace jsou navrženy s důrazem na jednoduchost, aby byly snadno pochopitelné a vysvětlily tak funkci šifrování zpracovávanými šiframi, popřípadě způsob dešifrování. Programy jsou určeny především jako výukové pomůcky do předmětu Komprimace a šifrování, vyučovaného na naší škole.
5
5
LITERATURA
40
Literatura
Bráza, J. PHP 5 – začínáme programovat. Praha: Grada Publishing, 2005. 244 s. ISBN 80-247-1146-X. Cyroň, M. CSS – kaskádové styly. 1. vyd. Praha: Grada Publishing, 2006. 340 s. ISBN 80-247-1420-5. Havlíček, K. Převodní tabulka – tabulka znaků Morseovy abecedy [online]. 29. 4. 2008 [cit. 2008-04-29]. Dostupné na internetu:
. Kahn, D. The Codebreakers. Repr. London: Sphere Books, 1977. 476 s. ISBN 07221-5149-7. Kosek, J. HTML – tvorba dokonalých WWW stránek: podrobný průvodce. 1. vyd. Praha: Grada Publishing, 1998. 296 s. ISBN 80-7169-608-0. Kosek, J. PHP – tvorba interaktivních internetových aplikací. 1. vyd. Praha: Grada Publishing, 1999. 492 s. ISBN 80-7169-373-1. Ochodková, E. Enigma [on-line]. 12. 5. 2003 [cit. 2008-04-14]. PDF dokument, studijní materiály předmětu Kryptografie na univerzitě Ostrava. Dostupné na internetu:
. Ochodková, E. Hlavní informace [on-line]. 17. 4. 2008 [cit. 2008-04-14]. Dostupné na internetu: . Pell, O. Cryptology [on-line]. 18. 9. 2005 [cit. 2008-04-14]. Dostupné na internetu: . Piper, F., Murphy, S. Kryptografie. Praha: Dokořán, 2006. 157 s. ISBN 80-7363074-5. Rybička, J. LATEX pro začátečníky. 3. vyd. Brno: Konvoj, 2003. 248 s. 80-7302-0491. Singh, S. Kniha kódů a šifer: Tajná komunikace od starého Egypta po kvantovou kryptografii. 1. vyd. Praha: Argo, 2003. 382 s. ISBN 80-7203-499-5. Spiess, F. EnigmaCo.de [online]. 2. 11. 2007 [cit. 2008-04-29]. Dostupné na internetu: . Štráfelda, J. V. Shaman.cz | Polybiův čtverec [online]. 29. 4. 2008 [cit. 2008-04-29]. Dostupné na internetu: . Štráfelda, J. V. Shaman.cz | Šifrování a signály (úvod kapitoly) [online]. 29. 4 2008 [cit. 2008-04-29]. Dostupné na internetu: . Till, M. Krypta.cz – Historie kryptografie I. [online]. 10. 11. 2001 [cit. 2008-04-29]. Dostupné na internetu: .
5
LITERATURA
41
Wilson, P. Enigma Simulator [online]. 29. 4. 2008 [cit. 2008-04-29]. Dostupné na internetu: . -red-. Leonidas I. – CoJeCo – Vaše encyklopedie [online]. 8. 9. 2005 [cit. 2008-04-29]. Dostupné na internetu: . Bitva u Salamíny – Wikipedie, otevřená encyklopedie [online]. 29. 4. 2008 [cit. 2008-04-29]. Dostupné na internetu: . Caesarova šifra – Wikipedie, otevřená encyklopedie [online]. 3. 4. 2008 [cit. 2008-04-29]. Dostupné na internetu: . Cryptography – Wikipedia, the free encyclopedia [online]. 29. 4. 2008 [cit. 2008-04-29]. Dostupné na internetu: . Kryptografia – šifrovacie metódy minulosti a súčasnosti [online]. 5. 4. 2005 [cit. 2008-04-29]. Dostupné na internetu: .
Přílohy
A
A
` VIGENEROVA ŠIFRA – OPAKUJÍCÍ SE SEKVENCE
Vigen` erova šifra – opakující se sekvence
43
B
B
` VIGENEROVA ŠIFRA – POSUN ABECEDY
Vigen` erova šifra – posun abecedy
44