thumb|En Enigma-maskin med topplokket åpnet (slik det så ut da maskinen var i bruk). Lokket foran skal være hektet/låst for å hindre at ledningspluggene (som er stukket på plass) sklir utEnigma 1 når apparatet er i bruk (etter at ledningsplugger eventuelt har blitt flytta - minst en gang per dag - til nye innganger, i forbindelse med nye nye, rutinemessige innstillinger (av sikkerhetshetshensyn). Pluggene er stukket i et kontaktpanel - Steckerbrett
Enigma (fra gresk: «gåte») var en elektromekanisk krypteringsmaskin, som i stort omfang ble brukt av de fleste tyske militærstyrker til både kryptering og dekryptering av informasjon under andre verdenskrig. Den var enkel å bruke, og koden ble fra tysk side ansett for sannsynligvis å ikke kunne knekkes i overskuelig framtid, noe som var hovedårsaken til dens utbredelse.
De allierte fikk etter hvert full tilgang til detaljene i konstruksjonen. Grunnet en rekke prosedyrefeil var det derfor mulig å dekryptere enigmameldinger under store deler av krigen. En antar at dette forkortet tiden det tok før de allierte vant krigen.
Formgivningen Som med andre rotor-apparater, er Enigma-maskinen en blanding av mekaniske- og elektriske delsystemer - subsystems.
Det mekaniske delsystemet består av et skrivemaskinlignende tastatur, et sett av roterende valser som ble kalt rotorer, som var tredd ved siden av hverandre på en aksling; og en av diverse stepping-komponenter for å rotere minst én rotor med hvert tastetrykk. (Hver rotor hadde 26 hakk, og den rotoren som roterte ved hvert tastetrykk, hadde tilsammen utført en hel omdreining når 26 tastetrykk hadde blitt utført.)
I tillegg finnes tommelhjul for å stille inn (kode-)valsene.
Den elektriske strømmens bane (strømbane) thumb|Figur 1: Enigma koplingsskjema som viser strømmen når A-tasten trykkes ned. Den er kodet til lampe D. D gir også A, men A gir aldri A. Strøm gikk fra batteriet (1) gjennom en to-veis bryter. Ved å trykke ned en tast på tastaturet så gikk strømbanen gjennom den tilhørende to-veis bryteren (2) til pluggbrettet (3). Deretter fortsatte den gjennom (ubrukt i dette tilfellet, derfor vises den som påslått) plugg "A" (3) via inngangsrotoren (4), gjennom ledningene til tre (Wehrmacht Enigma) eller fire (Kriegsmarine M4 og Abwehr-varianter) installerte rotorer (5), og går inn i reflektoren (6). Reflektoren lar strømmen passere videre, via en ny strømbane gjennom rotorene (5) og inngangsrotoren (4), og fortsetter gjennom plugg "S" (7) som koblet til en ledning (8) til plugg "D", og en annen to-veis bryter (9) for å lyse den aktuelle lampen.
De gjentatte endringene av det elektriske kretsløpet gjennom en Enigma scrambler førte til polyalfabetisk chiffer som sikkerheten til Enigma besto av.
Den elektriske delen besto av et batteri som var koblet til lamper via tastene i tastaturet. Normalt var det slik at når en tast ble trykket ned på tastaturet, ville en av lampene bli tent av batteriet. På figur 1 kan man se tastaturet på forsiden av maskinen, og lampene er de små sirklene «over» tastaturet midt på maskinen.
Hjertet av grunnutgaven var mekanisk og besto av flere forbundne flate valser/hjul med 26 kontakter på hver side, anbrakt sirkulært mot kanten av hjulet. Enhver kontakt på den ene siden av hjulet var forbundet til en annen kontakt på den andre siden. For eksempel var første kontakt på den ene siden av en valse forbundet til kontakt 14 på den andre siden og den andre til kontakt 22 på den andre siden og så videre. Alle valsene som ble levert med en Enigma var forbundet forskjellig og de tyske militær/parti-modellene brukte andre forbindelser mellom kontaktene enn de kommersielle modellene.
Inni maskinen var det 3 «spor» (i de fleste varianter) hvor valsene kunne plasseres. Valsene ble anbrakt i «sporene» på en slik måte at kontaktene på utgangssiden av en valse var i kontakt med inngangskontaktene på den neste. Den tredje valsen var forbundet med en reflektor (unikt for Enigma-familien blant de forskjellige valse-maskiner som ble designet i perioden) som hadde faste ledninger som førte utdata fra den tredje valsen tilbake til andre kontakter på den samme valsen, og derfra tilbake til den første valsen, men i en annen rute. På bildet kan man se de tre valsene øverst på maskinen, med tenner som stikker frem fra overflaten og som tillater manuell innstilling.
Når en tast ble trykt ned på tastaturet, ville strømmen fra batteriet som gikk til bokstaven, la oss si A, bli ledet til A-posisjonen på den første valsen. Derfra ville den via valsens ledningssystem gå til, la oss si, J-plassen på valsens andre side. Derfra ville den gå over på den neste valsen, som så ville være dreid sånn at første skives J var i forbindelse med X på den andre valsen. Derfra ville strømmen gå til den andre siden av skive to og så videre. Når strømmen hadde beveget seg igjennom skivesystemet og tilbake, ville en annen bokstav enn A bli opplyst i lamperekkene – og slik erstatte en bokstav med en annen, dette svarer til prinsippet i alle erstatnings-kode-systemer. På grunn av reflektoren kunne aldri en bokstav bli «kryptert» som seg selv, noe som var en avgjørende svakhet og hjalp de allierte å knekke systemet.
På grunn av at valsenes endrede stilling (som kilometertelleren i en bil) med hvert trykk på tastaturet, kunne A være Q denne gangen, men den neste A kunne være noe annet neste gang, for eksempel T. Når 26 bokstaver hadde blitt trykt, ble den neste valsen rotert av en medbringerknast på den første valsen. Erstatningsalfabetet skiftet derfor for hvert tastetrykk.
Enda bedre var det at på grunn av at den «tilfeldige» ledningsføringen på skivene, varierte den nøyaktige rekkefølgen av disse erstatningsalfabetene avhengig av deres utgangsposisjon, rekkefølgen, og hvilke skiver som var installert i maskinen. Disse innstillingene ble referert til som utgangsinnstillingene, og ble distribuert i bøker en gang i måneden (til å begynne med – de ble hyppigere som tiden gikk.)
For å gjøre det enda vanskeligere å knekke de militære utgavene av Enigma utstyrte Scherbius Enigma med et kontaktpanel (Steckerbrett på tysk) foran på maskinen (se punkt 8 fig1, og fotografi). Her kunne man bytte om enkelte bokstaver, for eksempel kunne A bytte plass med G, E med W, og så videre. I seg selv var dette en enkel substitusjons-chiffer som lett kunne ha vært knekt for hånd, men i kombinasjon med valsene (polyalfabetisk chiffer), utgjorde dette likevel en kraftig forbedring i forhold til den sivile utgaven av Enigma.
Maskinen var på grunn av reflektoren symmetrisk, slik at dekrypteringen foregikk på samme måte som krypteringen: man skrev den krypterte teksten og sekvensen av de opplyste lampene svarte til klarteksten. Dette virket imidlertid bare hvis den dekrypterende maskinen var konfigurert på samme måte som den krypterende (valsesekvens, ledningenes plassering, ringinnstillinger og utgangsinnstillinger); disse ble skiftet med jevne mellomrom (først månedlig, senere ukentlig, senere daglig og enda oftere nær krigens avslutning i noen forbindelser) og ble spesifisert i nøkkelskjemaer, som ble distribuert til Enigmabrukerne.
Inngangsrotor (Eintrittswalze) Fra kontaktpanelet går strømmen (gjennom en ledning og) inn i en inngangsrotor (eller -trommel eller -stator eller -valse; på tysk - Eintrittswalze) før strømmen går videre inn gjennom hver av de andre sammenplasserte rotorene.
Historie Enigma-maskinene ble utviklet av ingeniør Arthur Scherbius, og de hadde varemerkethttp://www.usna.edu/Users/math/wdj/_files/documents/papers/cryptoday/hatch_purple.pdf s.57 Enigma. Enigma finnes i forskjellige versjoner som går helt tilbake til 1919. Arthur Scherbius grunnla et firma i Berlin med tanke på å fremstille maskinen, og de første kommersielle versjonene kom på markedet i 1923. Atskillige eksemplarer ble kjøpt av den tyske marinen i 1926; hæren tok i bruk maskinen i 1929, og de påfølgende årene fulgte praktisk talt alle tyske militære organisasjoner, og store deler av nazi-hierarkiet, etter. I den tyske marine ble den kalt «M»-maskinen.
thumb|Tre rotorer som kan rotere hver for seg. Rotoren til høyre roterer til et nytt hakk, for hvert tastetrykk; Når den rotoren har fullført én omdreining, så vil rotoren ved siden av rotere til neste hakk (av 26 hakk). Hver av rotorene på bildet, har et synlig tommelhjul på høyre side av hver rotor.
Forskjellige versjoner av Enigma ble brukt til praktisk talt alle tyske (og de fleste europeiske aksemakters) radio- og telegrafkommunikasjoner gjennom krigen; selv værmeldinger ble kryptert med en Enigma-maskin. Både spanjolene (under borgerkrigen) og italienerne (under andre verdenskrig) sies å ha brukt den kommersielle utgaven uendret til militære formål. Dette var ikke spesielt klokt, da de polske dekrypteringsekspertene Marian Rejewski, Jerzy Rózycki samt Henryk Zygalski klarte å knekke Enigma-maskinen. Ved museet i Bletchley Park (GB) i 2002 ble deres navn offentliggjort, og de ble tilskrevet æren for å ha knekt den tøffeste militære Enigma-versjonen fra 2. verdenskrig.
Enigma-lignende teknologi Den britiske kodemaskinen Typex og flere amerikanske, for eksempel SIGABA eller M-134-C, lignet i prinsippet på Enigma, men var betraktelig sikrere.
Grunnleggende dekryptering Koder kan behandles på mange måter, og ved utbruddet av første verdenskrig var de fleste kodebryteravdelinger så gode at de fleste koder kunne knekkes med tilstrekkelig anstrengelse. På den annen side var de fleste av teknikkene avhengig av å få tilgang til tilstrekkelige mengder med tekster som var kryptert med en bestemt nøkkel, slik at en kunne bruke statistikk og hardt arbeide for å finne mønster i disse.
I den frekvensanalytiske teknikk teller man bokstaver og bokstavmønstre. Siden visse bokstaver opptrer mye oftere enn andre i alle språk vil disse tellingene vanligvis avsløre informasjon om sannsynlige substitusjoner i koden. Man ser typisk etter viktige bokstaver og kombinasjoner. På engelsk er for eksempel E, T, A, O, I, N og S lette å finne, såvel som NG, ST og lignende kombinasjoner. Når de forannevnte er funnet er budskapet delvis dechiffrert, og det avslører mer informasjon om andre sannsynlige substitusjoner.
Enkel frekvensanalyse beror på at en gitt bokstav alltid erstatter en annen i koden; hvis dette ikke er tilfelle blir situasjonen mer innviklet. I mange år forsøkte kryptografene å skjule frekvensene ved å bruke flere forskjellige substitutter for de alminnelige bokstavene, men denne metoden er ikke i stand til helt å skjule mønsteret i substituttene for alminnelige bokstaver. Slike koder ble brukt allerede på 1500-tallet.
En metode for å vanskeliggjøre frekvensanalyse er å bruke forskjellige substitutter for hver eneste bokstav og ikke bare de vanligste. Dette ville normalt være en meget tidkrevende prosess som ville kreve at partene utvekslet substitusjonsmønsteret sitt før de sendte kodede meldinger til hverandre. På 1400-tallet ble en ny teknikk oppfunnet, nå kjent som polyalfabetisk kode, som gir en enkel teknikk for å fremstille en myriade av substitusjonsmønstre. De to partene skulle utveksle en mindre mengde informasjon (den refereres til som nøkkelen) og deretter fulgte en enkel teknikk, som fremstilte mange substitusjonsalfabeter, og dermed mange forskjellige substitusjoner for hvert av meldingens bokstaver.
Det tok flere hundre år før man kunne knekke disse kodene helt sikkert; de nye teknikkene ble grunnlagt på statistikk (koinsidenstelling for eksempel) for å kunne bestemme hvilken nøkkel som var brukt til kryptering i en av budskapene. Disse teknikkene ble brukt til å finne repeterende mønstre i kodeteksten, dette gav en ide om hvor lang nøkkelen var. Når lengden på nøkkelen er kjent, blir kodebudskapet i realiteten en serie budskaper, som hver har en lengde som er lik med nøkkelens lengde, og på disse kan man så bruke normal frekvensanalyse. Babbage, Kaisiski, og Friedman er blant dem som gjorde mest for å utvikle disse teknikkene.