thumb|right|Logotip strojev Enigma. Enígma je električna naprava za šifriranje sporočil. Uporabljale so jo nemške oborožene sile med 2. svetovno vojno. Beseda enigma izhaja iz grščine (, aínigma) in pomeni uganka. Simbolično pa naj bi bila Enigma uganka za angleške dekripterje tudi zaradi skladbe z istim imenom angleškega skladatelja Elgarja.

thumb|right|Nemška šifrirna naprava ENIGMA s tremi šifrirnimi koluti

Osnove

To napravo za šifriranje je razvil nemški elektroinženir Arthur Scherbius (1878-1929). Za izdelek je 23. februarja 1918 prejel patent (DRP 416219). Za izdelavo teh naprav so 9. julija 1923 v Berlinu ustanovili podjetje Chiffriermaschinen-Aktiengesellschaft. Proti koncu leta 1920 so oborožene sile začele kazati zanimanje za to napravo, kasneje pa je izginila s civilnega trga.

thumb|right|Trije vrtljivi šifrirni koluti s številkami namesto črk in povratni kolut - reflektor (levo).

V času do konca vojne 1945 in še kasneje so prihajali v uporabo številni različni modeli Enigme. Najbolj razširjena je bila ENIGMA I, ki so jo od leta 1930 uporabljale nemške oborožene sile (Reichswehr) in kasneje Wehrmacht. Verjetno je bila med 2. svetovno vojno najbolj uporabljan sistem šifriranja sporočil. ENIGMA I je na prvi pogled videti kot pisalni stroj. Bistveni sestavni deli so tipkovnica, zbir zamenljivih šifrirnih kolutov in polja z lučkami za prikaz in stikalna plošča. Koluti so bistveni za šifriranje. Vsak kolut ima na obeh straneh po 26 električnih spojev (po enega za vsako črko nemške abecede), ki so vsak posebej na tajen način povezani med seboj. Na primer: vhodni spoj za črko A je na izhodu povezan s spojem za črko G in tako naprej. Ko se pritisne tipka na tipkovnici, steče tok iz vgrajene tipkovnice preko kolutov do polja z lučkami. Prižgana lučka je šifra za vneseno črko. Ker se kolut po vsakem pritisku na tipkovnici zavrti, dobi ista črka na različnih mestih odprtega besedila različne šifre. Podobno kot števec kilometrov v avtomobilu.

Če bi odtipkali SSSR, bi dobili kot šifrirano besedilo na primer HUTW. Važno in za šifriranje izredno pomebno je, da se za razliko od enoabecedne zamenjave (kjer se ista črka odprtega besedila vedno prevede v isto črko šifriranega besedila) pri ENIGMI po vsaki vneseni črki spremeni sistem zamenjave (poligrafska substitucija).

O avtorju naprave za šifriranje Arthur Scherbius se je rodil leta 1878 v Frankfurtu, umrl pa leta 1929 v Berlinu. Študiral je elektrotehniko na tehniški fakulteti v Münchnu, dokončal pa jo je v Hannovru, leta 1903. Po končanem faksu je delal v več nemških in švicarskih podjetjih. Scherbius je naredil številne izume ( npr. asinhroni motor, električne blazine). Scherbius je zaprosil za patent šifriranega stroja, ki ga je vložil dne 23. februarja 1918. Šifrirni stroj je temeljil na vrtenju žičnih koles, kar je zdaj znano kot šifrirna koluta. Šifriran stroj firme, ki se je tržil pod imenom Enigma, je bil prvotno "dejaven" na komercialnem trgu, ampak so ga pozneje iz trga umaknili. Bilo je več poslovnih modelov in eden od njih je bil sprejet s strani nemške mornarice leta 1926.

Zgradba thumb|Skica: Osnovna zgradba štirikolutne (mornariške) ENIGME in nabor kolutov, polja z lučkami, tipkovnica in stikalna plošča z vtikači.

Desno od vrtečih se kolutov je vhodni kolut (stator), ki se ne vrti in je s 26 žicami (na skici so samo 4) povezan s tipkovnico. Levo od vrtečih se kolutov je povratni kolut /reflektor)(UKW), ki tudi miruje (povratni kolut - reflektor je izumil (DRP 452 194, prijavljen 21. marca 1926) Willi Korn, sodelavec Scherbiusa). Le-ta ima samo na desni strani 26 spojev (narisani so samo štirje). Ti spoji so med seboj parno povezani. Povratni kolut povzroči, da se tok, ki je prišel z desne na levo, sedaj vrne na levo do vhodnega koluta, kjer zapusti nabor kolutov.

Tabela prikazuje strogo zaupen sistem povezave petih vrtečih se šifrirnih kolutov (I do V) za trokolutno Enigmo in obeh povratnih kolutov (B in C).

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

UKW B AY BR CU DH EQ FS GL IP JX KN MO TZ VW UKW C AF BV CP DJ EI GO HY KR LZ MX NW QT SU

Na čelni strani naprave je stikalna plošča s 26 dvopolnimi vtičnicami (za vsako črko 1). Tok steče po pritisku na tipko najprej skozi te vtičnice, ko pa zapusti zbir kolutov, steče ponovno skoznje. Končno se prižge ena od 26 lučk s šifriranimi črkami.

Delovanje thumb|Stikalna plošča z vtičnicami, povezan je A z J in S z O.

Tok, ki ga daje baterija po pritisku na tipko (na primer A), steče preko stikalne plošče z vtičnicami. Če je črka A povezana z drugo črko, se črka zamenja (na primer s H), če ni povezana, ostane črka nespremenjena. Tok priteče na vhodni kolut. Pri nadaljnji razlagi se besedilo sklicuje na sliko »Pretok toka« (najprej samo na zgornji del). Prikazani so vrteči se šifrirni koluti (rotorji) in mirujoč povratni kolut (reflektor). Zaradi preglednosti je abeceda okrnjena na 8 črk (A ... H).

thumb|Pretok toka (zgoraj): A se zašifrira kot G; (spodaj): A se šifrira kot C.

Tok steče preko vhodnega koluta (v skici ni prikazan) na vhodni spoj prvega (desnega) koluta. Strogo zaupne električne povezave povzročijo, da tok, ki je vstopil na desni pri vhodnem spoju A, zapusti kolut na levi strani na spoju B. Tako se pretvori A v B.

Sedaj vstopi tok v srednji kolut pri spoju B. Ker je možno, da je vhodni spoj povezan z istoimenskim izhodnim spojem, zapusti tok srednji kolut na spoju B. V tretji kolut vstopi tok pri spoju B in ga zapusti pri spoju D.

Tok je prišel skozi vse tri vrteče šifrirne kolute in je vstopil v povratni kolut (reflektor). Ta ima spoje samo na desni strani, med seboj so parno povezani. Tu se na primer zamenja črka D s črko E.

Sedaj teče tok še z desne na levo in se glede na povezave črke na vsakem kolut zamenjajo (E → C, C → F, F → G). Desni kolut zapusti tako na spoju G.

Nadaljnji tok v skici ni prikazan, ga je pa možno enostavno pojasniti. Ko zapusti vrteče kolute, preko vhodnega koluta steče nazaj v stikalno ploščo z vtičnicami. Če je črka povezana z drugo črko, se črka zamenja, če ni povezana, se ne spremeni. Končno zasveti ena od lučk, ki pomeni šifro za vneseno črko. Stikalna plošča ni smela zamenjati iste črke z isto, niti ne s sosednjo. Npr.: črka R ni smela biti sama črka R, niti Q niti S.

Po pritisku na tipko zavrti desni kolut za eno mesto (srednji kolut se zavrti šele po 26 premikih desnega, levi po 26 premikih srednjega koluta). Če bi ponovno pritisnili tipko A, steče tok po drugi poti skozi desni kolut in zato tudi po drugih poteh skozi ostale kolute. V spodnji polovici skice je prikazan potek po premiku desnega koluta za eno lego navzdol. Sedaj se A šifrira kot C.

Uporaba Pri ENIGMI I so bili najprej na razpolago trije, od leta 1939 pa pet šifrirnih kolutov (rotorjev) s tem, da se je število možnih kolutov (rotorjev) s petih povečalo na osem. Nemška vojna mornarica je že od samega začetka uporabljala štiri rotorje. V tajni kodni knjigi je bilo za vsak dan zapisano, katere kolute in v kakšnem vrstnem redu je potrebno vstaviti. Rotorji (koluti) so bili označeni z rimskimi številkami od I do V, kasneje do VIII. V tej kodni knjigi je vnos I IV II pod navedbo položaj kolutov pomenil, da se na levi strani vstavi kolut I, na sredini kolut IV in na desni kolut II. Nikoli ni smel en šifrirni rotor, na primer I., ostati na istem mestu dva dni. Menjavo so opravili vsak dan natanko ob polnoči.

Kakovost šifriranja thumb|right|Desna stran šifrirnega koluta s 26-timi vzmetnimi kontakti. thumb|right|Leva stran šifrirnega koluta s 26-timi drsnimi kontakti.

Ko je leta 1918 Scherbius prijavil ENIGMO (še med 1. svetovno vojno) patentnemu uradu, je bila to izredno kakovostna in napredna naprava. Osnovni napredek je bil v uvedni strojnega namesto ročnih sistemov šifriranja. Po pravici je veljalo, da se šifre ne da »zlomiti« s tedaj običajnimi ročnimi postopki, ki so bili večinoma osnovani na jezikovnih posebnostih. Tako je ostalo do 30. let, torej več kot 10 let.

Kriptografska moč ENIGME je v vrtečih se šifrirnih kolutih, tako da se ista črka vsakič zašifrira z drugo pretvorbo. Bistveno za ohranitev tajnosti sporočil je zaupnost žičnih povezav v šifrirnih kolutih in število kolutov v naboru. Število kolutov je bistveno za kakovost šifriranja, zato so bile štirikolutne ENIGME M4, ki so jih uporabljali v podmornicah, bistveno bolj varne od običajnih trokolutnih ENIGEM I. Kar solidno varnost so pomenile petkolutne ENIGME, katere je sprva uporabljala Luftwaffe, kasneje pa vsi.

Kabelske povezave stikalne plošče na prednji strani naprave naj bi povečale varnost tajnosti sporočila, vendar je to dodatno zaščito dokaj enostavno »zlomiti«, ker ostanejo povezave ves čas šifriranja enega sporočila enake.

Začetna nastavitev kolutov je za zaščito skoraj brez pomena.

Število možnih šifer

Območje možnih šifer se lahko izračuna iz posameznih komponent in števila možnih nastavitev. Dnevna nastavitev za ENIGMO je bila sestavljena iz štirih delnih ključev, ki so bili v strogo tajnih tabelah, ki so veljale en mesec. Tu je primer za 3 dni v nekem mesecu:

|Dan |UKW| Položaj kolutov |Položaj obr.| Povezave na stikalni plošči |

| 31 | B | I IV III | 16 26 08 | AD CN ET FL GI JV KZ PU QY WX | | 30 | B | II V I | 18 24 11 | BN DZ EP FX GT HW IY OU QV RS | | 29 | B | III I IV | 01 17 22 | AH BL CX DI ER FK GU NP OQ TY |

thumb|Razstavljen šifrirni kolut Enigme: 1. obroč z zarezami 2. označba za vtičnico »A« 3. abecedni (A-Z) ali številčni (1-26) obroč 4. galvanizirani spoji 5. povezave z žicami 6. spoji na klin 7. z vzmetjo utežena ročica za nastavitev obročev 8. pesto 9. zobati obroč 10. zobato kolo za pogon kolutov Na primer za 31. dan je potrebno vstaviti povratni kolut B (ENIGMA I je imela na razpolago dva povratna koluta (reflektorja) B in C). Kot vrtljive kolute se vzame kolute I, IV in III (kolut I je levi). Predhodno je potrebno nastaviti obroče. S tem se določi pri kateri črki se izvrši prenos na naslednji kolut. Uporabljala se je tabela (A = 01, B = 02, ... Z = 26. Na koncu je potrebno povezati s kabli še 10 vtičnic na stikalni plošči (A z D, C z N in tako dalje).

Kot zadnje je potrebno nastaviti kolute v začetni položaj in s tem je naprava pripravljena za delo.

Število šifer izhaja iz naslednjih štirih faktorjev:

Položaj šifrirnih kolutov

Izbere se tri od 5 vrtljivih kolutov in enega od dveh reflektorjev (povratnih kolutov). To da 2·3·4·5 = 120 možnosti, kar je približno 7 bitov.

Nastavitev obročev

Obstaja 26 nastavitev koluta za srednji in desni kolut, nastavitev levega je brez pomena. Skupaj je možnih 26 2 = 676 nastavitev. To da približno 9 bitov.

Začetna nastavitev.

Za vsak kolut je možnih 26 začetnih položajev (povratnega koluta - reflektorja - se ne da nastaviti), kar da 263 = 17.576 nastavitev kar ustreza 14 bitom.

Povezava stikalne plošče

Lahko se poveže največ 13 parov vtičnic pri 26 črkah. Za prvo povezavo je 26 možnosti za prvi konec in 25 možnosti za drugi konec. Ker ni pomembno, kateri konec je vstavljen prej in kateri kasneje, ostane samo polovica možnosti. Za prvi kabel je tako 26·25 / 2 = 325.

Za drug povezovalni kabel je analogno 24·23/2 = 276 možnosti. Na splošno velja, da je za n-to povezavo s kablom (26 - 2n + 2)(26 - 2n + 1) / 2 možnosti.

Številka Možnosti za Možnih Povezave prvi konec drugi konec povezav 0 1 1 1 1 26 25 325 2 24 23 276 3 22 21 231 4 20 19 190 5 18 17 153 6 16 15 120 7 14 13 91 8 12 11 66 9 10 9 45 10 8 7 28 11 6 5 15 12 4 3 6 13 2 1 1

Načelno je število kombinacij za n povezav produkt možnosti za vse n do vključno tega. Ker pa ni važno po kakšnem vrstnem redu se vnašajo povezave, je enačba za n povezav:

To enačbo lahko pretvorimo v: