náhľad|Prístroj Enigma na ktorej je viditeľná rozvodná doska, klávesnica, svetelný panel a cez vrchný kryt vystupujúce krúžky rotorov
Enigma () bola prenosným elektromechanickým šifrovacím strojom pracujúcim na princípe otáčajúcich sa rotorov. Používala sa v niekoľkých modifikovaných verziách najmä nemeckými ozbrojenými silami pred vypuknutím a počas druhej svetovej vojny. Šifra Enigmy bola Nemcami považovaná za neprelomiteľnú a absolútne bezpečnú, no už v roku 1932 ju prelomili poľskí kryptológovia, ktorých poznatky využili po vypuknutí vojny spojenecké vojská. Informácia o prelomení kódu bola jednou z najtajnejších. O prispení Poliakov sa otvorene začalo hovoriť až v roku 1973.
Opis náhľad|vľavo|250px|Zapojenie enigmy ukazujúce tok prúdu. Znak 'A' je zakódovaný ako 'D' náhľad|200px|Šifrovanie 2 písmen pomocou Enigmy: prúd je vedený do sústavy rotorov, cez reflektor a späť znovu cez rotory.
Písmeno A sa zakóduje inak s každým následným stlačením, prvý raz na G, ďalej na C, atď. Je to preto, že pravý rotor sa po stlačení klávesy pootočí a signál je vedený zakaždým iným obvodom. Pozn.: sivé čiary predstavujú ďalšie možné elektrické okruhy vnútri každého z rotorov, ktoré sú napevno zapojené vnútri rotorov.
Tak ako iné, na rotoroch založené šifrovacie stroje, je Enigma kombináciou elektrického a mechanického systému. Mechanický systém je zložený z klávesnice, súbory rotačných valcov (alebo rotorov, ) zoradených na jednej osi a krokového mechanizmu, ktorý otáča postupne jedným alebo niekoľkými rotormi pri každom stlačení.
Šifrovanie prebieha takto: po stlačení klávesu sa uzavrie elektrický obvod. Prúd preteká rôznymi súčasťami, až sa nakoniec rozsvieti jedna z mnohých žiaroviek na paneli, čím indikuje výsledné zašifrované písmeno.
Napríklad pri šifrovaní správy ANX… operátor najskôr stlačí A, rozsvieti sa napríklad Z, teda Z bude prvým písmenom zašifrovaného textu. Následne operátor stlačí N a rovnakým spôsobom pokračuje.
Pre bližšie vysvetlenie je použitá schéma na ľavom obrázku. Pre zjednodušenie sú zobrazené iba 4 súčasti z každej časti. V skutočnosti je na paneli 26 žiaroviek, klávesov a zdierok. Prúd preteká z batérie (1) cez stlačené dvojcestné tlačidlo (2) k rozvodnej doske (3), ktorá umožňuje preskupiť zapojenie klávesnice, do pevného vstupného kolesa (4), ďalej cez tri (Wehrmacht Enigma) alebo štyri (Kriegsmarine M4) rotory (5). Potom vstupuje do reflektora (6), ktorý inou cestou vracia prúd späť do rotorov (5) a vstupného kolesa (4). Ďalej postupuje cez zástrčku 'S' (7), ktorá je v našom prípade prepojená s káblom (8) do zástrčky 'D', a následne ďalším dvojcestným spínačom ku žiarovke (9).
Neprestajné otáčanie sa rotorov zapríčiňuje neustálu zmenu cesty signálu a kódovanie správy polyalfabetickou šifrou, ktorý vo svojej dobe zabezpečoval veľmi vysokú bezpečnosť prenosu.
Rotory náhľad|200px|Ľavá strana rotora Enigmy s plochými elektrickými kontaktmi. Na ľavej strane rotora viditeľný zárez slúži na jeho otáčanie. náhľad|200px|Pravá strana rotora Enigmy s odpruženými kolíkmi elektrických kontaktov. Rímske číslo „V“ označuje spôsob káblového prepojenia rotora.
Rotory (tiež bubienky či rotačné valce , ) sú srdcom šifrovacieho stroja. Pripomínajú koleso s priemerom približne , vyrobené z tvrdej gumy alebo bakelitu, s kruhovo uloženými kolíkmi na pružinách z jednej strany a plochými elektrickými kontaktmi zo strany druhej. Uloženie kolíkov a kontaktov je rovnaké ako opis písmen na abecednom krúžku rotora – typicky 26 písmen od A do Z. Ak sú rotory uložené vedľa seba, kolíky jedného z nich sa dotýkajú s plochými elektrickými kontaktmi susedného, uzatvárajúc elektrický obvod. Vnútri rotora sa nachádza 26 prevodov spájajúcich zhodne so zvolenou kombináciou kolíky z jednej strany s kontaktmi z druhej. Spôsob káblového prepojenia je iný pre každý typ rotora. 220px|náhľad|vľavo|Tri rotory Enigmy a os na ktorej sa osádzajú Jednotlivý rotor zabezpečuje iba jednoduché substitučné šifrovanie. Napríklad kolík zodpovedajúci písmenu E môže byť spojený s kontaktom písmena T na druhej strane. Zložitosť systému šifrovania závisí na použití viacerých, navzájom prepojených rotorov – prevažne troch či štyroch – a zároveň ich pravidelného otáčania, čo zabezpečuje ešte vyšší stupeň komplikácie šifrovania.
Po vložení rotora do šifrovacieho stroja mohol byť nastavený do jednej z 26 pozícií. Otáčanie bubienka umožňoval do neho pripevnený vlnovkový krúžok, presahujúci cez vrchný kryt stroja po jeho zatvorení. Aby operátor stroja mohol nastaviť rotor do odpovedajúcej pozície, bol do neho pripevnený abecedný krúžok s 26 písmenami alebo číslami, ktorých zodpovedajúca pozícia bola viditeľná v špeciálnom okienku v kryte stroja. V raných modeloch stroja bol abecedný krúžok pripevnený k rotoru, ale neskôr sa kvôli zvýšeniu komplikácie šifrovania zaviedli rotory s meniacim sa nastavením abecedného krúžku. Toto nastavenie bolo nazvané termínom Ringstellung (nastavenie rotora).
Pohľad na rozložený rotor Enigmy Tri rotory na jednom hriadeli 220px Krúžok so zárezmi na prenos obratu medzi bubienkami pomocou západkového mechanizmu Značka kontaktu písmena „A“ Abecedný (občas číselný) krúžok Elektrické kontakty Okáblovanie rotora Elektrický kontakt v tvare kolíka na pružinke Pružinou dotláčaný krúžok zdvihu na nastavenie abecedného krúžku Ložisko Vlnovkový krúžok na ručné nastavenie rotora Zubatka západkového mechanizmu 240px
Enigmy Heeru (pozemných vojsk) a Luftwaffe (letectva) boli vybavené niekoľkými typmi rotorov, no v čase zavedenia ich mali iba tri. 12. decembra 1938 bola súprava rotorov rozšírená na 5, z ktorých sa do použitia v stroji vyberali tri. Kvôli odlíšeniu boli rotory označené rímskymi číslicami I, II, III, IV a V. Každý z nich mal jeden zárez umiestnený v rôznych miestach abecedného krúžku, slúžiaci na jeho otáčanie, vďaka čomu značne narastala zložitosť šifry. Viera konštruktérov stroja, že zavedenie zárezu prakticky znemožní dekódovanie správ sa ukázala mylná, pretože vďaka zavedeniu poľskej „hodinovej metódy“ Jerzyho Różyckiho a neskôr britskej metódy nazvanej „banburismus“ bola nakoniec šifra Enigmy prelomená.
|Spôsob okáblovania rotorov IV 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 I E K M F L G D Q V Z N T O W Y H X U S P A I B R C J II A J D K S I R U X B L H W T M C Q G Z N P Y F V O E III B D F H J L C P R T X V Z N Y E I W G A K M U S Q O IV E S O V P Z J A Y Q U I R H X L N F T G K D C M W B V V Z B R G I T Y U P S D N H L X A W M J Q O F E C K
Enigmy Kriegsmarine (námorníctva), na rozdiel od strojov Heeru a Luftwaffe, boli vybavené väčším počtom rotorov. Na počiatku ich bolo 6, neskôr 7 a nakoniec 8. Dodatočné rotory označené ako VI, VII a VIII boli okáblované rôznym spôsobom a mali po dvoch zárezoch vo výške písmen 'N' a 'A', ktoré umožňovali ich častejšie otáčanie.
Enigma M4, ktorú využívalo Kriegsmarine, obsahovala štvrtý rotor, no jeho využitie nevyžadovalo prebudovanie štandardnej trojrotorovej verzie. Dodatočné miesto bolo získané vďaka použitiu nového tenšieho otáčajúceho bubienka a špeciálneho štvrtého rotora, ktorý sa síce neobracal, ale mohol byť nastavený ručne v jednej z 26 pozícií. Štvrtý rotor bol vyrábaný v dvoch verziách označených ako Beta a Gama.
|Spôsob okáblovania rotorov VIVIII, Beta i Gama 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 VI J P G V O U M F Y Q B E N H Z R D K A S X L I C T W VII N Z J H G R C X M Y S W B O U F A I V L P E K Q D T VIII F K Q H T L X O C B J S P D Z R A M E W N I U Y G V Beta L E Y J V C N I X W P B Q M D R T A K Z G F U H O S Gama F S O K A N U E R H M B T I Y C W L Q P Z X V G J D
Krokový mechanizmus náhľad|220px|Krokový mechanizmus Enigmy. Všetky tri západky (zelené) pracujú súčasne. V prvom rotore (1) je rohatka (červená) posúvaná pri každom stlačení klávesu. V tom okamihu je druhý rotor (2) nastavený takým spôsobom, že západka zapadajúc do zárezu ho posunie pri nasledujúcom stlačení klávesu. Tretí z rotorov (3) sa nehýbe, pretože v druhom rotore nie je zárez nastavený v zodpovedajúcej pozícii a západka zostáva nečinná.
V snahe väčšieho skomplikovania kódu sa niektoré rotory neotáčali pri každom stlačení klávesu. Taká činnosť zabezpečuje meniace sa kódovanie znaku v každej pozícii rotorov ako aj stvorenie efektu veľmi komplikovaného mnohoznakového substitučného šifrovania.
Otáčanie rotorov bolo zabezpečené mechanizmom západky a rohatky. Na každý rotor boli pripevnené rohatky s 26 zubami spolupracujúcimi so západkami. Každé stlačenie klávesu stroja zároveň spôsobuje potlačenie západiek, ktoré v prípade zapadnutia do zárezu rohatky spôsobia jeho pootočenie.
V Enigme používanej pozemnými silami a letectvom bol na rotory vložený dodatkový krúžok so zárezom. Päť základných rotorov (IV) mali po jednom záreze, no dodatkové rotory strojov Kriegsmarine (VIVIII) po dva. V istých prípadoch sa zárez nastavil do takej pozície, že západka susedného rotora umožnila pootočenie dvoch rotorov naraz. V inom prípade sa západka kĺzala po povrchu krúžku so zárezom nespôsobujúc jeho dodatočné pootočenie. Pre rotory s jedným zárezom nastupuje dodatočné pootočenie každých 26 pootočení prvého rotora a podobne pootočenie tretieho, každých 26 pootočení druhého. Druhý rotor sa otáča takým istým spôsobom ako tretí, preto v istej chvíli preskočí o dva zúbky pri jednom stlačení klávesu, skracujúc svoju dobu obrátky (podvojný krok).
náhľad|vľavo|220px|Krokový mechanizmus Enigmy M4, vľavo je viditeľný reflektor
Fakt činiteľa podvojného kroku v Enigme odlišuje spôsob obracania sa rotorov napríklad od automobilového počítadla kilometrov. Podvojný krok sa vyskytne ak prvý rotor postupuje o krok a v okamihu trafenia sa západky do zárezu v druhom rotore, nastáva jeho pootočenie o jeden krok dopredu. Takisto sa to deje s tretím rotorom, ale v okamihu trafenia západky do zárezu je pootočený o jeden krok naraz s druhým rotorom. V nasledujúcom cykle západka posúva druhý rotor ďalší raz (druhý v rade).
V trojrotorovej Enigme obsahujúcej iba po jednom záreze na prvom a druhom rotore nastáva opakovanie kombinácie kódu každých 16 900 cyklov. 26 × 25 × 26 = 16 900 (pozor, nie je to 26 × 26 × 26 vzhľadom na podvojný krok druhého z rotorov, aj keď všetky rotory majú po 26 stykov). Vzhľadom na dĺžku predávaných správ, ohraničujúcich sa do niekoľko sto znakov, bola pravdepodobnosť opakovania sekvencie prakticky nulová.
Aby sa získalo miesto na štvrtý kódovací rotor Beta či Gama v Enigme Kriegsmarine, ktorá sa začala používať v roku 1942, bol uplatnený tenší otáčajúci rotor a stenčený bol aj štvrtý rotor. Žiadne iné mechanizmy stroja nepodliehali zmene. Rovnako nebola pridaná západka na dodatočný rotor, čiže mohol byť nastavený iba ručne v jednej z 26 pozícií.
Pri stlačení klávesu na klávesnici Enigmy nastáva najprv otočenie rotorov a až neskôr dochádza k uzavretiu elektrického obvodu.
Vstupný valec náhľad|vľavo|320px|Uloženie rotorov Enigmy. Tri otočné valčeky sú zamontované medzi dvomi pevnými: vstupný valec a otočný valec (označený písmenom „B“) na ľavej strane.
Vstupný valec (), alebo stojan, je spojený s rozvodnou doskou (ak je prítomná), alebo bezprostredne s klávesnicou a svetielkami a z druhej strany so sústavou rotorov. Aj keď sám spôsob spojenia klávesnice s valcom nemá väčší význam pre bezpečnosť kódovania, dopomohol na počiatku snáh Mariana Rejewskiho pracujúceho nad objasnením spôsobu káblového prepojenia rotorov. Komerčný stroj mal klávesy spojené v súlade s rozložením klávesnice: QA, WB, EC, a tak ďalej, no vo vojenskej verzii bola prepojená abecedne: AA, BB, CC, a tak ďalej. Odkrytie toho faktu Rejewskim mu umožnilo vypracovanie ďalších rovníc dovoľujúcich konečné prelomenie tajomstva Enigmy.
Reflektor