Toto je prvý zo série článkov, v ktorých sa budeme venovať šifrovaniu, čiže postupom, ktorými môžeme utajiť obsah našej správy tak, aby ju mohol prečítať len zamýšľaný adresát, ale nie iné nepovolané osoby.
V dnešnej časti sa oboznámime s jedným z najjednoduchších a najstarších spôsobov šifrovania—s jednoduchou substitúciou. Rozoberieme si, ako funguje, ako ju používať a ako ju môžeme prelomiť, aj keď nemáme k dispozícii kľúč. Moderná kryptografia už jednoduchú substitúciu nevyužíva, pretože jej prelomenie je ľahké. Stále sa však objavuje pri hrách ako napríklad geocaching.
V ďalších častiach sa budeme zaoberať stále zložitejšími spôsobmi šifrovania. Budeme rozprávať napríklad o polyalfabetickej substitúcii, transpozícii, rotujúcom grile a šifrovacom stroji Enigma. Pri všetkých týchto spôsoboch šifrovania musia obe komunikujúce strany disponovať rovnakým kľúčom, preto hovoríme o tzv. symetrickom šifrovaní. Zhruba od 70. rokov minulého storočia sa začína vyvíjať celkom nová forma šifrovania—tzv. asymetrické šifrovanie. Pri ňom sa na zašifrovanie správy používa iný kľúč ako na dešifrovanie. Asymetrickému šifrovaniu venujeme záverečné časti série.
Ako funguje jednoduchá substitúcia
Našu prehliadku šifrovacích algoritmov začneme jednoduchou substitúciou. Táto šifra je dobre známa; mnohí sa s ňou zabávali ešte ako deti. Jej podstata tkvie v tom, že každé písmeno abecedy nahradíme nejakým znakom (napríklad číslom alebo iným písmenom)—čiže, vytvoríme si tajnú náhradnú abecedu, ktorú používame namiesto normálnej.
Tajnú abecedu môžeme vytvoriť rôznymi spôsobmi. Uveďme niektoré príklady:
(1) Cézarova (posuvná) šifra. Pri Cézarovej šifre vznikne tajná abeceda posunutím obyčajnej abecedy o určitý vopred dohodnutý počet pozícií. Šifra dostala meno podľa Cézara, ktorý ju používal často s posunutím o 3 pozície. V takom prípade prvé písmeno abecedy (A) nahradíme štvrtým (D); druhé písmeno (B) piatym (E), tretie písmeno (C) šiestym (F), atď. Napríklad slovo MAMA zapíšeme ako PDPD. Kľúčom je číslo, ktoré vyjadruje o koľko pozícií máme abecedu posunúť.
Rozlúštenie Cézarovej šifry je ľahké, pretože počet možných kľúčov je malý. Pri anglickej abecede s 26 písmenami máme len 25 možných posunutí (kľúčov)—26. posunutie je už totožné s obyčajnou abecedou. Keďže počet možností je malý, na šifru môžeme zaútočiť hrubou silou—čiže tak, že vyskúšame všetky možnosti (tzv. brute force attack). Šifru spomíname preto, že je základom pre inú, efektívnejšiu, o ktorej budeme hovoriť nabudúce a ktorá sa dlho považovala za nerozlúštiteľnú.
(2) Náhodná substitúcia. Keďže Cézarova šifra je slabá, treba ju vylepšiť. Môžeme to urobiť tak, že tajnú abecedu vytvoríme náhodným poprehadzovaním písmen. Jednu z možností ukazuje nasledujúca tabuľka:
V hornom riadku máme abecedne zoradené písmená obyčajnej abecedy. V dolnom riadku máme zodpovedajúce písmená tajnej abecedy. Šifrovanie prebieha zhora nadol, teda písmená obyčajnej abecedy (z horného riadku) nahrádzame zodpovedajúcimi písmenami tajnej abecedy (z dolného riadku). Dešifrovanie prebieha naopak zdola nahor—k písmenu tajnej abecedy (z dolného riadku) hľadáme zodpovedajúce písmeno obyčajnej abecedy (z horného riadku). Prevodná tabuľka predstavuje šifrovací kľúč—tento kľúč musia zdieľať obe komunikujúce strany.
Ukážme si fungovanie šifry na praktickom príklade. Chceme zašifrovať správu „Vrahom je záhradník“, pričom použijeme kľúč uvedený vyššie. Výsledok zobrazuje nasledujúca tabuľka:
Zašifrovaný text má podobu:
XSDPQL EZ HDPSDTVMG
Aby sme sťažili prelomenie šifry, je vhodné zašifrovaný text prepísať takým spôsobom, ktorý znemožní prípadnému útočníkovi rozpoznať hranice slov. Môžeme ho napríklad napísať ako jednoliaty text bez medzier alebo do blokov pevnej dĺžky. Prelomiť šifru je omnoho ťažšie, keď útočník nemôže rozpoznať a analyzovať jednotlivé slová. Výsledok prepisu:
XSDPQLEZHDPSDTVMG
alebo
XSDPQ LEZHD PSDTV MG
(3) Symbolická substitúcia. Na zostavenie tajnej abecedy samozrejme nemusíme použiť len písmená; namiesto nich môžeme použiť aj ľubovoľné znaky, číslice alebo symboly. Šifra so symbolmi sa zdá laikovi ťažšie rozlúštiteľná; v skutočnosti však použitie symbolov nedodáva šifre žiadnu dodatočnú bezpečnosť, ako uvidíme za chvíľu.
Ako možno prelomiť jednoduchú substitučnú šifru
V našom príklade o vrahovi sme uvažovali s 26 písmenami abecedy. Ak pripustíme, že každé písmeno môžeme nahradiť hociktorým iným (aj samým sebou), počet všetkých rôznych možností (permutácií) je 26 faktoriál[1]— čo je 403 291 461 126 605 635 584 000 000 možností. To už je slušný počet, keď to porovnáme s 25 možnosťami šifrovania, ktoré poskytuje Cézarova šifra. Okrem toho, kvôli jednoduchosti sme neuvažovali diakritiku (mäkčene a dĺžne). Ak by sme uvažovali všetky písmena slovenskej abecedy, počet možností by bol ešte vyšší.
Je zrejmé, že na prelomenie náhodnej substitúcie už nemôžeme použiť útok hrubou silou (to jest vyskúšať všetky možnosti); rozlúštenie šifry by trvalo neprimerane dlho. Zaujíma nás, či existuje nejaká lepšia metóda, ktorá by nám umožnila prelomiť šifru v rozumnom čase.
Takáto metóda existuje a jej najpútavejší opis podal Edgar Allan Poe v poviedke Zlatý chrobák (Gold Bug) ústami hlavného hrdinu—istého Williama Legranda. V poviedke ide o to, že jedného dňa pri prechádzke na morskej pláži Legrand objaví zvláštneho chrobáka. Chytí ho a zabalí do kusu papiera, ktorý obďaleč našiel jeho černošský sluha Jupiter. Neskôr si na papier urobí náčrtok chrobáka a keď ho v blízkosti krbu ukazuje svojmu priateľovi, náhodou objaví, že papier (v skutočnosti pergamen) obsahuje aj záhadné černokňažnícke znaky napísané neviditeľným atramentom, ktoré sa zviditeľnili pôsobením tepla. Isté indície prípadu napovedajú, že ich autorom je známy pirát—kapitán Kidd a že znaky môžu ukrývať inštrukcie k nájdeniu zakopaného pirátskeho pokladu.
Predmetný kryptogram mal 204 znakov a vyzeral takto:
53‡‡†305))6*;4826)4‡.)4‡);806*;48†8
¶60))85;;]8*;:‡*8†83(88)5*†;46(;88*96
*?;8)*‡(;485);5*†2:*‡(;4956*2(5*–4)8
¶8*;4069285);)6†8)4‡‡;1(‡9;48081;8:8‡
1;48†85;4)485†528806*81(‡9;48;(88;4
(‡?34;48)4‡;161;:188;‡?;
Bežnému čitateľovi sa musí tento zhluk znakov javiť ako neprekonateľný problém. Takého názoru bol zjavne aj Legrandov priateľ, ktorý je rozprávačom príbehu. Keď zbadal znaky povedal: “Aj keby na mňa ma čakali všetky drahokamy Golcondy za rozlúštenie tejto hádanky, som si istý, že by som si ich nedokázal zaslúžiť.”
“A predsa,” odvetil Legrand, “riešenie nie je ani zďaleka také zložité, ako by ste si azda mohli myslieť po zbežnom prehliadnutí znakov. Tieto znaky, ako sa každý môže domyslieť, predstavujú šifru—to jest musia mať význam. Z toho, čo je známe o Kidovi, nemyslím si, že by bol schopný vytvoriť niektorý zo zložitejších kryptogramov. Ihneď som si vytvoril úsudok, že pôjde o jednoduchý druh—avšak taký, ktorý by pripadal hrubému intelektu námorníka bez kľúča ako absolútne nerozlúštiteľný.”
Legrand vedel, že rozlúštiť takúto šifru nie je také zložité, ak viete ako na to. Pozrime sa na to, ako postupoval.
1. Identifikácia jazyka šifry
Prvým krokom je uhádnuť jazyk šifry alebo aspoň určiť možný okruh do úvahy prichádzajúcich jazykov. Legrand vysvetľuje:
„V tomto prípade—a vskutku vo všetkých prípadoch tajného písma—prvou otázkou je jazyk šifry; pretože princípy riešenia (zvlášť ak ide o jednoduchšie šifry) závisia a líšia sa v závislosti od použitého jazyka. Vo všeobecnosti nezostáva tomu, kto chce hádanku rozlúštiť, nič iné než vykonať pokusy (založené na pravdepodobnosti) s použitím každého jazyka, ktorý je mu známy, dokým nenájde ten pravý.”
Legrand pokračuje:
“Ale, pri šifre, ktorú máme pred sebou, sú všetky ťažkosti vyriešené podpisom. Slovná hračka s použitím slova “Kidd“ nefunguje v žiadnom inom jazyku než v angličtine. Keby nebolo tejto úvahy, začal by som pokusy so španielčinou a francúzštinou, ako s jazykmi, v ktorých by najskôr zaznamenal svoje tajomstvo pirát španielskeho pôvodu. Ale tak, ako tomu je, predpokladal som, že kryptogram je v angličtine.“
Legrandovi pomohla identifikovať jazyk špecifická zhoda okolností. Ak takéto šťastie nemáme, vychádzame z toho, kde a za akých okolností sme kryptogram našli a na základe toho určíme možný okruh jazykov. Pomôcť identifikovať správny jazyk nám môžu aj ďalej opísané kroky.
2. Frekvenčná analýza znakov
Legrand najskôr konštatuje, že šifra je napísaná ako jednoliaty text bez medzier, čo znemožňuje rýchle dešifrovanie na základe analýzy krátkych slov:
“Môžete si všimnúť, že medzi jednotlivými slovami nie sú medzery. Ak by tam boli, úloha by bola pomerne ľahká. V takomto prípade by som si počínal tak, že by som najprv zozbieral a zanalyzoval kratšie slová, a ak by sa objavilo slovo o jednom písmene, ako sa dá predpokladať (napríklad a alebo I), rozlúštenie by som považoval za isté.”
Informáciu o dĺžke jednotlivých slov je preto vždy dobré v kryptograme zamaskovať. Keďže analýza jednotlivých slov je nemožná, Legrand ďalej pristupuje k frekvenčnej analýze, čiže zisťuje koľkokrát sa ktorý znak v šifre vyskytuje. Výsledky jeho analýzy uvádza tabuľka:
V Legrandovej tabuľke som našiel drobné chyby (napríklad znak 8 som napočítal až 34 x). Tieto odchýlky uvádzam v tabuľke v zátvorke; na správnosť ďalšieho Legrandovho postupu však nemajú žiaden vplyv.
3. Identifikácia písmena E
Na základe frekvenčnej analýzy Legrand vyslovuje predpoklad, že najčastejšie sa vyskytujúci znak v šifre (8) predstavuje písmeno E. Využíva poznatok, že E je v angličtine najfrekventovanejším písmenom .
„A teraz—vieme, že najčastejšie vyskytujúcim písmenom v angličtine je E. Za ním je poradie nasledovné: A O I D A V R S T U Y C F G L M W B K P Q X Z. E však dominuje natoľko pozoruhodne, že sotva nájdeme jednotlivú vetu hocijakej dĺžky, v ktorej by nebolo prevládajúcim znakom. (…) Keďže našim prevažujúcim znakom je 8, začneme s predpokladom, že reprezentuje písmeno E obyčajnej abecedy. Aby sme overili tento predpoklad, skúsme sa pozrieť, či sa znak 8 vyskytuje v pároch — pretože E sa v angličtine objavuje často zdvojené v takých slovách ako napríklad „meet“, „fleet“, „speed“, „seen“, „been“, „agree“, atď. V našom prípade ho vidíme zdvojené nie menej ako päť krát, hoci kryptogram je dosť krátky.”
4. Identifikácia slova THE
Po vylúštení písmena E Legrand ďalej zameriava pozornosť na fakt, že najčastejším slovom v angličtine je THE. Skúma teda, či sa v kryptograme viackrát neopakuje séria troch za sebou idúcich znakov, z ktorých posledným je znak pre E (8). Takýchto usporiadaní je v kryptograme hneď niekoľko, čo Legrandovi umožňuje vylúštiť nové písmená: T a H. Pozrime sa, ako to vysvetľuje samotný Legrand:
„Nech teda 8 znamená E. A teraz, zo všetkých slov nášho jazyka, „THE“ je najčastejšie. Pozrime sa teda, či neobjavíme, ako sa v texte opakujú tri znaky v tom istom slede, z ktorých posledným je znak 8. Ak objavíme takto usporiadané písmená opakovane, budú s najväčšou pravdepodobnosťou reprezentovať slovo THE. Po dôkladnom preskúmaní nájdeme nie menej ako sedem takýchto usporiadaní; príslušné znaky sú ;48. Môžeme teda vysloviť predpoklad, že bodkočiarka predstavuje písmeno T, 4-ka písmeno H a 8-ka písmeno E—posledný znak môžeme považovať za spoľahlivo zistený. A tak, učinili sme veľký krok.“
5. Vylúštenie chýbajúcich písmen
Po doplnení vylúštených písmen kryptogram začína vyzerať sľubnejšie. Prepis uvádzam nižšie (kvôli prehľadnosti som znaky prepísal do blokov po 5 písmen):
Poznáme už tri písmená. Ale ako získať tie chýbajúce? Pozornosť treba zamerať na časti kryptogramu, kde sa nachádza dostatok vylúštených písmen, čo nám umožňuje uhádnuť chýbajúce znaky. Je to ako hra šibenica. Čím viac znakov uhádneme, tým ľahšie je uhádnuť zostávajúce. Pozrime sa na príklady, ktoré uvádza Legrand.
Kombinácia thet(eeth
Prvé vhodné miesto na hádanie chýbajúcich znakov sa nachádza na konci predposledného riadku (v kryptograme je podčiarknuté). Na tomto mieste sa vyskytuje kombinácia thet(eeth. Kombináciu som napísal bez medzier, pretože nesmieme zabúdať na to, že medzery v prepísanom kryptograme slúžia len pre prehľadnosť a nepredstavujú skutočné medzery medzi slovami.
Vo fráze thet_eeth nám treba doplniť len jedno písmeno. Je ľahké zistiť (napr. tak, že postupne dosadíme jednotlivé písmená abecedy), že chýbajúcim písmenom je R. Doplnením dostaneme slová “the tree” (strom), pričom koncové th je začiatkom ďalšieho slova. Teda máme zistené, že R = (.
Kombinácia thr‡?3h
Pozrime sa na kryptogram po dosadení vylúšteného písmena R.
Na konci kryptogramu nájdeme druhé vhodné miesto na vylúštenie chýbajúcich písmen—a síce frázu “. . . the tree thr‡?3h the . . .“. Ihneď sa nám ponúka predložka through (cez), za ktorou spravidla nasleduje určitý člen. Pri hľadaní do úvahy prichádzajúcich slov môžeme využiť slovník. Použitím slovníka je možné overiť, že iné slovo neprichádza do úvahy. Tento objav nám poskytuje až tri nové písmená O (‡), U (?) a G (3).
Kombinácie †eg ree, th6rtee* a 5goo†
Znova updatujeme náš kryptogram. Všimnite si, ako nám vylúštené písmenká utešene pribúdajú:
V kryptograme som vyznačil ďalšie tri dobré miesta na hádanie písmen. Začneme s kombináciou †egree v druhom riadku, čo je očividne záver slova degree (stupeň). Získali sme písmeno D (†).
V treťom riadku mám kombináciu th6rtee*, čo ihneď navodzuje slovo thirteen (trinásť). Získali sme písmeno I (6) a N (*).
Vráťme na začiatok, kde sa nachádza kombinácia 5goo†. Už sme vylúštili, že kríž znamená písmeno D, takže v skutočnosti hádame kombináciu 5good. Pred slovo good (dobrý) sa zmestí už len neurčitý člen a. Z toho dostaneme písmeno A (5).
Na tomto mieste sa zastavíme a zrekapitulujeme dosiaľ vylúštené znaky.
Do tohto momentu som uviedol príklady, ktoré spomína samotný Legrand. Ten však v tomto bode svoje vysvetľovanie ukončuje, keďže vylúštiť zvyšok je už ľahké. Ako sme uviedli, platí pravidlo, že čím viac písmen máme vylúštených, tým jednoduchšie je odhaliť zvyšok. Skúsme to dokončiť sami.
Vylúštenie zvyšných písmen
Najskôr si opäť updatujeme náš kryptogram. Po dosadení všetkých vylúštených písmen vyzerá takto:
Môžete vidieť, že kryptogram sa dá už prečítať takmer bez prípravy. Všimnime si napríklad frázu v druhom až treťom riadku. Nie je ťažké sa dovtípiť, že fráza znie “twenty one degrees and thirteen minutes” (dvadsať jeden stupňov a trinásť minút). Získali sme tieto písmená W = ], Y = :, M = 9 a S = ).
Urobíme posledný update kryptogramu, ktorý teraz vyzerá takto:
Zvyšok už ide sám od seba. V prvom riadku máme g0ass, z čoho dostaneme glass (sklo). Takže L = 0. Malá poznámka: Do úvahy by prichádzalo samozrejme aj slovo grass (tráva), ale už sme skôr vylúštili, že znakom pre písmenom R je (.
V treťom a štvrtom riadku čítame frázu “north east and 2y (by) north“, čo je označenie svetovej strany (severovýchod k severu). Čiže B = 2.
V štvrom riadku máme slovo 2ran-h. Dvojku sme už ale vyúštili—čiže v skutočnosti hádame bran-h, čo znamená slovo branch (konár). Ďalej v tom istom riadku máme se¶enth, čiže slovo seventh (siedmy). Takže máme C = – a V = ¶.
V piatom riadku máme (po dosadení vylúštených znakov) frázu “shoot 1rom the le1t eye“, ktorú prečítame ako “shoot from the left eye” (vystreľ z ľavého oka). Čiže F = 1.
Napokon sa vrátime do prvého riadku, aby sme vylúštili posledné chýbajúce písmeno. Po dosadení známych písmen tu máme frázu “in the bisho.s hostel“, čo ľahko prečítame ako “in the bishop´s hostel” (v biskupovom dvore). Takže P = . (bodka). A to je takmer bodka za celým problémom.
Zostáva už len doplniť medzery. Vylúštený text vyzerá takto:
A good glass in the bishop’s hostel in the devil’s seat twenty-one degrees and thirteen minutes northeast and by north main branch seventh limb east side shoot from the left eye of the death’s-head a bee line from the tree through the shot fifty feet out.
Preklad:
Dobré sklo v biskupovom dvore, v čertovom sedle. 21 stupňov a 13 minút severovýchod k severu, hlavný konár, siedma vetva východná strana. Vystreľ z ľavého oka umrlčej lebky. Priamou čiarou od stromu cez zásah 50 stôp von.
Možno sa vám zdá, že vylúštený text nie je o nič zrozumiteľnejší ako pôvodná šifra. Dômyselnému Legrandovi sa napokon podarí význam jednotlivých slov objasniť. Jeho ďalšie pátranie však nesúvisí s našou témou, a preto sa tým nebudeme ďalej zaoberať.
Poeov Chrobák, podobne ako aj jeho iné diela, bol zdrojom inšpirácie pre mnohých nasledovníkov. Príbeh o zakopanom pirátskom poklade podnietil Roberta Louisa Stevensona k napísaniu ďalšieho bestselleru—Ostrova pokladov. Vylúštenie kryptogramu ako dôležitý prvok zápletky sa objavuje až v troch románoch Julesa Verna, pričom v jednom z nich—Osemsto míľ po Amazone—sa hlavný hrdina márne pokúša vylúštiť kryptogram pomocou metód ukázaných v Chrobákovi. Toto dielo obsahuje viaceré narážky na Poea a jeho Chrobáka. Chrobáka v mladosti čítal aj istý William F. Friedman, ktorý sa neskôr stal popredným americkým kryptolanalytikom a napríklad počas druhej svetovej vojny sa podieľal na prelomení japonskej “Enigmy”. Vidíme, že vhodná inšpirácia v mladosti môže predurčiť celý budúci život človeka.
Poe sa svojim Chrobákom dobre trafil do vkusu vtedajšieho čitateľa. Tajné písmo, “nerozlúštiteľná šifra” a jej brilantné vylúštenie—to všetko muselo pôsobiť na čitateľov ako mágia. Chrobák bol dlho najpopulárnejším dielom Edgara Allana Poea, až kým jeho slávu nezatienil ešte populárnejší Havran. Nakoniec Havran porazil Chrobáka, napísal Poe.
Zhrnutie
Zostáva zhrnúť, o čom sme dnes hovorili. Predstavili sme si jednoduchú (monoalfabetickú) substitúciu—jednu z najjednoduchších metód šifrovania. Metóda spočíva v tom, že každé písmeno obyčajnej abecedy nahradíme iným písmenom alebo znakom (vytvoríme si tajnú abecedu). Text potom napíšeme pomocou takto vytvorenej tajnej abecedy. Pri jednoduchej substitúcii platí, že to isté písmeno obyčajnej abecedy je nahradené vždy tým istým znakom tajnej abecedy (napr. namiesto A vždy napíšeme +). Platí to aj opačne, ten istý znak tajnej abecedy vždy reprezentuje to isté písmeno obyčajnej abecedy (čiže + vždy reprezentuje písmeno A). Uvidíme, že pri iných šifrách tomu tak byť nemusí.
Ukázali sme si aj to, ako je možné prelomiť túto šifru, aj keď nemáme kľúč. Postupujeme takto:
- Podľa okolností, za ktorých sme objavili šifrovaný text, pokúsime sa určiť okruh do úvahy prichádzajúcich jazykov, v ktorých mohla byť šifra spísaná. V niektorých prípadoch budeme musieť postupne vyskúšať viaceré jazyky.
- Spravíme si frekvenčnú analýzu, to jest zistíme, koľkokrát sa ktorý znak opakuje v kryptograme. Identifikujeme najčastejšie a najmenej časté znaky kryptogramu.
- Ďalej hľadáme v kryptograme opakujúce sa série dvoch až troch za sebou idúcich znakov (tzv. digramy a trigramy).
Na základe týchto informácií určíme kandidátov pre jednotlivé znaky a postupne ich skúšame—čiže dopĺňame ich do textu kryptogramu a snažíme sa uhádnuť zostávajúce písmená. V angličtine je tento postup priamočiary, keďže ľahko rozpoznáme ďaleko najčastejší znak (E) a trigram (THE). Takto vieme rýchlo získať až tri písmená, čo je dobrý základ pre uhádnutie ďalších.
V slovenčine je situácia zložitejšia. Predovšetkým, slovenská abeceda má podstatne viac písmen (ak uvažujeme aj diakritiku). Ale aj keď je kryptogram napísaný bez diakritiky, nie je také jednoduché ho vylúštiť. Samozrejme, aj v slovenčine sa vyskytujú typické digramy a trigramy, ale žiaden nedominuje tak výrazne ako určitý člen (THE) v angličtine. Podobne ani žiadne písmeno v slovenčine nemá takú výraznú prevahu ako anglické E . Kým objavíme správne riešenie, budeme musieť spravidla vyskúšať viacero možností metódou pokus-omyl. Ničmenej, metóda útoku na kryptogram je rovnaká.
Počul som, že substitučné šifry sa často využívajú pri geocachingu. Takže, ak na nejakú narazíte, už poznáte metódu, ako sa môžete pokúsiť o jej vylúštenie. Alebo môžete sami pripraviť kryptogram pre iných hráčov.
Týmto ukončujeme našu dnešnú tému—jednoduchú (monoalfabetickú) substitučnú šifru. Nabudúce sa pozrieme na to, ako sa iný literárny hrdina—sudca Jarriquez z Verneovho románu Osemsto míľ po Amazone—pokúša rozlúštiť tajný kryptogram. Sudca Jarriquez rýchlo zistí, že Poeove metódy sú neúčinné a použitá šifra je oveľa zložitejšia. Ako sa ukáže, ide o zlopovestnú Le chiffre indéchiffrable, ktorá odolávala pokusom o rozlúštenie viac ako 300 rokov. Nad to všetko, sudca má na vylúštenie šifry len niekoľko dní a od včasného vylúštenia závisí život človeka odsúdeného na smrť za vraždu, ktorú nespáchal! Podarí sa sudcovi šifru nakoniec rozlúštiť a zachrániť nevinného?
Poznámky:
[1] Faktoriál čísla N (označujeme N!) vypočítame tak, že vynásobíme všetky kladné celé číslá od 1 až po N (vrátane). Takže 26! = 26 x 25 x 24 x 23 x … (atď.) x 3 x 2 x 1.