Nestáva sa často, že by matematici zachraňovali životy miliónov ľudí. Aj preto je príbeh šifrovacieho stroja Enigma používaného nemeckými vojskami počas druhej svetovej vojny taký zaujímavý.
Historici odhadujú, že vďaka rozlúšteniu kódu a poznaniu tajnej komunikácie trvala vojna o tri roky kratšie a bolo tak zachránených 14 až 28 miliónov životov.
Zložitý proces kódovania správ sa podarilo rozlúštiť britskému matematikovi menom Alan Mathison Turing (1912 – 1954) spoločne s jeho tímom v panskom sídle Bletchley Park, ležiacom asi 80 kilometrov severozápadne od Londýna.
Ako presne Enigma fungovala a ako sa ju podarilo zlomiť?
Šifrovací písací stroj
Už jednoduché pravidlo, napríklad posun písmena o jedno v abecede – A sa mení na B; B na C; C na D atď., dokáže z textu spraviť na prvý pohľad nezrozumiteľnú šifru. Z textu Quark magazín o vede a technike vznikne Rvbsl nbhbajo p xfef b ufdiojlf. No aj keby sme zvolili zložitejšie pravidlo na zámenu písmen, pridali čísla alebo iné špeciálne zákonitosti, šikovný kryptograf odhalí náš kód v krátkom čase aj bez súčasných počítačov.

Enigma fungovala omnoho komplikovanejšie. Na prvý pohľad pripomínala písací stroj. Pri stlačení písmena sa vysvietilo iné písmeno. Túto sekvenciu si odosielateľ tajnej správy zapísal a posielal pomocou morzeovky svojim vojskám. Na druhej strane musel prijímateľ vlastniť rovnaký stroj, zadať sekvenciu, pričom sa mu postupne vysvietila požadovaná správa. To bola veľká výhoda stroja, keďže sa prenášal iba nezrozumiteľný kód. Šifrovanie sa dialo iba na koncoch konverzácie.
Z hľadiska elektroniky bola Enigma najjednoduchší elektrický obvod, batéria a žiarovka prepojené vodičom. Ktorá žiarovka konkrétne – to zabezpečoval zložitý mechanizmus vnútri.
Srdce Enigmy

Zostrojme si najprv jednoduchý model Enigmy, na ktorom si priblížime princíp jej fungovania. Použime iba šesť písmen A, B, C, D, E, F a na začiatok nič nešifrujme. Pri stlačení písmena A sa spojí daný elektrický obvod a vysvieti sa písmeno A. Tak isto pri ostatných písmenách.
Pohrajme sa teraz s káblami vedúcimi od písmen k žiarovkám. Nezabúdajme však, že šifrovanie musí fungovať oboma smermi – po zadaní slova sa vysvieti šifra a po zadaní šifry sa vysvieti slovo. Keby sme prepojili písmená so žiarovkou s písmenom posunutým o jedno v abecede, potom po zadaní slova ABECEDA dostaneme BCFDFEB, ale po zadaní tejto šifry dostaneme CDAEAFC, a nie slovo ABECEDA.
Riešením je pridanie rotora do cesty káblom. Rotor má v našom prípade šesť vstupov a šesť výstupov. Tie sú vnútri rôzne popárované, my spárujme A-B, C-E, D-F. To znamená, že po stlačení písmena C elektrický prúd prejde cez rotor a rozsvieti sa písmeno E a, naopak, po stlačení E sa rozsvieti C. Výhodou rotora je, že po každom stlačení písmena sa pootočí o jednu polohu. Vďaka tomu spáruje písmená inak, pričom pri každom písmene následne vznikne iné pravidlo nahradzovania.
Po zadaní slova dostaneme šifru. Pred šifrovaním si však musíme zapamätať začiatočnú polohu rotora. Keď potom rotor manuálne pretočíme na túto polohu a začneme postupne zadávať písmená, odhalí sa nám zašifrované slovo.

Párovanie písmen
Pridajme do cesty ďalšie dva rotory. Písmená na vstupe a na výstupe nemusia byť dokonca vo všetkých rotoroch popárované. To znamená, že ak A na vstupe bude spojené s B na výstupe, tak B na vstupe nemusí byť nutne spojené s A na výstupe. Vo výsledku však páry písmen ostávajú prepojené, pretože za rotormi použijeme tzv. odrážač (angl. reflector). Ten po prejdení elektrického signálu tromi rotormi tiež písmeno zmení na iné a pošle signál naspäť tými istými rotormi.
Šifrovanie tak funguje obojstranne. Keď signál pošleme na vstupe napríklad cez písmeno A, dostaneme na výstupe D. Keby sme v rovnakom nastavení rotorov počas rozšifrovávania poslali signál na vstupe cez písmenko D, na výstupe dostaneme A, pretože ide o jednoduchý elektrický obvod.
Každý z rotorov mal všetkých 26 písmen abecedy. To znamená 26 možných začiatočných polôh pre jednotlivý rotor. Ako sme už spomínali, po každom zadaní písmena sa prvý rotor posunul o jednu polohu. Po celom otočení prvého rotora sa o jednu polohu posunul druhý rotor a tak ďalej.

Kvintilióny nastavení
Stroj Enigma pôvodne nebol zostrojený za účelom vojnovej komunikácie. Bol to komerčne dostupný šifrovací stroj pre banky, korporácie, tajné služby a podobne. Zabezpečenie navyše spočívalo aj v tom, že rotory boli vyberateľné a bolo možné ich umiestniť v ľubovoľnom poradí. Prijímateľ správy musel mať teda informáciu nie iba o začiatočných polohách rotorov, ale aj o poradí usporiadania rotorov.
Koľko je to možných nastavení spolu? Počet možných poradí troch rotorov je šesť, počet možných začiatočných polôh rotorov je 26 × 26 × 26. Celkový počet sa tak rovná 105 456 nastaveniam. Pri neskorších variantoch Enigmy sa počet rotorov zvyšoval. Pri použití piatich rotorov počet možností na ich výber a poradie vzrástol na 60, čiže 1 054 560 možných nastavení.
Ďalšie možnosti do systému vniesli tzv. prepojenia (angl. plugboard). Prostredníctvom nich bolo možné vytvoriť 10 párov písmen, na základe čoho sa signál cestou z klávesnice k rotorom najprv vymenil za dané písmeno, keď bolo zapojené v páre. A taktiež sa signál vymenil za spárované písmeno pred vysvietením žiarovky. Tým sa počet možných nastavení vyšplhal na neuveriteľne vysokú hodnotu – 158 962 555 217 826 360 000 nastavení.

Kryptologická bomba
Ako vojská vedeli, ako prístroj nastaviť? Na začiatku mesiaca každému manuálne doručili zoznam nastavení na každý deň v mesiaci. Na papieri vytlačené atramentom, aby sa v prípade problémov informácie po vhodení do vody okamžite stratili.
Niektoré správy zabezpečovali ešte viac, napríklad manuálnou zmenou vstupov a výstupov niektorého rotora, alebo poslali v prvých znakoch zakódovanej správy individuálne nastavenie pre zvyšok správy. Existovali aj verzie Enigmy so štyrmi vloženými rotormi alebo rotormi, ktoré posúvali vedľajší rotor o jednu polohu nie po celom otočení, ale po polovici otáčky. Dokonca neskôr používali až osem rôznych rotorov namiesto piatich.

A ako sa podarilo Enigmu prelomiť? Výhodou bola jej komerčná dostupnosť pred vojnou. Danú verziu sa už v roku 1932 podarilo rozlúštiť poľskému matematikovi menom Marian Adam Rejewski (1905 – 1980). Na základe cyklov štyroch písmen vydedukoval zapojenie vstupov a výstupov písmen na rotoroch. V roku 1938 v Poľsku vyrobili stroj s názvom Bomba, ktorý kombinoval šesť strojov Enigma a dokázal rozlúštiť nastavenie za dve hodiny. Stroj si však nevedel poradiť s prepojeniami písmen, a keď začali používať až desať párov a päť rôznych rotorov namiesto troch, poľské stroje prestali fungovať.
Nájdenie kľúča
Počas vojny pracoval A. M. Turing a jeho tím na dekódovacom stroji, ktorý na počesť Poliakov nazvali Bombe. Bol to však oveľa komplexnejší stroj. Najväčšou trhlinou Enigmy bolo, že písmeno nemohlo byť zašifrované samo na seba. Túto skutočnosť si A. M. Turing spojil s tým, že v správach sa často opakujú slová ako Wetterbericht (predpoveď počasia) či známy nacistický pozdrav. Slovo Wetterbericht má 13 písmen, ktoré keď skúšali priložiť na písmená na začiatku správy, museli pasovať tak, aby sa nijaký znak nešifroval na rovnaký. Týmto spôsobom veľmi rýchlo odhalili sekvenciu 13 po sebe idúcich písmen. Enormne sa tým okresali možnosti nastavenia Enigmy a stroj Bombe zvládol nájsť to správne nastavenie za niekoľko minút.
V priebehu druhej svetovej vojny bolo vyrobených asi 200 strojov Bombe, ktoré pomohli rozlúštiť tisíce správ. Agenti tajných služieb však museli pozorne korigovať, ktoré správy a ako využijú vo svoj prospech. Nesmeli byť príliš nápadní, pretože inak by nacistické vojská Enigmu kompletne zmenili počas jedného víkendu. Konkrétna informácia, že sa Enigmu podarilo rozlúštiť, ani neopustila tajné služby.
Text a vizualizácie Stanislav Griguš
Fakulta matematiky, fyziky a informatiky
Univerzita Komenského v Bratislave
Videá autora nájdete na YouTube kanáli bit.ly/ToAkoPreco.

