Enigma (krypteringsmaskin)

Från Wikipedia
Hoppa till: navigering, sök
En tysk militär tre-rotors Enigma med (nedifrån och upp) instickskort, tangentbord, lampor och fingerskivor som sticker ut ur höljet
Kryptering av två lika tecken i följd med Enigma – spänning appliceras på rotorerna och fortsätter runt reflektorerna och tillbaka till rotorerna. Bokstaven A krypteras annorlunda för var gång den används, först till G, sedan till C. Detta beror på att den högra rotorn har stegats fram och nu skickar strömmen en helt ny väg.
Tre rotorskivor i rad i maskinen
Sprängskiss av en rotorskiva. 1) ring med markeringar 2) kontakt för "A" 3) alfabetiskt hjul 4) anslutningsytor 5) ledningar 6) bleck 7) hävarm med fjäderbelastning 8) nav 9) fingerskiva #10) ratchet
Tre rotorskivor samt den axel de monteras på i maskinen
Framstegningsrörelsen hos Enigma. Alla tre framvridningsknopparna (i grönt) trycker samtidigt. Den första rotorns (1) knopp (röd) är alltid i stegningsläge och flyttar sig vid varje tangenttryckning. Här är den andra rotorns (2) knopp i stegningsläge eftersom kugge och fals är i läge; rotorn kommer att vridas vid nästa tangenttryckning. Den tredje rotorn (3) är inte i framstegningsläge; kuggen kommer bara att glida längs höljet på den skivan.

Enigma var namnet på en tysk krypteringsmaskin under andra världskriget. Enigma var en portabel maskin, använd för att kryptera och dekryptera kodade meddelanden. Mer specifikt avser Enigma en serie elektromekaniska apparater, samtliga baserade på kodskivor.

Enigma producerades från första hälften av 1920-talet och användes både kommersiellt och av flera länder och försvarsmakter – mest känt är Nazitysklands användning före och under andra världskriget. Den tyska modellen, Wehrmacht Enigma, är den som oftast avses. Att maskinen är så pass omtalad beror till stor del på att allierade kryptoanalytiker lyckades dechiffrera ett stort antal av de meddelanden som krypterats med maskinen. Pionjärarbete kring forcering av de tidiga enigmakoderna gjordes redan 1932 av de polska matematikerna Marian Rejewski, Jerzy Różycki och Henryk Zygalski, som även tillverkade några fungerande maskiner, som överlämnades till britter och fransmän i juli 1939. När tyskarna utökade kryptostyrkan med ett par kodskivor vid början av andra världskriget kunde britterna vid laboratoriet vid Bletchley Park bygga vidare på den polska forskningen.[1] Den brittiske matematikern Alan Turing utvecklade även ett antal tidiga datorer för att automatisera kodbrytning. De underrättelser man på detta sätt fick tillgång till – informationskällan kallades ULTRA – var en viktig del i de allierades krigsinsats. Historiker har föreslagit att krigsslutet kan ha påskyndats med så mycket som 12 månader som följd av forceringen av de tyska koderna[källa behövs].

Även om Enigma har kryptografiska svagheter kunde koden i praktiken knäckas endast tack vare ett antal gynnsamma omständigheter: erövrade maskiner och kodböcker, misstag av operatörer och otillräckliga användarprocedurer.

Beskrivning[redigera | redigera wikitext]

Liksom andra rotormaskiner är Enigma en kombination av elektrisk och mekanisk funktion. Den mekaniska delen utgörs av tangentbord, en rad skivor kallade rotorer monterade i rad längs en axel och en stegningsmekanik som flyttar några rotorer vid varje tangenttryckning. Den exakta mekanismen varierar från modell till modell, men på de flesta flyttades den högersta skivan vid varje tangenttryckning och emellanåt en av de övriga. Den ständiga förflyttningen av skivorna resulterar i en ny kryptografisk transformation efter varje tangenttryckning.

De mekaniska delarna fungerar tillsammans som en varierande elektrisk krets – den slutliga krypteringen utförs elektriskt. När en tangent trycks ned sluts kretsen och leder ström genom de olika komponenterna för att slutligen tända någon av de många lamporna, vilken visar den krypterade bokstaven. Om till exempel strängen ANX... skall krypteras, skulle operatören först trycka ned tangent A, och om då lampa Z tändes betydde det att den första bokstaven i den kodade strängen skulle vara Z. Därnäst trycker operatören på N och läser av dess kodade tecken, och så vidare.

Strömförsörjningn kommer från ett batteri genom en strömbrytare som styrs genom tangentnedtryckningarna. Strömmen leds vidare till inmatningsshjulet och vidare därifrån till själva kodskivorna, rotorerna, i vilka ett komplicerat mönster av ledningar används för att generera en varierat lång sekvens av olika förändringar av kodningen. Sekvensen representeras av skivornas rotation. Efter att ha passerat rotorerna når strömmen reflektorn vilken leder strömmen tillbaka till rotorerna igen, denna gång via en annan väg, och slutligen till den lampa som visar det kodade tecknet. De tidigare versionerna av Enigma saknade reflektor och ledde alltså bara strömmen genom rotorerna en gång. Vissa maskiner hade dessutom plats för ett instickskort som kunde ytterligare variera maskinens beteende genom att förändra hur tangentbordet och inmatningshjulet sammanlänkades.

Rotorerna[redigera | redigera wikitext]

Rotorerna – alternativt hjulen eller trummorna, Walzen (valsar) på tyska – utgör maskinens kärna. De är ungefär 10 centimeter i diameter och tillverkade i gummi eller bakelit. Ena sidan har kontaktbleck som stöds av en fjäder, på andra sidan motsvaras varje bleck av en liten cirkulär anläggningsyta. När skivorna roteras läggs varje kontaktbleck mot en kontaktyta på intilliggande skiva. Dessa bleck och anslutningsytor motsvarar maskinens alfabet, normalt A till Z. Inuti varje skiva förbinds varje bleck på ena sidan med en kontaktyta på andra sidan genom en ledning. Vilka par som sammankopplas varierar i varje rotorskiva.

I sig själv utför varje rotor alltså bara ett enkelt substitutionschiffer. Bokstaven E på ena sidan kan till exempel vara kopplad till bokstaven T på andra sidan. Komplexiteten uppnås genom att flera skivor appliceras efter varandra, och de regelbundna rörelser som skivorna gör. Den kryptering som på det sättet uppnås är betydligt starkare.

I maskinen kan varje rotorskiva inta en av 26 positioner. Den kan roteras för hand via fingerskivan, och kanten på skivan har markeringar synliga utåt så att operatören kan försäkra sig om att hjulen står i rätt läge när krypteringen ska påbörjas. På tidiga modeller var alfabetsmärkningen fast, men senare infördes möjligheten att ändra även denna parameter (den så kallade ringställningen, Ringstellung).

En utskjutande knopp på rotorskivan används då maskinen ska rotera skivan.

Arméns och flygvapnets maskiner utrustades från början med tre rotorskivor. 1938 utökades detta till fem, varav tre valdes ut att placeras i maskinen innan arbetet påbörjades. Skivorna märktes I, II, III, IV och V. Flottans maskiner var redan från början utrustade med fler skivor – först 5, senare sju och slutligen åtta. De extra skivorna i flottans maskiner märktes VI, VII och VIII och hade två knoppar istället för en, varför de flyttades oftare.

För att undvika ett simpelt upprepande substitutionschiffer vrider sig också en del av skivorna vid två likadana tangenttryckningar i följd. På så sätt blir den kryptografiska substitutionen olika för varje tecken, och chiffret ett äkta polyalfabetiskt chiffer.

Den vanligaste konstruktionen använder en mekanism med kugge och fals. Varje rotor har en ring med 26 kuggar, som kan flytta en knopp på nästa rotor. När knoppen inte är i läge glider den bara runt rotorn, men i en eller flera positioner flyttar den och kuggarna på nästa rotor. I ett system med en flyttningsposition per rotor kommer rotor nummer två att flytta sig var 26:e tecken, och var 26:e gång detta sker flyttar sig rotor nummer 3. Att rotor nummer 2 flyttar sig när rotor nummer 3 gör det, gör att den kan flyttas vid två på varandra följande tecken – dubbelsteg – vilket ger en kortare period (Hamer, 1997).

Med tre rotorer och en stegningsposition på vardera rotor har maskinen en period om 26 · 26 · 26 = 16 900. Historiskt sett hade meddelandena oftast en längd om bara några hundra tecken, så det förelåg ingen risk för upprepning av en kodningsposition.

När en tangent trycktes ner, stegades rotorerna innan den elektriska kretsen slöts.

Inmatningsskivan[redigera | redigera wikitext]

Inmatningsskivan (Eintrittwalze) länkar instickskort om sådant finns, annars tangentbordet, och avläsningslamporna, med rotorskivorna. Den exakta sammankopplingen har relativt liten betydelse men blev ändå ett problem för den polske kryptoanalytikern Marian Rejewski i hans arbete med att sluta sig till rotorernas kopplingar. Kommersiellt tillgängliga apparater hade tangenterna anslutna till tecknen på rotorskivan i samma ordning som tangentbordets utformning, det vill säga QWE (i tangentbordets övre vänstra rad) motsvarades av ABC och så vidare. Militära varianter av Enigma hade däremot tangenterna anslutna i alfabetisk ordning; ABC var anslutna till ABC. När Rejewski gissat sig till denna modifikation kunde han sedan lösa de ekvationer som styrde koden.

Reflektorn[redigera | redigera wikitext]

Förutom de tidiga modellerna (”A” och ”B”) avslutades raden av rotorer med en reflektor (Umkehrwalze), en patenterad konstruktion som utmärkte Enigmaprodukterna bland samtida rotormaskiner. Från reflektorn återkopplades kretsen och leddes tillbaka genom rotorerna via en andra väg. Tack vare detta blev kryptering och dekryptering samma operation, vilket är bekvämt. Det gav dock också egenskapen att intet tecken kunde kodas med sig självt, en egenskap som utnyttjades vid knäckningen av koden.

Den kommersiella Enigma modell C hade en reflektor som kunde ställas i två olika lägen. Modell D hade en reflektor med 26 olika lägen men som inte rörde sig under gång. Abwehr Enigma utrustades med en reflektor som stegades på ett sätt liknande det för rotorskivorna.[2]

Wehrmacht Enigma hade en fast reflektor som inte roterade men som med tiden byttes ut. Den första versionen var märkt A och ersattes med Umkehrwalze B den 1 november 1937. En tredje version, Umkehrwalze C, dök upp 1941 som snabbt knäcktes och drogs tillbaka. Den 2 januari 1944 iakttogs för första gången Umkehrwalze D, vars kopplingar kunde varieras som en del av inställningen av maskinen och vållade problem för de allierade.[3]

Instickskort[redigera | redigera wikitext]

Instickskortet (Steckerbrett på tyska, ofta förkortat till Stecker) är en tavla på vilket operatören kunde variera anslutningarna (se frontpanelen i bild 1, där några ledningar är synliga i locket). Det introducerades först i arméversionerna 1930 och togs snart i användning även i flottan.

Referenser[redigera | redigera wikitext]

  1. ^ Marco Smedberg, Niklas Zetterling Andra världskrigets utbrott s.43-44
  2. ^ David H. Hamer, Geoff Sullivan och Frode Weierud (1998). ”Enigma variations: an extended family of machines”. Cryptologia 22 (3): sid. 211-229. doi:10.1080/0161-119891886885. https://cryptocellar.web.cern.ch/cryptocellar/pubs/enigvar.pdf. Läst 21 januari 2012. 
  3. ^ Philip Marks och Frode Weierud (2000). ”Recovering the wiring of Enigma's Umkehrwalze A”. Cryptologia 24 (1): sid. 55-66. doi:10.1080/0161-110091888781. http://cryptocellar.web.cern.ch/cryptocellar/pubs/ukwa.pdf. Läst 21 januari 2012. 

Litteratur[redigera | redigera wikitext]

  • Kodboken av Simon Singh.
  • Engima av Jack Copeland, Chapter 4: The essential Turing


Externa länkar[redigera | redigera wikitext]