KAPITOLA PRVNÍ
Počátky kódu
Již několik století před naším letopočtem staří Řekové a Římané prozkoumali základní principy tvorby šifer, které se s některými upřesňujícími dodatky používaly další dvě tisíciletí. Lidská potřeba síťové komunikace a šifer jako jejího nezbytného doplňku byla natolik silná, že vznikla a rozvíjela se ještě před objevem vhodné techniky. Předchůdce našich současných digitálních sítí po staletí představovala optická telegrafie s pochodněmi, zrcadly, kouřem, vlajkami či semafory.
6 | SKR YTÉ KÓDY A VELKOLEPÉ PROJEKTY
Polybios Nevinně vyhlížející matice číslic a písmen vlevo byla v 2. století př. n. l. velkým průlomem. Před dvaadvaceti stoletími ji sestavil řecký voják a historik Polybios, aby vytvořil první účinný kód s univerzálním použitím pro posílání optických vzkazů na větší vzdálenost. V této kapitole se dozvíte princip „Polybiova čtverce“ i to, že se dost možná stal nezbytným komunikačním nástrojem v Římské říši. Díky takovýmto vynálezům měla římská vojska výraznou převahu nad protivníky, protože si vojáci mohli vyměňovat rozkazy a informace, aniž by museli vypravovat jezdecké posly, u nichž vždy hrozilo nebezpečí, že je zajme nepřítel. Římané vybudovali první informační síť, jejímž prostřednictvím si posílali vzkazy po západní Asii a Evropě v řádu hodin a dnů, namísto týdnů a měsíců. Sice se nedochoval dostatek jednoznačných dokumentů, ale dnes se přikláním k názoru, že tento systém byl založen na Polybiově čtverci. 1 2 3 4 5
1 A F K P V
2 B G L Q W
3 C H M R X
4 D I N S Y
5 E J O T Z
Úloha: Tato slova Scipia Africana se stala všeobecně známým rčením. Dokážete je vyluštit, než se o kódu dozvíte víc? V latinské abecedě se nerozlišují písmena U a V. (Všechna řešení najdete na konci knihy.) 35 14 51 11 55 34 15 33 51 / 44 45 15 44 45 24 / 41 43 15 25 15
Objev a rozvoj této šifry spolu s podpůrnými komunikačními technologiemi jsou životně důležité pro pochopení toho, co je vlastně kód a jak funguje. Příběh Polybiova čtverce nás tak přivede ke kódům dnešním.
Z Řecka do Říma Ve 2. století př. n. l. si Řím postupně podmaňoval Řecko, poslední nezávislou civilizaci v oblasti. Římané usilovali o svůj velkolepý projekt Pax Romana – lokální „světový mír“, při němž měla být Itálie obklopena přátelsky nakloněnými zeměmi spravovanými Římany a s přijatým římským právem. Polybios odolával římské nadvládě snahou o vytvoření federace řeckých měst na Peloponésu v jižní části Řecka. Jeho úsilí selhalo, když ho zajali Římané a poslali ho do Říma, kde strávil sedmnáct let. Přestože byl v podstatě zajatec a následně otrok u slav-
POČÁTKY KÓDU |
né rodiny Scipiů, zapojil se do římské kultury. Je autorem knih, v nichž podal svědectví o historicky významném období, kdy Řím porazil své nejsilnější protivníky: Kartágo a Korint. Dnes známe Polybia díky jeho knihám o historii, v nichž rovněž psal o vojenské strategii a taktice. Jako stratég si Polybios naléhavě uvědomoval význam komunikace a zabýval se metodami dorozumívání na velké vzdálenosti. Jako historik zaznamenal použití jistého typu telegrafu, který o dvě století dřív vynalezl jiný Řek, taktik Aeneas. Aeneův text se nedochoval, ale Polybiův popis je dostatečně podrobný, abychom z něj pochopili, o jaký systém šlo a jak ho Polybios vylepšil. Aeneas používal pomůcku, kterou dnes nazýváme „kódová kniha“: seznam možných pokynů – „Postupujte“, „Stůjte“, „Útočte“ a podobně –, v nichž každý rozkaz odpovídá jinému číslu. Pokud spolu potřebují komunikovat účastníci, kteří mají k dispozici tentýž seznam, stačí, aby si posílali čísla. Aeneova kódová kniha obsahovala jen několik prvků, zatímco kódové knihy námořnictva během první světové války měly tisíce položek včetně jmen, míst, zbraní, ba dokonce konkrétních slov a vět. Kódová kniha může vypadat nějak takhle: Postupujte Ustupte Stůjte Utábořte se Ukryjte se Útočte
1 2 3 4 5 6
Vzkaz 1-4-6 potom znamená: „Postupujte, založte tábor a pak zaútočte na nepřítele.“ Ještě důležitější ale je, jakým způsobem Aeneas vzkazy posílal. Nebyl sice první, kdo používal optické signály, ale vynalezl prototyp optického telegrafu. Už dost dlouho před ním Babyloňané a další používali kouřové signály nebo zrcadla, jimiž odráželi sluneční paprsky, ale tyto zprávy se omezovaly jen na základní informace typu „vítězíme“ nebo „prohráváme“. Pro podrobnější vzkazy, které šly nad rámec prostého „ano“ nebo „ne“, museli Babyloňané nasadit pěší nebo jezdecké posly. Aeneas pokročil od signálů typu „buď-anebo“ k přesně definovanému seznamu. Jeho vynález tak lze oprávněně nazvat
7
8 | SKR YTÉ KÓDY A VELKOLEPÉ PROJEKTY
telegrafem, byť toto slovo vzniklo podstatně později. Vymyslel ho v osmnáctém století Francouz Claude Chappe, který ale o Aeneovi věděl a obdivoval ho natolik, že pro daný přístroj zavedl termín odvozený z řečtiny, a sice zkombinováním slova graf (psaní) a tele (na dálku). Jak takový telegraf fungoval v praxi? Aeneas musel nejprve synchronizovat odesílatele a příjemce. K tomu využil jedinou časomíru, která byla v té době k dispozici: vodní hodiny. Jde o nádobu, z níž známou rychlostí odkapává voda, takže z výšky hladiny lze odečíst uplynulý čas. Odesílatel i příjemce mají totožnou nádobu s kohoutkem u dna. Na obou nádobách je vyznačen seznam kódů (kódová kniha), přičemž každé slovo či věta odpovídá konkrétní hladině vody. Zpočátku byly nádoby plné, kohoutky se otvíraly a zavíraly ve stejnou dobu a voda z obou vytékala stejně rychle. Když hladina poklesla k zamýšlenému vzkazu, příjemce si ho ze své nádoby bez problémů přečetl. K tomu bylo nezbytné přesně načasovat dvě události: zahájení a zastavení odtoku vody. Synchronizace probíhala takto: 1. 2. 3.
4.
Účastník A pozvedl pochodeň, což znamenalo: „Jsme připraveni vysílat.“ Účastník B pozvedl pochodeň, což znamenalo: „Jsme připraveni přijímat.“ Účastník A sklonil pochodeň, což znamenalo: „Otvíráme kohoutek, otevřete i ten svůj.“ Účastník B sklonil pochodeň a otevřel kohoutek, takže voda začala vytékat z obou nádob současně. Účastník A pozvedl pochodeň, což znamenalo: „Zavíráme kohoutek.“
JDĚTE ZASTAVTE SE BOJUJTE UKRYJTE SE
Odčítání hladiny vody v nádobě nebylo tak jednoduché jako dnes. Tehdy neměli lidé k dispozici žádné velké skleněné nádoby, takže Aeneův telegraf musel fungovat s neprůhlednými kameninovými nádobami. Aeneas do nich vyvrtal otvory tak, aby každý odpovídal hladině jednoho vzkazu, a uzavřel je korkovými zátkami, jimiž prostrčil dřevěné tyčky, které čněly zpola ven a zpola dovnitř (viz obrázek vlevo). Při plné nádobě voda nadnášela vnitřní úseky tyček, takže se jejich venkovní poloviny sklopily dolů. Pokud byla nádoba poloprázdná, horní tyčky
POČÁTKY KÓDU |
trčely vzhůru. Tak mohla obsluha telegrafu odčítat hladinu vody. K zobrazení hladiny navenek sloužily i jiné systémy – například plovák, který ovládal značku přes provázek zavěšený na kladce. Podstatná část Řecka je dostatečně kopcovitá, aby bylo využití optických signálů praktické, ale Řekové museli kompenzovat velkou vzdálenost a nepřízeň počasí. K tomu sloužily rané dalekohledy – prosté duté trubičky –, které soustředily pohled na dané místo. Moderní čočkové dalekohledy musely na objevení počkat další dva tisíce let. Teoreticky představoval popsaný systém pochodní a vodních hodin jednoznačné vylepšení oproti kouřovým signálům, ale neexistuje žádný důkaz, že se někdy opravdu používal. Mohlo se jím předávat jen přibližně tucet zpráv a při každé vojenské operaci nastávají nepředvídatelné okolnosti, které vyžadují podrobnější komunikaci, neboli širší pásmo, jak říkáme dnes. Při studiu zmíněného systému Polybios usoudil, že konečný seznam pokynů nikdy nebude stačit: potřeboval způsob, jak posílat vzkazy v plném rozsahu skutečného jazyka. Jinými slovy bylo třeba najít jednoduchou metodu jak kódovat jazyk a posílat ho v zakódované formě. Jeho tabulka s pěti sloupci a pěti řádky (viz str. 6) splňovala oba požadavky. Polybiův brilantní nápad spočíval v tom, že kódovou knihu nahradil kódem a posílal písmena místo předem definovaných položek seznamu. Jeho telegraf využíval deset pochodní. Odesílatel měl pět pochodní nalevo a dostatečně daleko od nich dalších pět napravo, rozmístěných tak, aby je příjemce dokázal snadno spočítat. Když se zrovna nepoužívaly, zůstaly schované za stěnou. K odeslání jednoho písmena byl vztyčen konkrétní počet pochodní vlevo, což odpovídalo číslu řádku, a souběžně s tím se zvedl konkrétní počet pochodní napravo, jež představovaly zase sloupec tabulky. Příjemci stačila jediná pochodeň, kterou oznámil, že signál přijal a zapsal si písmeno z příslušného průniku. Odesílatel pak pokračoval dalším písmenem. Pochodňový kód písmene H vypadal tak, jak je naznačeno na obrázku vpravo: vyšší symboly v první pětici reprezen-
9
10 | SKR YTÉ KÓDY A VELKOLEPÉ PROJEKTY
tují pozvednuté levé pochodně a vyšší symboly v druhé pětici pozvednuté pochodně pravé. Latinský pozdrav „ave“ by v pochodňovém kódu vypadal takto: Dále zapisujeme Polybiův kód čísly místo pochodní. Úloha: Vzkaz Cata Staršího senátu: 31 11 43 45 11 22 35 / 33 51 44 24 / 12 54 45 / 55 34 24 13 15 34 35
Úloha: Paradoxní přesvědčení Scipia Africana: 34 24 31 14 54 / 34 15 25 44 15 33 / 51 24 13 15 / 55 11 34 15 41 43 11 55 14 34 15 34 / 34 15 55 / 31 14 54 55 / 33 11 33 / 51 35 32 34 35 / 11 / 34 24 31 14 54 / 34 15 25 44 15 33 / 33 15 34 15 / 35 44 11 33 15 32 54 / 34 15 55 / 31 14 45 55 / 25 44 15 33 / 44 11 33
V 80. letech 20. století studenti Univerzity RWTH v Cáchách, německé technické školy, vyzkoušeli Polybiovu metodu klasickými pochodněmi, jimiž si předávali vzkazy mezi dvěma kopci. S trochou praxe se jim dařilo posílat zprávy průměrnou rychlostí osm písmen za minutu. Srovnejme si to s dnešním přenosem dat počítačem. Je-li písmeno zapsáno v osmi bitech, pak studenti vysílali rychlostí 64 bitů za minutu, tedy přibližně 1 bit za sekundu. To se může zdát málo i předplatiteli internetu z dob před vysokorychlostním připojením DSL, který se mohl pochlubit přenosem 48 000 bitů za sekundu, ale přesto se jednalo o významné vylepšení oproti dosavadním systémům. Úloha: Dejme tomu, že by Polybios ve svém kódování použil trochu jiný postup. Jaký vzkaz tu odesílá básník Vergilius? 43 51 15 44 54 11 14 15 52 / 14 34 51 41 / 55 23 45 33 / 11 23 51 / 52 51 44 54 51 / 53 41 15 11 55 43 51 52 42 / 52 41 42 / 14 34 53 54 42 / 43 51 33 15 První číslo dvojice zde označuje sloupec a druhé řádek.
POČÁTKY KÓDU |
Julius Caesar V roce 55 př. n. l. Julius Caesar seskočil z lodi na britskou půdu jako první, ještě před svými vojáky. Tento odvážný skutek, který pečlivě zaznamenal ve vlastní knize, činí z Caesara prvního Římana, který se dotkl britské půdy. O dvě tisíciletí později zvažoval invazi do Británie i Napoleon, ale nikdy se k ní neodhodlal. Vzhledem k tomu, že se fyzickou silou a obratností v boji nemohl s Caesarem rovnat, neseskočil by z lodi na břeh před svými muži. Při bitvách zůstával u svého stanu na kopci, s kapesním dalekohledem, mapami a posly. Jak později zjistíme, měl pro tuto příležitost připravený svůj vlastní telegraf určený ke komunikaci přes průliv. Úloha: Zde jsou Caesarova legendární slova při vkročení na britskou půdu: YCKYUY YRMDFL QHFKFHXHOL CUDGLX WYHKR RUOD QHSULXHOL. SRNYG MGH R PH WSOQLP WYRY SRYLQQRWX YYFL WXDXY D WYHPY JHQHUDORYL.
Tato slova samozřejmě nebyla vyslána jako šifrovaný vzkaz; Caesar je vykřikl uprostřed akce a patrně je formuloval jinak, než jak to později uvedl v Zápiscích o válce galské. Jak ale uvidíme, slavný Říman sehrál významnou úlohu při rozvoji kódů, a to hned v několika ohledech. Jako ostatní mocní mužové té doby měl Caesar skupinu služebníků, kteří se latinsky označovali jako speculatores a kteří plnili dvojí funkci. Byli zaměstnáni jako poslové a zároveň sbírali informace – pracovali tedy jako kurýři i zvědové. Každá politicky činná osoba měla speculatores, aby ji informovali a nosili dopisy přátelům i protivníkům. Caesar však zašel dál. Věděl až příliš dobře, že služebníky může někdo podplatit, a nedůvěřoval jim, že doručí důležité dopisy v pořádku. Proto vymyslel šifru, která nese jeho jméno a která měla skrýt obsah vzkazu před posly i před dalšími stranami. Jaký je tedy princip Caesarovy metody? Každé písmeno nahraďte písmenem, které je v abecedě o tři místa dál: A se změní v D, místo B píšeme E a tak dále. Při čtení zprávy příjemce postupuje obráceně: každé písmeno nahradí písmenem o tři místa před ním. Pro kódování písmen X, Y a Z si představte abecedu zapsanou do kruhu, kde A následuje po Z. X tedy odpovídá písmenu A, Y je B a Z je C. Při luštění naopak A čteme jako X, B jako Y a C jako Z.
11
12 | SKR YTÉ KÓDY A VELKOLEPÉ PROJEKTY
Neexistují doklady o tom, že by Caesar znal Polybiovu šifru, ale je to pravděpodobné. Věže s pochodňovými telegrafy se používaly ještě několik století po Caesarovi za panování císaře Trajana (98–117 n. l.). Jednalo se o natolik významnou metodu komunikace, že Caesar jistě jejich základnímu principu rozuměl. Nicméně si možná plně neuvědomoval, jaké možnosti Polybiův čtverec nabízí pro šifrování, považoval ho za prostý telegrafický přístroj a nikdy ho nenapadlo, že jeho použití s klíčovým slovem by proměnilo otevřené vzkazy v tajemství (viz oddíl o Marii-Antoinettě v šesté kapitole). Dnes se nám Caesarova posunová šifra jeví snad až příliš primitivní, než aby poskytovala přiměřené utajení, ale v 1. století př. n. l. představovala velkou inovaci a patrně odolávala všem pokusům o prolomení. Caesar podle pověsti vynikal ve všem. Jako dospívající jinoch byl skvělý šermíř a neúnavný jezdec. Byl výborný stratég, který dosahoval nepřerušované série úspěchů. Navazoval blízký vztah se svými vojáky, kteří ho milovali. Byl to znamenitý spisovatel a básník, což uznávali i jeho nepřátelé. Jako politik nejednal vždy čestně a dokázal k dosažení svých cílů podplatit oponenta, ale také to byl vizionář, který prosadil zákony, jež se staly základem moderní republiky. Caesarovi vděčíme za zvyk, že všechny debaty v senátech a kongresech musejí probíhat veřejně, což je zásadní rozdíl mezi demokratickým parlamentem a tajným bratrstvem. Každá společnost však nutně potřebuje utajovat informace, a to ze dvou důvodů: zaprvé je v demokraciích vždy třeba hlídat vládní úřady. A zadruhé přední občané a členové vlády jsou často členy tajných společností, v nichž se projednávají a připravují zákony, než se dostanou na veřejnost. Úloha: Publiovo pravidlo často citované Caesarem, které možná stálo za Caesarovými pozoruhodnými strategickými úspěchy: SODQ NXHVB QHWQHWH CPHQB MH WSDXQB SODQ
Caesara dostihla smrt přesně tak, jak si přál. Mnohokrát opakoval, že ideální smrtí je smrt nečekaná. Jeho slavná poslední slova vyjadřují překvapení, protože vůbec neočekával, že by ho zavraždil jeho adoptovaný syn. Úloha: Caesarova poslední slova v okamžiku, kdy viděl, že se ho jeho syn Brutus chystá zabít. L XB PYM WBQY?
POČÁTKY KÓDU |
Ani ve smrti Caesar neunikl privilegovanému zacházení: senát okamžitě odhlasoval jeho zbožštění. Jakoby na podporu tohoto postupu se večer nad Římem objevila kometa, která svítila na nebi několik dní. Učinil by bůh následující výrok svým osobním heslem? Úloha: Caesarova cynická rada politikům (luštění je znesnadněno jiným posunem a rozdělením věty do pětipísmenných skupin namísto slov). IJTYX ZYBEC ESDNS NXZBR ELQEJ LNXRW YLRSR XJTQY MYMBI ESDN
Luštění Caesarovy šifry Hlavní slabinou Caesarovy metody je skutečnost, že lze vybírat pouze z dvaceti pěti možných posunů. Pokud je postupně všechny vyzkoušíte, musíte narazit na správné řešení. Šifru však lze vyluštit i mnohem elegantnějším způsobem. V šesté kapitole se dozvíme, že v anglickém textu se nejčastěji vyskytuje písmeno E. Luštitel tedy může spočítat četnost jednotlivých znaků vzkazu a nejfrekventovanějším znakem bude pravděpodobně písmeno E, což okamžitě odhaluje velikost použitého posunu. Pozn. překl.: I v češtině je nejčastějším písmenem E, ale jeho převaha není zdaleka tak výrazná jako v angličtině. U kratších textů proto může být aplikace pravidla, podle něhož nejfrekventovanější znak odpovídá písmenu E, zavádějící. Augustus, který se po občanské válce stal Caesarovým nástupcem v čele státu, potřeboval vhodnější nástroj pro správu říše, než jakým byli speculatores. Vytvořil službu cursus publicus, určenou pro běžnou poštu (přepravovanou voly), a cursus velox, určenou pro expresní vzkazy a státní komunikaci (přepravovanou koňmi). Ještě uvidíme, že tato organizace přečkala až do 19. století, kdy se v Evropě objevily optické telegrafy a Amerika přešla z Pony Expressu, velice podobného římskému cursus velox, na Morseův telegraf. Podrobnosti z Caesarova života jsme neuváděli jen jako zábavné historky, ale jako názorné ukázky tehdejšího estetického a politického kodexu, z něhož Caesar vyčnívá jako vynikající politický vůdce, který se sám stává měřítkem. Caesarovo jméno v mnoha jazycích označuje vladaře s absolutní mocí. Je z něj například odvozeno německé slovo Kaiser, ruské car a snad i tibetské Gesar. Ať už se Caesarovi podobní vůdci opravdu označují jako caesarové nebo nikoliv, poměřují se s ním nejméně ve čtyřech oblastech:
13
14 | SKR YTÉ KÓDY A VELKOLEPÉ PROJEKTY
• Vynikají fyzickými i duševními výkony. • Tvoří dobré zákony, ale sami stojí nad nimi a mohou je porušovat. • Jsou to vynikající stratégové a vizionáři, kteří vedou svůj národ k dobývání nových území. • Představují prostředníky mezi obyčejnými smrtelníky a spirituálním světem. Poslední bod je průsečíkem mezi politickým vedením a tajnými společnostmi, v nichž se noví caesarové rodí a které symbolizují bránu k mystickému světu. Paradoxy, jako je tvorba zákonů a zároveň možnost jejich porušování, navíc podtrhují jejich mýtické postavení a posilují jejich obraz. Takoví vůdci balancují na pomezí několika světů, z nichž čerpají sílu (viz rozbor mýtických poutí na konci páté kapitoly).
Scytale
a b c d e f g h i j k l
Jinou, radikálně odlišnou šifrovací metodu vynalezli Řekové už v 7. století př. n. l. Tato technika nenahrazuje písmena zprávy jinými písmeny, čísly ani tajnými znaky. Místo toho jednoduše mění pořadí písmen a začleňuje je do jiné, na první pohled nečitelné posloupnosti. Taková šifra se nazývá transpoziční (na rozdíl od dříve probírané šifry substituční). Použití scytale je velice prosté: odesílatel omotá kožený pás kolem dřevěné tyče a napíše na něj vzkaz řádek po řádku. Po odmotání se na pásu objeví jen nesmyslný řetězec písmen. Ve výše uvedeném příkladu se „abcdefghijkl“ změní v „ieajfbkgclhd“. Původní zprávu si lze přečíst pouze po opětovném omotání pásu kolem tyče (scytale) se stejným průměrem. Zde použitá smyčka je dlouhá tři znaky. V následujících šifrách musíte přijít na délku smyčky sami. Texty jsou rozděleny do pětipísmenných skupin, což je obvyklý způsob, jímž profesionálové snižují počet chyb při předávání zprávy. Úloha: Ezopova moudrá poučka. ILNSJ ETEJY HINOS ERTPS YRIPI NRTEI EZTLJ E