Den tyske kodemaskine Enigma

Denne hjemmeside blev skrevet efter en meget interessant studietur til London og Bletchley Park. Historien om Enigma og hvordan den blev knækket uden tyskernes vidende er yderst spændende, og der er en masse interessant matematik involveret. Under det store arbejde med at forstå og beskrive matematikken har flere personer været mig til stor hjælp. Først og fremmest en stor tak til Chris Christensen og MAA (Mathematical Association of America) for at give mig lov til at anbringe Chris' artikel om polakkernes bidrag til at løse Enigma på min hjemmeside samt en stor tak for den venlighed, jeg modtog fra folkene hos Bletchley Park i forbindelse med vores besøg samt for at stille et par historiske fotos til rådighed for mig. Bemærk, at man i mange tilfælde kan få en forstørret udgave af et billede ved at klikke på det!

  1. Introduktion
  2. Kort om situationen i kryptografi før Enigma
  3. Enigmas virkemåde
  4. Marian Rejewski og polakkerne
  5. Krypteringsprocedurer
  6. Matematikken anvendt af polakkerne
  7. En artikel fra Mathematics Magazine
  8. Bletchley Park æraen
  9. Dekrypteringsproceduren i Bletchley Park
  10. Cribs
  11. Turings Bombe
  12. Excel VBA simulatorer af Enigma og Turings Bombe
  13. Statistisk angreb - Banburismus
  14. Vort besøg i Bletchley Park
  15. Den tyske ubåd U-995
  16. Interaktive simulatorer og andre resurser
  17. Links
  18. Online litteratur/videoer
  19. Film
  20. Litteratur

 

1. Introduktion

I den sidste uge af september 2007 tog jeg afsted på en studietur til London sammen med en af mine kolleger og min dygtige klasse 3F fra Haderslev Katedralskole. Et af programpunkterne var et besøg i Bletchley Park, som befinder sig knap 90 km nordvest for London - en togtur på 45 minutter fra Euston Station i det centrale London. Vores mål var at få et indblik i, hvordan de berømte kodebrydere fra Bletchley Park gjorde en stor forskel i krigen ved blandt andet at løse den tyske kodemaskine Enigma, samt at lære om den involverede matematik.

Min kollega og en del af de 22 elever foran Bletchley Parks hovedbygning.

Historien om Enigma er fascinerende. Først i 1974 blev det frigivet til offentligheden, at den tyske kodemaskine var blevet brudt under 2. verdenskrig, ikke blot nogle få gange men i udstrakt grad! Siden dengang er der blevet publiceret et væld af bøger, som beskriver hvad der gik for sig i de kritiske år under krigen, inklusiv historien om Enigma. Og der er fremstillet flere film om emnet, blandt andet den med Kate Winslett, som du kan se nedenfor. Tyskerne betragtede deres kodemaskine som ubrydelig. Tyskerne undrede sig godt nok over, at de i visse perioder af krigen havde bemærkelsesværdige nedgange i antal sænkede allierede skibe i ubådskrigen i Atlanten, men de tilskrev det fejlagtigt ikke som at Enigma var blevet knækket, men at der måtte have fundet spionage sted! Det er en enestående præstation, at det lykkedes geniale matematikere og andre folk med specielle evner at bryde maskinen. Måske var det frygten eller nødvendigheden af at løse Enigma, som drev de allierede fremad og fik dem til at lykkes med deres forehavende, som antydet af Simon Singh i hans bog The Code Book (oversat til dansk: Kodebogen). I afsnit 14 vil vi se nærmere på vort besøg i Bletchley Park. Lad os imidlertid starte med et kort historisk rids om kryptografi - læren om kodesprog.

 

2. Kort om situationen i kryptografi før Enigma

Et af de simpleste kryptosystemer er det såkaldte monoalfabetiske substitutionschiffer, hvori hvert bogstav i klarteksten (den originale tekst) udskiftes med et andet bogstav fra det samme alfabet og derved tilsyneladende gør teksten ulæselig. Man erkendte imidlertid tidligt i historien, at det var et svagt kryptosystem, fordi statistik kan anvendes til dekryptering: Afhængigt af sproget, vil nogle bogstaver forekomme med meget større frekvens end andre bogstaver. På dansk forekommer bogstavet "e" for eksempel meget oftere end et "k", hvis der vel at mærke er tale om en "gennemsnitlig" dansk tekst. Det betyder, at det bogstav, som forekommer oftest i en given kryptotekst, med stor sandsynlighed svarer til et "e" i klarteksten. På lignende vis kan man anvende statistik på de øvrige bogstaver og endda analysere frekvensen af bigrammer og trigrammer - dvs. kombinationer af to bogstaver, henholdsvis tre bogstaver, som står lige efter hinanden. Derved kan man som regel ligeledes finde substitutionerne for de øvrige bogstaver, vel at mærke hvis kryptoteksten har en vis længde: Jo længere en tekst er, jo større er sandsynligheden for, at frekvenserne af de de enkelte bogstaver i den tilsvarende klartekst ligger tæt på frekvenserne af bogstaver i en "gennemsnitlig" dansk tekst.

For at kompensere for svagheden i det monolfabetiske chiffer, introducerede man det såkaldte polyalfabetiske substitutions chiffer. Det første polyalfabetiske substitutionschiffer synes at kunne henføres til Leon Battista Alberti omkring 1467, ifølge Wikipedia, men det bedst kendte eksempel er sandsynligvis det såkaldte Vigenère chiffer. I et polyalfabetisk chiffer bliver mere end et alfabet anvendt, hvorved man gør det sværere at knække koden ved anvendelse af statistik. Anvendelsen af flere alfabeter har nemlig en tendens til at udjævne forekomsterne af de enkelte bogstaver i kryptoteksten, hvorved sporet til oprindelsesbogstavet i klarteksten sløres. Alligevel lykkedes det kodebryderne at anvise en metode til at dekryptere kryptoteksten i de tilfælde, hvor antallet af anvendte alfabeter ikke er for stor. Kasiski og Friedman anvendte igen statistik, men på en meget snedig måde. Det er imidlertid velkendt, at hvis man anvender et nyt alfabet for hvert eneste bogstav, der krypteres i klarteksten, så er koden ubrydelig - vel at mærke, hvis der ikke er noget system i den måde, hvorpå alfabeterne anvendes! Problemet med et sådant system er imidlertid, at det er højst upraktisk. Sådanne systemer er undertiden blevet anvendt i historien, men kun i nogle få tilfælde, fordi det kræver en stor kodebog, indeholdende information om hvert eneste alfabet, der anvendes. Det tager også lang tid at dekryptere. Under krige, hvor der sendes tusindvis af meddelelser hver dag, hver meddelse måske indeholdende 300 bogstaver, er det ikke anvendeligt. Derfor ledte man efter 1. verdenskrig efter metoder, hvorpå man kunne mekanisere krypteringen. En af løsningerne var en elektro-mekanisk maskine med navnet Enigma, designet af den tysk elektroingeniør Arthur Scherbius og patenteret i 1918. Oprindeligt var maskinen ikke tiltænkt anvendelse i forbindelse med krigsførsel, men derimod til at sikre information og transaktioner i forretningsverdenen, fx i banker. Men krigen nærmede sig, og det tyske militær tog maskinen til sig, dog først efter at have gjort den mere sikker gennem nogle ændringer i maskinen (introduktion af et plugboard - se senere). Vejen var banet for anvendelsen af en helt ny teknologi under krig ...

 

3. Enigmas virkemåde

I dette afsnit skal vi studere Enigmas virkemåde og kun undtagelsesvist omtale maskinens historie, idet vi vil udskyde det til senere afsnit. Billedet nedenfor viser en Enigma maskine fra Bletchley Park. Øverst ses tre hjul eller rotorer igennem det sorte dæksel, der skjuler maskinens interiør. Umiddelbart under hjulene ses lampebordet (Eng: lampboard) og under det tastaturet. Foran ses det lodretstående plugboard. Vi vil bevare den engelske betegnelse her. Det kaldes undertiden også for steckerboard. I plugboardet er visse bogstaver forbundet med ledninger.

Et nærbillede af plugbordet:


Det der foregår i maskinen under krypteringsprocessen kan bedst beskrives ved hjælp af diagrammet Enigma kredsløb nedenfor.

  1. Bogstavet A indtastes på tastaturet. På samme tid rykker hjulet (rotoren) N et trin fremad. Dette sikrer, at der benyttes et nyt alfabet for hver ny indtastning.
  2. Strømsignalet sendes til bogstavet A i plugboardet. Fordi der ikke er placeret noget stik (plug) i dette bogstav, fortsætter signalet til A i indgangshjulet (Entry Wheel). Der sker intet i dette hjul, det forbinder blot til de rigtige hjul (rotorer).
  3. Passage af et signal igennem det indviklede ledningsnet inden i hvert hjul N, M og L, svarer til, at der er sket en permutation af bogstaverne. Det samme kan siges om reflektoren R.
  4. Strømsignalet fortsætter baglæns igennem de tre hjul L, M and N, hvilket resulterer i en permutation af bogstaverne i hvert trin - de inverse permutationer af de originale permutationer!
  5. Signalet fortsætter tilbage til plugboardet til bogstavet F. Et stik (plug), der forbinder bogstavet F med bogstavet D, dirigerer signalet tilbage til bogstavet D, og det er det bogstav, som lyser op på lampboardet. I den totale proces er bogstavet A blevet permuteret med bogstavet D.

 

Ring indstillinger

Lad os kigge nærmere på de tre hjul (eller rotorer). Hvert hjul har en bevægelig ring, som kan drejes i forhold til hjulets indre ledningsnetværk. Ringen kan gøres fast med en pind i 26 mulige positioner - en for hver af de 26 numre på ringen. I det følgende vil vi faktisk referere til bogstaver i stedet for tal: a skal svare til 01, b til 02, c til 03, etc.

 

Hakket

Ud for et ganske bestemt bogstav på ringen er der placeret et hak (Eng.: notch). Husk, at hver gang brugeren foretager en indtastning på tastaturet, vil det højre hjul N bevæge sig et skrift fremad. Når en pal på dette hjul møder hakket på det næste hjul, som er det midterste hjul M, så vil også dette hjul bevæge sig et trin fremad. På samme måde vil det venstre hjul L bevæge sig et trin fremad, når det midterste hjul når hakket i hjul L. Der er imidlertid også en lidt special opførsel, som går under betegnelsen double stepping, som vil blive beskrevet senere.


Tilstedeværelsen af hakkene i hjulene betyder, at der skal indtastes en masse bogstaver, før det samme alfabet bliver gentaget - enhver ny kombination af positioner af de tre hjul vil give anledning til et nyt alfabet. Dermed er Enigma faktisk en realisering af et polyalfabetisk kryptosystem, som nævnt i forrige afsnit. Systemet har endvidere en meget lang nøglelængde: I praksis er der ikke nogen meddelelser, som er så lange, at et alfabet bliver gentaget. Det er da nærliggende at tro, at chifferet er ubrydeligt. Det er imidlertid ikke rigtigt, for de anvendte alfabeter er ikke fuldstændig vilkårlige. Maskinen arbejder på en systematisk måde, og det krævede en matematiker at gennemskue, hvordan denne svaghed kunne udnyttes. Vi vil se på denne kendsgerning i et senere afsnit.

En stor tak til Bob Lord for rettigheden til at bringe dette foto, som også kan findes på Wikipedia. Se Bobs interessante hjemmeside under punktet links.

 

Rotor rækkefølger

Tyskerne benyttede et antal hjul med forskellige ledningsnetværk. Indtil kort før 2. verdenskrig var der kun tre forskellige hjul i brug. Hver af disse kunne anbringes i enhver ønskelig rækkefølge, hvilket udgør 3! = 6 mulige rotor-rækkefølger. Senere tilføjede tyskerne flere hjul for at øge sikkerheden. Det skal endvidere kraftigt pointeres, at der var forskel på de Enigma maskiner, som blev brugt i hæren/luftvåbenet (Wehrmacht/Luftwaffe) og de Enigma maskiner, som blev anvendt i flåden (Kriegsmarine). Flådens Enigma maskiner var generelt de mest vanskelige at bryde, og på et tidspunkt blev der endda indført et fjerde hjul, som dog var fast placeret. Vi vil ikke gå for meget ind på dette emne her. Den tekniske side af sagen kan findes på Tony Sales hjemmeside.

 

Rotor indstillinger

Enhver af de tre rotorer har 26 forskellige positioner, svarende til hvilket bogstav i alfabetet, som står synligt øverst på hver af de tre hjul. På tysk kaldet Grundstellung.

 

Double stepping

Enigma maskinen har en særlig egenskab kaldet double stepping. Dette refererer til, at den midterste rotor kan bevæge sig fremad to gange efter hinanden under visse forudsætninger: Situationen er illustreret nedenfor: Antag, at den venstre, midterste og højre rotor har et hak ved følgende bogstaver: q, v og e - hvilket faktisk er tilfældet for de tre historiske Enigma rotorer, I, III og II. Antag desuden, at rotorernes indstillinger på et tidspunkt er s, u og d. Når der trykkes på et bogstav på tastaturet, vil den højre rotor bevæge sig et trin fremad fra d til e. Eftersom hakket i det højre hjul er nået (bogstavet e), vil det midterste hjul bevæge sig et trin fremad fra u til v næste gang der trykkes på en tast. Dermed vil vi have rotor indstillingerne s, v and f. Det betyder, at det midterste hjul vil være nået til hakket i position v. Det vil nu være nærliggende at antage, at den højre rotor vil være nødsaget til at foretage en hel runde, før den ville kunne aktivere den midterste rotor igen. Imidlertid sker der det, at den midterste rotor, som er i hak-positionen, allerede tager et trin fremad ved næste tastetryk! Deraf betegnelsen "Doublestepping". Dermed vil det næste tastetryk betyde, at det højre hjul bevæger sig fra f til g, det midterste hjul fra v to w og den venstre rotor fra s til t.

 

Plugboard indstillinger

I de tidlige versioner af Enigma, hvor maskinen kun blev anvendt til kommercielle formål, var der ikke noget plugboard. Da det tyske militær tog kodningsmaskinen til sig, var det en prioritet at gøre den mere sikker. Derfor tilføjede tyskerne et plugboard, hvorved antallet af mulige indstillinger blev forøget betydeligt. I plugboardet bliver par af bogstaver ombyttet ved at forbinde bogstaverne med ledninger. Eftersom der er 26 bogstaver, kan der anvendes op til 13 ledninger. Kort før krigen blev der anvendt 6 ledninger. Det højeste antal mulige kombinationer opnås i øvrigt, når der anvendes 11 ledninger!

 

Reciprok egenskab

Det er en vigtig egenskab ved Enigma, at den er reciprok, hvormed menes, at hvis man indtaster den krypterede tekst på Enigma med de eksakt samme indstillinger, som blev anvendt under krypteringen, så kommer man tilbage til klarteksten! Egenskaben var essientiel for tyskerne, fordi det betød, at den var nem at benytte ude i felten. En upraktisk og tidskonsummerende procedure under dekryption ville i praksis diskvalifisere systemet!

 

Danmarks tekniske Universitet (DTU), har erhvervet en rigtig Enigma maskine. Jeg retter en stor tak til folkene på DTU, herunder Lars Knudsen, for at give mig lov til at fotografere maskinen. DTU tilbyder i øvrigt skole- og gymnasieelever at besøge DTU for at opleve den historiske kodemaskine. Kig under afsnittet Links for et link til deres hjemmeside. Billederne af maskinen kan findes ved at klikke på følgende knap:

 

4. Marian Rejewski og polakkerne

Det faktum at Polen ligger imellem store lande som Tyskland og Rusland har betydet, at Polen altid har haft en stærk fokus på den nationale sikkerhed. Erfaringer fra mange krige har bidraget hertil. Derfor dannede Polen - efter landet igen blev et selvstændigt land efter 1. verdenskrig - et nyt chifferbureau, The Biuro Szyfrów, for at samle efterretninger. Omkring 1926 begyndte de at opsnappe Enigma meddelelser. I begyndelsen havde polakkerne ikke held med at dechifrere Enigma-meddelelserne, men de blev begunstiget af simpelt held, idet en tysk forræder Hans-Thilo Schmidt overhændede følsomt materiale vedrørende Enigma maskinen til fremmede magter. I november 1931 mødtes Schmidt med en hemmelig agent fra Frankrig med kodenavnet Rex på et hotel i Belgien, og han tillod agenten at fotografere to dokumenter: "Gebrauchanweisung für Chiffriermaschine Enigma" og "Schlüsselanleitung für die Chiffriermaschine Enigma". Disse dokumenter indeholdt ikke oplysninger om de indre ledningsnet i Enigma-rotorerne, men disse ledningsnet kunne udledes fra informationen, og man ville være i stand til at bygge en nøjagtig kopi af Enigma maskinen. Dette betød selvfølgelig et vigtigt skridt hen imod at knække Enigma koderne, men det bør pointeres, at det på ingen måde var tilstrækkeligt. Tyskerne forudså, at en af deres maskiner før eller siden ville falde i fjendens hænder. Enigmas sikkerhed ligger således overvejende i de mange muligheder for indstillinger, som maskinen har. Sagt på en anden måde: En krypteret meddelelse kan ikke dekrypteres uden viden om nøglerne (indstillingerne)! Eftersom den franske efterretningsenhed Bureau de Chiffre ikke var velkørende på dette tidspunkt - franskmændene anså også Enigma for ubrydelig - udleverede de materialet til polakkerne. Schmidts dokumenter forklarede også i detaljer layoutet i kodebøgerne, som blev anvendt af tyskerne.

Folk med et detaljeret kendskab til lingvistik var hidtil blevet fortrukket som kodebrydere. Med indførelsen af Enigma ændrede tingene sig og det lagde grunden for en ny æra i kryptologien. Polakkerne antog, at folk med naturvidenskabelig viden og evner ville have en større chance for at bryde koderne - husk på, at Enigma var et mekanisk chiffer! Polakkerne var begejstrede for den information, som de fik fra franskmændene, og de var klar til at møde udfordringen. Bureauet organiserede et kursus i kryptografi og inviterede et antal matematikere fra universitetet i Poznan. Tre studenter ud af tyve viste et talent for at bryde koder, med Marian Rejewski (1905-1980) som den mest geniale af dem. Han var en 23 årig statistiker. De to øvrige var Jerzy Rózycki og Henryk Zygalski. Rejewski arbejdede alene på Enigma med al sin kraft og energi, og efterhånden opdagede han en svaghed i den måde, hvorpå Enigma blev anvendt af tyskerne. Vi vil kigge på dette spørgsmål i de næste par afsnit.

Marian Rejewski i 1943 eller 1944

 

5. Krypteringsprocedurer

Lad os i det følgende se på, hvorledes tyskerne krypterede deres meddelelser under 2. Verdenskrig ved brug af Enigma. I den forbindelse er det vigtigt at fremhæve, at der ikke blot var én procedure men adskillige! Faktisk benyttede den tyske flåde (Kriegsmarine) fra 1942 og frem en speciel kompliceret udgave af Enigma, som gjorde brug af 4 hjul, hvorimod den tyske hær (Wehrmacht) og det tyske luftvåben (Luftwaffe) benyttede den 3-hjuls-version af Enigma, som er beskrevet ovenfor. Indenfor de enkelte enheder og netværk i den tyske hær benyttede man forskellige nøgler og procedurer. For eksempel benyttede den tyske overkommando (Oberkommando) ikke de samme daglige nøgler (se nedenfor) som den øvrige del af den tyske hær. På denne måde kunne tyskerne forhindre at en type information, der var stilet til en bestemt del af det tyske militær, kunne læses af de øvrige enheder. Denne fremgangsmåde gjorde det også mere kompliceret for de allierede at bryde koderne. En anden ting, som gjorde det mere besværligt for de allierede at forstå den tyske Enigma trafik er det faktum, at koder og procedurer blev ændret i løbet af krigen. Tyskerne ændrede kort sagt procedurer, hvis de følte at deres system havde en svaghed!

For at de tyske modtagere kunne blive i stand til at dekryptere meddelelser, som fjenden ikke burde være i stand til, behøvede de tyske modtagere ekstra information. Dette blev givet i form af en kodebog eller en månedlig liste med daglige koder, som blev udleveret til de enkelte dele af den tyske hær under store sikkerhedsforanstaltninger: Den tyske hær (Wehrmacht), den tyske flåde (Kriegsmarine), det tyske luftvåben (Luftwaffe), den tyske overkommando (Oberkommando), etc. Bemærk dog, at de enkelte enheder eller netværk ikke modtog de samme lister! Som omtalt indeholdt den de månedlige lister de såkaldte daglige nøgler, men også de såkaldte Kenngruppen for at identificere den anvendte nøgle - så de enkelte tyske enheder kunne vide om meddelelesen var stilet til dem. Nedenfor er en illustration af en mulig månedlig liste for hærstaben (Armee-Stab). Den indeholder fiktive værdier, men formen er fuldstændig realistisk. Læsere, som ønsker at se autentiske månedlige lister fra 2. Verdenskrig, henvises til en af de følgende to side: Keylist eller  http://cryptocellar.org/Enigma/). Klik på illustrationen nedenfor for en forstørret version.

Lad os antage, at du er en operatør i den tyske hær og ønsker at sende meddelelsen Wir werden Morgen um 3 Uhr Nachmittags die Truppen angreifen til en anden enhed i den tyske hær den 29. juni 1943. Så ville du kigge i den månedlige liste for at finde den daglige nøgle for denne dato:     


Daglige nøgle fra den månedlige liste

Rotor arrangement (Walzenlage): I, III, II
(Rotor I bruges som L, rotor III som M og rotor II som N).

Ring indstillinger (Ringstellung): B R E (eller i tal 02 18 05).
(Ringen på hjul L (her I) indstilles til B, ringen på hjul M (her III) indstilles til R og ringen på hjul N (her II) indstilles til E).

Plugboard indstillinger (Steckerverbindungen): AR DQ LP MF ES KT YZ HW CO UG
(Ledninger forbinder A og R, D og Q, etc.) 
 

(NB! Betydningen af bogstaverne L, M og N fremgår af afsnit 3 overfor).

Den daglige nøgle giver dig en del af den information, der er nødvendig for at indstille din Enigma maskine. Det antages her, at du benytter den reflektor (Umkehrwalze), der kaldes B. Før du kan benytte Enigma, behøver du rotor indstillingerne (Grundstellung). Her er du tilladt helt på egen hånd at vælge tre bogstaver, lad os sige ISL. Det betyder, at når du begynder krypteringen så har hjul L (her I) bogstavet I på toppen, hjul M (her III) har bogstavet S på toppen og hjul N (her II) har bogstavet L på toppen). I det følgende vil vi betegne dette med indikator indstillingen (samme som Grundstellung).

Nu behøver du noget at kryptere! Her vælger du igen på egen hånd en kombination af tre bogstaver, lad os sige ETG. De tager rollen af den såkaldte meddelelsesnøgle, dvs. nogle rotor indstillinger, som vi vil benytte senere. Forløbigt skal du dog blot glemme, hvad det betyder, og indtaste de tre bogstaver på din Enigma maskine med de indstillinger, som er givet ved den daglige nøgle samt indikator indstillingen beskrevet ovenfor. Du vil få AWB som de krypterede bogstaver.

Du er nu klar til at udføre din primære opgave, som er at kryptere klarteksten. Først indstiller du de tre rotorer i overensstemmelse med bogstaverne i meddelelsesnøglen: E, T og G og bevare de øvrige indstillinger fra den daglige nøgle. Derefter taster du simpelthen bogstaverne W, I, R, W, E, R, D, E, N, M, etc., hvorved du får de krypterede bogstaver J, M, B, O, P, etc. De krypterede bogstaver anbringes i grupper af 5 bogstaver for at forbedre læsbarheden. Du opfordres til at teste denne kryptering ved at bruge Dirk Rijmenants glimrende Enigma simulator omtalt i afsnit 15. Der er et link til Dirks side, hvorfra du kan downloade og bruge programmet frit.      

Medelelsesnøgle

Rotor indstillinger: E T G
(Når man påbegynder den første kryptering, har rotor L (her I) bogstavet E på toppen, rotor M (her III) har bogstavet T på toppen og rotor N (her II) har bogstavet G på toppen).

Det er nødvendigt, at den operatør, der krypterer, fortæller den operatør, der modtager den krypterede meddelelse, hvilken slags nøgle, der er blevet benyttet. Det ville ikke virke, hvis en operatør fra flåden forsøgte at læse en meddelelse fra hæren. Forskellige typer af Enigma trafik skal holdes adskilt. Hvilken slags nøgle der er tale om oplyses via blot én af de trigrammer, der placeret under navnet Kenngruppen ud for den aktuelle dag i den månedlige liste. For den 29. juni, ser man fire trigrammer HAX, OQA, KPA og YYT. Du kan vælge hvilken en af dem , du måtte ønske. Lad os sige, at du vælger KPA. For at få det til at se bedre ud - og måske for at forvirre fjenden - anbringer du to bogstaver foran KPA, lad os sige UK, hvorved man får en gruppe på fem bogstaver: UKKPA. Denne gruppe anbringes til slut foran alle de øvrige grupper, der udgør den krypterede tekst. Det bør nævnes, at en permutation af bogstaverne i trigrammet er tilladt, så PAK vil for eksempel blive accepteret. Nedenfor er en visualisering af den beskrevne krypteringsprocedure.


 

Den modtagnende operatør behøver også oplysning om indikator indstillingen ISL samt resultatet af den krypterede meddelelsesnøgle, AWB. Denne information blev givet i en ukrypteret indledning. Der blev også givet anden information i denne indledning, såsom kaldesignaler fra de involerede radiostationer (den sendende station og den modtagende), tidspunkt og dato for meddelelsen, antallet af bogstaver i teksten (inklusiv den første gruppe), en indikation af om meddelelsen var en del af en længere meddelelse. Vores meddelelse kunne for eksempel se således ud:


 

Selvom det ikke er relevant i dette eksempel, så skal det nævnes, at hvis klarteksten overskred 250 bogstaver, så skulle meddelelsen inddeles i dele af højst 250 bogstaver, og man benyttede da forskellige indikator indstillinger og meddelelsesnøgler i krypteringen af hver del. Denne forholdsregel tog tyskerne for at forhindre det problem, der på engelsk går under betegnelsen depth, hvilket hentyder til, at hvis fjenden har tilstrækkelig med materiale, krypteret med de samme indstillinger, så kan fjenden muligvis blive i stand til at bryde koden. Lad os opsummere proceduren, som den krypterende operatør følger:  

  1. Enigma indstilles i overensstemmelse med den daglige nøgle i den månedlige liste: Hvilke rotorer skal bruges i hvilken rækkefølge, ring indstillingerne og plugboard indstillingerne.
  2. Rotor indstillingerne til krypteringen af meddelelsesnøglen - den såkaldte indikator indstilling - vælges frit af operatøren.
  3. Operatøren vælger en meddelelsesnøgle på tre bogstaver.
  4. Meddelelsesnøglen krypteres ved at benytte den daglige nøgle samt indikator indstillingen omtalt under punkt 2.
  5. Klarteksten krypteres ved brug af den daglige nøgle og meddelelsesnøglen.
  6. Den krypterede klartekst anbringes i grupper af 5 bogstaver.
  7. Foran 5-bogstav-grupperne omtalt under punkt 6 anbringes en speciel 5-bogstav-gruppe, der på tysk betegnes Buchstabenkenngruppe. Den indeholder to tilfældige bogstaver foruden de tre bogstaver fra Kenngruppen. Sidstnævnte fortæller om hvilken type nøgle, der er anvendt ved krypteringen.
  8. Indikator indstillingen samt den krypterede meddelelsesnøgle anbringes i en ukrypteret "indledning" sammen med anden vigtig information.  

Bemærk at tyskerne normalt fjernede alle mellemrum i meddelelsen. Viden om ordenes længde kunne bruges til at bryde koden. Man benyttede også specielle bogstavkombinationer til forkortelser, tal, etc. Vi vil ikke se nærmere på det her. Det skal tilføjes, at ovenstående procedure er typisk for meddelelser i den tyske hær efter Maj 1940, men meget forskellig fra den procedure, der blev anvendt i den tyske flåde. Flådens koder var langt mere avancerede. Ikke mere om dette her. 


Dekrypteringsproceduren

Det kan være, at du tænker på, hvordan den modtagende tyske operatør ville behandle en meddelelse, krypteret via ovenstående forskrifter. For det første ville operatøren genkende de tre bogstaver i den første 5-bogstav-gruppe, KPA, og konstatere, at meddelelsen var henvendt til ham. Dermed ville han vide hvilken månedlig liste, der skulle anvendes til dekrypteringen. Endelig ville han gøre følgende for at dekryptere meddelelsen:

  1. Indstille hans egen Enigma i overensstemmelse med den daglige nøgle fra den månedlige liste.
  2. Kigge efter indikator indstillingen (ISL) i den ukrypterede indledning, og sætte rotorerne i overensstemmelse hermed.
  3. Kigge efter den krypterede meddelelsesnøgle (AWB) i den ukrypterede indledning, og derefter indtaste bogstaverne A, W og B på en Enigma med de indstillinger, som er beskrevet under punkt 1 og 2. Resultatet er den ukrypterede meddelelsesnøgle ETG.
  4. Ændre rotor indstillingerne til ETG, givet ved meddelelsesnøglen.
  5. Indtaste de krypterede tekstblokke efter den første 5-bogstav-gruppe. Resultatet er klarteksten!  


Krypteringsproceduren anvendt før maj 1940

Nu da du har hørt om den procedure, der blev anvendt af den tyske hær efter maj 1940, kan det være at du gerne vil vide, hvad tyskerne gjorde før dette tidspunkt, da Marian Rejewski gjorde sine store opdagelser. Der var nogle få, men vigtige forskelle. For det første blev meddelelsesnøglen krypteret dobbelt!

Grunden til at tyskerne krypterede meddelelsesnøglen dobbelt var simpel grundighed. Det gjorde den modtagende operatør en smule mere sikker på at han eller hende modtog den korrekte meddelelsesnøgle. Ved at dekryptere AWBUUK fik operatøren ETGETG i stedet for bare at dekryptere AWB og få ETG. Ved at se ETG figurere dobbelt var operatøren mere sikker på at der ikke var sket fejl i modtagelsen eller tolkningen af radiosignalerne - undertiden blev signalerne også forvanskede under transmissionen. Denne vane med at kryptere meddelelsesnøglen dobbelt var imidlertid en alvorlig brist i tyskernes system, og denne kendsgerning blev til fulde udstillet af Marian Rejewski. Hans viden om at 1. og 4. bogstav i den krypterede meddelelsesnøgle (her A og U) er kryptering af den samme bogstav (her E), satte ham i stand til at opstille matematiske relationer. Det samme kan siges om 2. og 5. bogstav og 3. og 6. bogstav i den krypterede meddelelsesnøgle. Alt dette vil blive beskrevet i større detalje i afsnit 6 og især i artiklen i afsnit 7.

En anden forskel er at der kun blev anvendt 6 plugs i plugboardet før krigen, i stdet for de 10 plugs, som blev anvendt senere. Ved at benytte 10 plugs i stedet for 6, blev antallet af kombinationer forøget med en faktor, der er større end 1000.

Tyskerne ændrede også procedure hvad angår indikator indstillingen. Før 15. maj 1938 inkluderede tyskerne indikator indstillingen i den daglige nøgle i den månedlige liste. Den samme indikator indstilling blev altså benyttet i alle meddelelser sendt en given dag. I ovenstående procedure blev indikator indstillingen valgt af operatøren selv for enhver ny meddelelse!

Som du kan fornemme, ændrede procedurerne sig over tid og Enigma blev blev sværere og sværere at bryde, og det var uundgåeligt at det på et tidspunkt blev et for stort arbejde for de smarte fyre i Polen. Men før det skete, blev polakkernes brillante opdagelser og erfaringer overleveret til den britiske efterretningstjeneste. Historien fortsætter i Bletchley Park, hvor resourcerne og setup'et var langt større!

Lad os afslutte dette afsnit med et foto fra en rigtig situation fra 2. verdenskrig, hvor det vises, hvordan en Enigma maskine blev anvendt midt ude i felten.

Den tyske general Heinz Guderian i et kommandopost køretøj. En Enigma maskine ses i brug! Copyright. The Art Archive.

 

6. Matematikken anvendt af polakkerne

I dette afsnit vil vi omtale den matematik, som blev anvendt af polakkerne for at bryde Enigma. Det vil kun blive en skitse, fordi det er mit ønske, at interesserede studenter skal kunne udforske matematikken selv ved at udfylde detaljer. Den interesserede læser kan konsultere det næste afsnit.

Hvad Enigma i realiteten gør er, at den substituerer et bogstav med et andet. Der bør det ikke komme som nogen overraskelse for læseren, at den centrale matematiske disciplin, der er er involveret, er teorien om permutationer. Enigma har 26 bogstaver fra a til z, så vi taler om permutationer af 26 bogstaver. En måde at beskrive en permutation på er at anvende to-række-notation, i hvilken hvert bogstav i den nederste række er billedet (substitutionen) af bogstavet, som står umiddelbart ovenover. Som et eksempel kan vi se på rotoren I, i hvilken det indre ledningsmetværk giver anledning til permutationen:

Hermed menes, at a afbildes i e, b afbildes i k, osv. En anden måde at betragte den samme permutation på, er ved at fokusere på billeder af billeder. Eftersom mængden er endelig, er det altid sandt, at man på et tidspunkt vil komme tilbage til startbogstavet. En sekvens genereret på denne måde betegnes som en cykel. Cyklen, der starter med et a ser således ud:

For at finde resten af cyklerne i permutationen, fortsæt da med det første bogstav i alfabetet, som ikke optræder i ovenstående sekvens: det er her b, og vi får følgende cykel:

Fortsæt på samme måde indtil alle bogstaver er repræsenteret, og du ender med permutationen på cykel-form:

Kombinationerne af cykellængderne (her 10 - 4 - 4 - 3 - 2 - 2 - 1) refereres til som permutationens cykelstruktur. Senere vil vi få brug for permutationen P, som "flytter" alle bogstaver et trin:

a afbildes i b, b afbildes i c, etc. Et andet aspekt i teorien om permutationer er, at der kan defineres en komposition mellem to permutationer A og B. Sammensætningen AB er defineret som den permutation, som resulterer efter først at anvende A, dernæst B. Lad os kigge på et tilfældigt eksempel:

Det fungerer på følgende måde: A afbilder a i d, B afbilder d i w, altså afbilder AB a i w. Nu fortsætter vi med w: A afbilder w i o, B afbilder o i l, så AB afbilder w i l, etc. Det bør pointeres, at jeg har valgt at følge Chris Christensen og Marian Rejewski i deres valg i at lade sammensætninger foregå fra venstre mod højre, dvs. når man skriver AB, som er det underforstået, at A anvendes før B. Der synes ikke at være nogen klar konvention i matematik til fordel for det ene eller det andet valg. Nogle foretrækker at lade sammensætninger af permutationer foregå fra højre med venstre, som i tilfældet med funktioner og matricer.

Et andet vigtigt begreb er en invers permutation defineret som den permutation, som "annullerer" virkningen af den oprindelige permutation, dvs. hvis man anvender en permutation og derefter den inverse (eller i omvendt rækkefølge), så får man identitetspermutationen I, som "ikke gør noget", dvs. alle elementer afbildes i sig selv eller sagt på cykelform: Permutaionen består udelukkende af 1-cykler, et for hvert bogstav. Det er ret oplagt, at cykelstrukturen for den inverse permutation kan fås ved simpelthen at ændre rækkefølgen af bogstaverne i hver cykel, for eksempel:

Antag at A er permutationen, som svarer til det interne trådnet i et Enigma hjul med bestemte ring og rotor indstillinger. Betragt den følgende sammensætning, indeholdende permutationen nævnt ovenfor:  

Vi vil påstå uden bevise, at denne permutation faktisk svarer til den permutation der fremkommer, når hjulet bliver drejet én tak fremad før signalet går igennem det indre trådnet! I matematik kaldes et udtryk på formen TAT-1  for to givne permutationer T og A for det den konjugerede permutation af A med T.

En matematisk sætning - som ikke er specielt svær at bevise - siger, at konjugering bevarer permutationers cykelstruktur. Dette faktum er en af de centrale egenskaber i Marian Rejewskis succes med at bryde Enigma. Det vil føre for vidt at forklare dette i detaljer her. Du kan læse om det i Chris Christensens artikel i næste afsnit.! Det skal dog kort fremhæves, at introduktionen af et plugboard for at forøge antallet af kombinationer, som Enigmas sikkerhed afhang så stærkt af, ikke ændrede på cykelstrukturen af permutationen!!! Sidstnævnte egenskab betød, at Rejewski dramatisk kunne reducere arbejdet med at finde den daglige nøgle ved at udarbejde en tabel over mulige cykelstrukturer. Det var stadig et meget stort arbejde, og Rejewski udarbejdede et antal geniale tricks. Men hans matematiske analyse betød, at det lå indefor rækkevidde at bryde Enigma.

Lad os slutte dette afsnit af med at se på, hvad der sker, når et signal går igennem hele Enigma kredsløbet, udfra de permutationer, som foregår i de enkelte trin i processen. Først går signalet til plugboardet, representeret ved permutationen, fortsættende indtil de tre rotorer, hvis trådnet giver anledning til permutationerne N, M og L. Husk, at hver gang der trykkes på tastaturet, drejer det højre hjul et trin fremadIfølge ovenstående kommentarer giver det anledning til en konjugering med P. Efter passage af den første rotor, bliver signalet sendt igennem de næste par hjul, hvilket svarer til permutationer med M og L. Bemærk, at vi her antager, at disse hjul ikke bliver drejet fremad ved at en pal møder et hak. Marian Rejewski gjorde de samme antagelser. Naturligvise vil disse hjul fra tid til anden dreje fremad, og i disse tilfælde duer nedenstående udtryk for den samlede permutation ikke! I den videre proces bliver signalet sendt igennem reflektoren, som forårsager en permutation, som udelukkende består af 2-cykler - en såkaldt transposition. Signalet fortsætter tilbage igennem de tre rotorer, men nu i modsat retning, så de inverse permutationer skal anvendes. Processen svarende til hele turen igennem Enigma ved første tastetryk kan beskrives ved følgende sammensætning af permutationer:

I det følgende vil vi se på permutationerne, der fremkommer ved at anvende en rigtig Enigma maskine med rotor II som det højre hjul, rotor III som det midterste hjul og rotor I som det venstre hjul. Bemærk, at tyskerne gjorde brug af forskellige hjul, introduceret på forskellige tidspunkter før og under krigen. De tre hjul I, II og III blev introduceret i 1930 og kan ses beskrevet i Wikipedia:

http://en.wikipedia.org/wiki/Enigma_rotor_details

I Wikipedia er permutationerne angivet i 2-række notation med den øverste (indlysende) række fjernet. På cykelform er permutationerne, der repræsenterer de første tre rotorer, givet ved:
 

Rotor

Dato

Permutation med default indstillinger (ring: A-01 and rotor: A)

I

1930

II

1930

III

1930


Som reflektor benytter vi den brede reflektor B. I dette eksempel antager vi, at alle hjul har default indstillinger, dvs. ring indstillingerne er A-01 og rotor indstillingrene er A.



Bemærk, at permutationerne S og dens inverse ikke opskrevet på komplet form af hensyn til pladsmangel. Hvert bogstav, som ikke er repræsenteret, er underforstået at afbilde i sig selv. Så resten af bogstaverne ville have givet 1-cykler, hvis de var opskrevet! Hvis du går igennem ovenstående række af permutationer, vil du opdage, at a afbildes i e:

Afprøv Enigma simulatoren nævnt i afsnit 15, og du vil få det samme resultat - med default indstillingerne! Hvis du benytter andre indstillinger for hjulene, for eksempel hvis det midterste hjul har start rotor indstillingen F (5 skridt fra bogstavet A), så vil M blive ændret. Hvis R3 angiver permutationen for det midterste hjul i med default indstillinger, så er M givet ved følgende konjugering:

På samme måde svarer en ændring af ring indstillingen fra A-01 til B-02 til det samme som at ændre rotor indstillingen et skridt baglæns fra a til z - bortset fra en ting: Hakket flyttes i forhold til det indre trådnet, når ringen flyttes, det sker ikke når rotor indstillingen ændres! Lad os afslutte den matematiske diskussion her.

 

7. En artikel fra Mathematics Magazine

Det er mig en glæde at kunne bringe en meget fin artikel om den matematik, som polakkerne benyttede for at knække Enigma kort før anden verdenskrig brød ud.  

Chris Christensen. Polish Mathematicians Finding Patterns in Enigma Messages. Mathematics Magazine, Vol 80, No. 4, October 2007, page 247-273 (The Mathematical Association of America).

Jeg retter en stor tak til forfatteren Chris Christensen og Ivers Peterson fra MAA for at have givet mig tilladelse til at bringe artiklen på min hjemmeside. Chris er en ekspert i kryptologi efter at have studeret det i mange år. Han har også henledt min opmærksomhed på andre vigtige aspekter af historien om Enigma. The Mathematical Association of America (MAA) publicerer flere interessante tidsskrifter, hvoraf Mathematics Magazine er et af dem. Dette tidsskrift minder i niveau meget om det nordiske tidsskrift Nordisk Matematisk Tidsskrift (NORMAT). Abonnementer på MAA's tidsskrifter kan foretages online på www.maa.org .

Det er mit håb, at gymnasieelever eller andre studerende vil være i stand til at forstå vigtige dele af materialet. For at gøre det mere tilgængeligt, har jeg skrevet en slags vejledning, hvori jeg definerer begrebet en permutation. Ellers er dokumentet bygget op over en rlkke opgaver, så eleverne mere eller mindre vil blive tvunget til at levere en selvstændig præstation. Det skulle forhindre, at emnet bliver ødelagt som en mulighed for et skriftlig projekt, eventuelt en studieretningsopgave i gymnasiet.  

 

Polish Mathematicians Finding Patterns in Enigma Messages (861 kB)

Matematikken bag løsningen af Enigma (En vejledning) (164 kB)

 

 

8. Bletchley Park æraen    

Kort før krigen startede ændrede tyskerne vaner. I december 1938 blev der tilføjet to nye rotorer, og tyskerne begyndte også at benytte 10 ledninger i plugboardet i stedet for de hidtidige 6. Det betød en masse ekstra kombinationer. På det tidspunkt oversteg det arbejde, der skulle til for at bryde koden, polakkernes resurser hos Biuro Szyfrów. Et større setup var nødvendigt. Den 30. juni 1939 telegraferede Langer, chefen for det polske chifferbureau, til den franske og britiske eftreretningstjeneste og inviterede dem til Warszawa til en samtale om Enigma. Mødet fandt sted den 24. juli. Repræsentanterne fra den franske og britiske efterretningstjeneste var begge meget forbavsede og imponerede over at se, at polakkerne havde været i stand til at bryde Enigma - især franskmændene, da de tidligere havde overgivet materiale om Enigma til polakkerne, og de anså Enigma for ubrydelig. Englænderne og franskmændene blev begge tilbudt en replika og et blueprint af de polske "bomber". To Enigma maskiner blev i al hemmelighed smuglet til Paris og over kanalen til London.

Traditionelt havde det britiske kontor for kryptografi, kaldet Room 40, været befolket af personer med kendskab til lingvistik, klassiske humanister, krydsordsfanatikere og lignende. Inspireret af polakkerne ansatte man nu også matematikere og naturvidenskabsfolk. De blev imidlertid ikke sendt til Room 40, men til Bletchley Park, The Government Code and Cipher School (GC&CS), beliggende ved Milton Keynes, omkring 90 km nordvest for London. Her var der masser af plads til at ekspandere. Direktøren for GC & CS var kommandør Alastair Denniston. Hurtigt byggede man adskillige træbarakker (Huts) til at huse nogle af de mange kodebrydere, som snart ville samles i Bletchley Park. I sin bog "The Hut 6 Story" forklarer Gordon Welchman, hvordan han rekrutterede venner og tidligere studenter. En af dem var Stuart Milner Barry fra Trinity College. Han havde som en brilliant skakspiller spillet for England. Welchman selv havde været forelæser i matematik ved Cambridge University siden 1929 med speciale i algebraisk topologi. I Bletchley Park (BP) ledte man efter "professortyper". Der blev rekrutteret mange unge folk fra de nærliggende Universiteter i Cambridge og Oxford, men også London banker sendte deres mest kvikke unge mænd til at håndtere udvekslingen af information med modtagestationer (Intercept Stations). Også folk fra flåden og hæren var nødvendige til at tage sig a efterretninger. Omkring 3/4 af personerne, som arbejdede i Bletchley Park, var faktisk kvinder. En gruppe af kvindelige deltagere var de såkaldte Wrens (eller WRNS, som står for Women's Royal Naval Service). De inkluderede kokke, kontorfolk, trådløse telegrafister og elektrikere. Mange kvinder blev anvendt til at betjene de såkaldte "Bombs".

Den store helt i Bletchley Park var Alan Turing (1912-1954). Han var et matematisk geni fra Kings College, Cambridge. Han var ikke en gang 24 år gammel, før han publicerede en banebrydende artikel "On Computable Numbers with an Application to the Entscheidungsproblem", et højst abstrakt emne indenfor området Matematisk Logik. Hans artikel gav anledning til begrebet en Turing maskine, der nu er et centralt objekt i Theory of Computation. Det kan diskuteres, om han i virkeligheden beskæftigede sig med en computer, før en computer rent faktisk blev opfundet. Derfor kunne Alan Turing betegnes som den rette mand på det rette sted på det rette tidspunkt, da krigen startede og England behøvede hans indsigt! Men en teoretiker er ikke altid det samme som en praktiker. Turing viste dog sine praktiske evner også ved at designe en maskine, som skulle prøve en masse muligheder af på kort tid. Denne maskine blev kaldt en Bombe, et navn, som blev adopteret fra polakkerne, som kaldt en helt anden maskine, der skulle hjælpe til med at bryde Enigma, for en Bomba. Gordon Welchman leverede dog et vigtigt bidrag til designet af Alan Turings Bombe, idet han opfandt det såkaldte Diagonal Board.
 

Alan Turing på valg til fællesskabet The Royal Society i 1951. Copyright. The Art Archive.

Før vi fortsætter med at fortælle om Bletchley Park, lad os kigge på, hvordan tyskernes meddelelser blev håndteret der.


 

9. Dekrypteringsproceduren i Bletchley Park

Proceduren med at dekryptere tyske meddelelser kan bedst beskrives via en figur. Først en forklaring:

  1. En tysk signal-officer sender en Enigma krypteret meddelelse ved hjælp af morse signaler.
  2. Et par tyske soldater på slagmarken modtager meddelelsen og dekrypterer det ved at indtaste meddelelsen på Enigma maskinen, som omtalt i afsnit 5.
  3. De tyske radiosignaler bliver opsnappet af hemmelige modtage-stationer (Y-stations) og sendt med motorcykelkurer (eller senere teleprinter) til Bletchley Park (Station X).
  4. Eftersom det er en meddelelse fra hæren (Wehrmacht), bliver meddelelsen sendt til Hut 6, hvor det hårde tekniske arbejde med at dekryptere bliver udført. Man leder efter cribs (kryptoanalyse).
  5. Fra en crib kan en menu opstilles og en test kan gennemføres på en Bombe i Hut 11. Resultaterne returneres til Hut 6.
  6. Efter dagsnøglen er knækket og meddelelsen dekrypteret til klartekst, sendes materialet til Hut 3, hvor efterretningsfolk oversætter det, vurderer betydningen af meddelelsen og bringer det på en form, som er passende for myndighederne.

 

Illustration: Jakob Kramer

10. Cribs

Som forklaret ovenfor tog folkene i Hut 6 sig af de hardcore kryptoanalytiske problemer, der kom fra den tyske hær og luftvåben (Wehrmacht og Luftwaffe). Meddelelserne fra den tyske flåde (Kriegsmarine) var blevet krypteret på en mere kompliceret udgave af Enigma, og kryptoanalysen herfor blev foretaget i Hut 8. Normalt havde de i Hut 6 og Hut 8 en mistanke om, at et bestemt ord eller et brudstykke af en sætning forekom i den tyske klartekst. Et godt eksempel er det tyske ord Wettervorhersage, som betyder vejrudsigt. Vejrudsigten spiller ofte en stor rolle i forberedelserne til kamphandlinger. Derfor er det ikke overraskende, at dette tyske ord ofte dukkede op i klarteksten. Et sådant stykke klartekst, kaldet en crib, var ofte det første vitale skridt i forsøget på at knække den daglige nøgle. Medarbejderne i Bletchley Park var generelt meget opmærksomme på stereotyper, som blev anvendt af tyskerne, eller endda af tyske enkeltpersoner. En tysk officer fra Afrika korpset var for eksempel en stor hjælp, idet han konstant inkluderede "Intet af rapportere" -  på tysk selvfølgelig. I perioder, hvor det var svært at finde cribs, kunne man endda finde på at "plante" dem: Man fik Royal Air Force til at udsende en falsk meddelelse om at britterne fx havde placeret miner i et bestemt område. Med stor sandsynlighed ville tyskerne kort efter sende en meddelelse med navnet på området. Denne fremgangsmåde med at plante meddelelser, blev af englænderne betegnet som gardening.    

Det næste trin i processen var at sammenligne crib'en med den krypterede tekst: Hvilken del af den krypterede tekst er krypteringen af crib'en? I den forbindelse udnyttede man en svaghed ved Enigma: Et bogstav kan aldrig blive krypteret til bogstavet selv! I eksemplet nedenfor er ordet "wettervorhersage" placeret lige under den krypterede tekst. Antagelsen om at "pegmuoxyqwtjabx" kan være en kryptering af ordet "wettervorhersage" må afvises, fordi det ville betyde, at bogstavet e bliver krypteret ind i sig selv, hvilket er umuligt. Herefter kunne man skubbe crib'en et bogstav mod højre. Denne gang er der ikke nogen umiddelbar modstrid. Det er muligt, at vi har en parring mellem crib'en og den krypterede tekst, men det er ikke sikkert. Mange forskellige idéer og metoder blev anvendt for at finde et match. Det var velkendt, at tyskerne skrev tal ud i ord, og Alan Turing undersøgte dekrypterede tekster og fandt at 90% af alle meddelelser indeholder sekvensen eins for tallet 1. Han konstruerede derefter et "Eins catalog". Jeg vil ikke gå nærmere ind på dette her.

 




Når man er kommet frem til en mulig match imellem en klartekst og en krypteret tekst, er det tid til at afgøre, om den kan være korrekt, og hvis dette er tilfældet: at bestemme den daglige nøgle, for at kunne dekryptere hele meddelelsen. Ethvert match mellem en klartekst og en krypteret tekst giver anledning til en såkaldt menu. Vi vil undersøge dette koncept i næste afsnit. Før vi gør det, vil jeg vise et par fotos fra Bletchley Park, der blev taget under krigen. En stor tak til Bletchley Park Trust for at give mig lov til at vise disse fotos på min ikke-kommercielle hjemmeside.  
 

Piger fra Hut 6. Copyright Bletchley Park Trust.


Hut 6 "machine room". Copyright Bletchley Park Trust.

 

11. Turings Bombe

En af Alan Turings virkeligt store bidrag var, at han  - med sin logiske og matematiske tankegang - var i stand til at opfinde en elektro-makanisk maskine til at checke en masse mulige Enigma indstillinger lynhurtigt! Maskinens navn (Bombe) var sandsynligvis inspireret af polakkerne, som kaldte deres maskine, som i øvrigt var helt anderledes, bomba kryptologiczna. Sagt på en abstrakt måde, så er idéen i Alan Turings Bombe at starte med en række antagelser, foretage deduktioner, og bevise og det giver en modstrid! Antagelsen er, at nogle bestemte rotorer er valgt og placeret korrekt og at rotor indstillingerne er korrekte. Derefter forsøger man at løse problemet med plugboard indstillingerne (stecker indstillingerne). Hvis der ingen løsninger er, må antagelserne være forkerte. Således beskriver Gordon Welchman idéen i Bomben på side 239 i hans bog "Hut 6 Story". Nogle bøger forsøger at forklare, hvordan præcist Bomben virker, men de er ofte svære at forstå, fordi de udelader vigtige detaljer. Jeg har imidlertid fundet en meget fin redegørelse om Bombens virkemåde hos www.ellsbury.com. En del af det følgende er inspireret af hans fremgangsmåde.

For det første indså Alan Turing, at for at kunne bruge Enigma maskinerne i et kredsløb, var det nødvendigt at gøre den "dobbelt-endede". I stedet for at signalet skulle gå igennem plugboardet, rotorerne og reflektoren og tilbage igen, så designede Turing en "dobbelt-endet Enigma". Effekten er den samme!

Figur 1

Vi vil betegne den midterste del af den dobbelt-endede Enigma som double scrambleren. I det følgende vil double scrambleren blive afbildet simplificeret som:

Figur 2

I det følgende skal vi tage menuen i betragtning. Den indeholder et match mellem klartekst crib'en og en krypteret tekst, som beskrevet i forrige afsnit. For at simplificere situationen antager jeg i det følgende, at vi har at gøre med et alfabet bestående af 8 bogstaver. Jeg vil antage, at vi har følgende match mellem klartekst og krypteret tekst:

Figur 3

For det første krypteres b til et d med rotor indstillinger, som vi vil referere til med mærket 1. Dernæst krypteres e til f med de næste rotor indstillinger, der refereres til med mærket 2, etc. Situationen kan visuelt illustreres på følgende måde:

Figur 4

Det bør fremhæves, at der er strenge betingelser for, at denne kryptering er mulig. Det kan bedst visualiseres ved at indsætte double scramblerne med plugboards i diagrammet. Double scramblerne markeres med 1, 2, etc., svarende til den rækkefølge, hvori de benyttes. Rotor indstillingerne for double scrambler 2 er dem der fremkommer, når man foretager et tastetryk efter rotorerne har været i en position, beskrevet ved double scrambler 1, etc.  

Figur 5

Det er vigtigt at lægge mærke til udgangspunktet: Vi antager, at tre rotorer er udvalgt og anbragt i en bestemt rækkefølge (se rotor rækkefølger), og vi antager, at en bestemt reflektor bliver benyttet (der er flere), og vi antager endvidere, at rotor indstillingerne i double scrambler 1 har nogle bestemte værdier, fx e, c og e for henholdsvis den venstre, midterste og højre rotor. Dermed er indstillingrene for double scramblerne entydigt bestemt. Med disse meget specielle forudsætninger kan vi stille os selv spørgsmålet: Findes der nogle plugboard indstillinger, som betyder, at klarteksten "beachbag" krypteres til "dffeeacf"? Den mest direkte måde at besvare dette spørgsmål på ville være simpelhen at afprøve samtlige plugboard indstillinger. Eftersom der er mere end 100 milliarder forskellige kombinationer, afhængig af hvor mange plugs der bliver benyttet i plugboardet,  ville det tage mange år at gennemføre ... En anden og mere effektiv metode var ønsket. Det var her, at Alan Turing opdagede et mønster. Lad os antage, at der i ovenstående diagram er en ledning, der i plugboardet forbinder f og c. Man siger også, at f er steckeret til c (plugboardet blev også kaldt et steckerboard). Vi kan da anbringe bogstavet c i de tre positioner, som forbinder til bogstavet f i ovenstående menu.  

Figur 6

Vi er nu i stand til at udføre deduktioner. Eftersom vi kender indstillingerne af double scramblerne 2 og 3, kan vi finde krypteringerne af bogstavet c i hver af disse double scramblere. De viser sig at være d henholdsvis e. Bogstavet kan anbringes i diagrammet. Vi indser, at vore antagelser betyder, at a er steckeret til e og e er steckeret til d. Allerede her opdager vi en modstrid, fordi et bogstav ikke kan være steckeret til mere end ét bogstav (e kan ikke være steckeret til både a og d)! En modstrid kunne også være opdaget ved at foretage andre deduktioner, end dem, der er vist i diagrammet. Da e er steckered til d, kan vi fortsætte ned ad den skrå vej til bogstavet c og endelig videre skråt op til venstre mod bogstavet a. En modstrid kan ofte opdages ved at foretage en tur i et loop i menuen, men den kan også tilvejebringes på anden vis. Som indikeret på figuren ser vi, at vi a is steckeret til både e og h! Så selv om crib'en er korrekt, konkluderer vi, at plugboard antagelsen om at f er steckeret til c er forkert!

Den direkte metode ville være at forsøge en ny plugboard indstilling. Alan Turing indså imidlertid, at i ovenstående deduktioner benyttes plugboard indstillingerne slet ikke, kun double scramblerne og den måde de indbyrdes er forbundet på. Det betyder, at vi kan "sammentrække" ovenstående menu-diagram på følgende måde:

Figur 7

Bogstavet c er antaget steckeret til f, så bogstavet er placeret i f-cirklen. I overensstemmelse med vore deduktioner ovenfor, kan vi skrive bogstavet d i e-cirklen, bogstavet g i c-cirklen og bogstaverne e og h i a-cirklen. Det sidste er en modstrid ... Alan Turing opdagede, at man ved at "skyde" frem og tilbage i menu-diagrammet kan opnå alle mulige falske stecker kombinationer. Det indebærer, at det normalt er muligt at udelukke alle plugboard indstillinger i et gennemløb! Så hvis vi for eksempel antager, at f er steckeret til c og man senere - efter en tur rundt i kredsløbet - opdager, at f også er steckeret til b, d, e, f, g og h, kan vi udelukke alle muligheder samtidigt! Her viser det sig, at der kun mangler et bogstav, nemlig a. Vi vil komme tilbage til det senere.

Alan Turing indså naturligvis, at alle disse deduktioner ikke kunne foretages i hånden. Det var arbejdet alt for stort til! Derfor gik han i gang med at designe en maskine, The Turing Bombe, til at foretage alle disse tests automatisk. Resultatet var en stor maskine, udfærdiget af The British Tabulating Machine Company i Letchworth, ledet af den meget kompetente Harold "Doc" Keen. Kodenavnet for maskinen var CANTAB. Bomben var omkring 2,1 meter lang, 2,0 meter høj og 0,6 meter dyb. Den bestod af en masse tråde og kabler og tromler. Jeg vil ikke komme nærmere ind på de tekniske detaljer, kun demonstrere idéen i maskinen ved at vise et tråd-diagram. Jeg håber, at læseren vil værdsætte den geniale konstruktion, den på den tid begrænsede teknologi taget i betragtning. Med nutidens computere ville det have været et simpelt arbejde at lave et program, som kunne foretage de nødvendige tests. Under 2. verdenskrig var mulighederne begrænset til at benytte elektriske kredsløb og radiorør!

Graham Ellsbury har på sin hjemmeside på www.ellsbury.com/bombe3.htm fundet en meget god måde at illustrere og forklare Bombens virkning på via et specielt tråd-diagram. En tak skal rettes til Ellsbury for retten til at benytte det samme diagram, som er copyrighted og strengt forbudt at benytte uden skriftlig tilladelse fra copyright-holderen. Du kan finde mere materiale på Ellsburys forside på www.ellsbury.com. Jeg har udregnet og udarbejdet mit eget eksempel til illustration i Ellsburys tråd-diagram.

Figur 8

    

Turings Bombe havde ét kabel for hvert bogstav i alfabetet, dvs. 26 kabler, og hvert kabel bestod af 26 tråde. Min reducerede model har kun 8 kabler, et for hvert bogstav i mit "minialfabet". Observer den geniale konstruktion kaldet the diagonal board, afbildet øverst på figuren. Det udgøres af en række ledninger, som forbinder tråd b i kabel A med tråd a i kabel B, tråd c i kabel A med tråd a i kabel C, etc. Denne del Bomben var en meget smart og meget vigtig tilføjelse til Alan Turings originale design af Bomben. Konstruktionen skyldes en anden matematiker, Gordon Welchman, på et tidspunkt leder af Hut 6. Abstrakt set repræsenterer diagonal boardet det indlysende faktum, at hvis a er steckeret til b, så er b også steckeret til a! Dette forklarer, hvorfor Bomben undertiden går under navnet Turing-Welchman Bomben.

Lad mig forklare situatione i ovenstående figur. Double scrambler 1, som har rotor indstillinger e, c og e, er placeret imellem kabel B og kabel D i overenstemmelse med menuen. Bemærk, at rotor indstillingerne i double scrambler 2 er e, c og f, afspejlende det faktum, at den højre rotor er nået et trin fremad! Lignende forklaringer kan gives for de øvrige double scramblere. Nu er vi klar til at "skyde" igennem kredsløbet. Den første handling er at placere et test register på et af kablerne. Normalt vælger man kablet, som repræsenterer det bogstav, der forekommer flest gange i menuen - både klarteksten og den krypterede tekst indbefattet. I dette tilfælde er det bogstavet f. Lad os sige, at vi sender et signal igennem c tråden i f kablet, svarende til, at vi antager at c er steckeret til f. Strømmen løber lynhurtigt igennem double scramblerne og trådene. I dette tilfælde kommer næsten alle trådene "i live" - nemlig de tråde, som er vist med sort! Kun de tråde, som er vist med gult, nås ikke. Konklussionen er, at f IKKE er steckeret til c, for det ville nemlig implicere, at så skulle f også være steckeret til alle trådene b, d, e, f, g og h, hvilket er umuligt. Grunden til at a ikke nås er, at f faktisk ER steckeret til a! Og crib'en er korrekt. Lad os se, hvad der sker, hvis vi skyder igennem a tråden i f kablet i stedet for gennem  c tråden i f-kablet:

Figur 9

   

Vi noterer os, hvad der sker, når de rigtige indstillinger er foretaget og matchet mellem klartekst og den krypterede tekst er korrekt (dvs. crib'en er korrekt): Så bringes højst en tråd til live i hvert kabel! Nu vil den opmærksomme læser måske spørge: Hvad nu, hvis match'et mellem crib'en og den krypterede tekst er forkert? I langt de fleste tilfælde vil alle trådene i test-register kablet blive bragt til live! Disse facts taler for at man lader en stop-strategi afhænge af antallet af tråde, der bringes til live i testregistret. Hvis crib'en er korrekt og rotorindstillingerne også er korrekte, så vil der - som ovenstående eksempler antyder - enten være netop én tråd eller netop 25 tråde i live i testregistret, alt efter om den stecker-antagelse man foretager er korrekt eller falsk. I begge tilfælde ønsker man at stoppe Bomben, da man er på rette spor. Der er dog et men, for man kan komme ud for at strømmen ikke kan nå ud i alle 25 tråde i sidstnævnte tilfælde, måske fordi menuen ikke er tilstrækkelig lang eller der ikke er nok loops. Derfor er man nødt til at lave en stop-strategi der siger, at hvis der er færre end 26 tråde i live, så skal Bomben stoppe. Efter et stop må man så undersøge nærmere om der er tale om et ægte stop eller et falsk stop. De nærmere procedurer i den forbindelse er ret komplicerede og den interesserede læser henvises til følgende dokument fra Bletchley Park, forfattet af Frank Carter:

The Turing Bombe

Her forklares det blandt andet, hvordan det "forventede" antal af falske stop kraftigt afhænger af antallet af bogstaver i crib'en samt hvor mange loops der er i menuen. Alan Turing foretog omfattende statistiske beregninger for at kunne sige noget mere præcist om denne afhængighed.

Ovenstående test blev altså foretaget for en bestemt kombination af rotor indstillinger. Hvis indstillingerne ikke fremprovokerede et stop - i hvilket tilfælde rotor indstillingerne eller selve crib'en kunne afvises - ville Bomben automatisk dreje højre rotor i double scramblerne et trin fremad og teste for de nye indstillinger. På den måde kunne man teste 120 rotor indstillinger på et minut! Den opmærksomme læser vil måske spørge, hvorfor der ikke testes for forskellige ring indstillinger. Hvis det havde været nødvendigt, ville tidsforbruget med at teste en menu være vokset med en faktor 676, svarende til antallet af forskellige ring indstillinger. Det ville have gjort Bomberne ubrugelige i praksis. Heldigvis svarer en ændring af ring indstillingen til en ændring af rotor indstillingen, bortset fra at hakket ændrer position i forhold til hjulets indre ledningsnetværk. Denne påstand blev diskuteret i slutningen af afsnit 6. Jeg vil ikke gå ind i at forklare om den komplikation der opstår, hvis det midterste hjul tikker en frem under krypteringen.

Så er der rotorerne og deres rækkefølge. I megen af trafikken fra den tyske hær, blev der udvalgt 3 hjul ud af 5. Dette valg kan foretages på 10 måder og de tre hjul kan sættes i rækkefølge på 6 forskellige måder. Det giver i alt 60 forskellige kombinationer af rotorer med rækkefølge. Hver af disse muligheder måtte testes på ovenstående facon. Ofte blev mange Bomber anvendt samtidig.

 

Sammenfatning og konklusion

Lad os slutte dette afsnit af med et resume af idéen bag Turing Bomben og drage nogle konklusioner, i håbet om at det vil kunne hjælpe med forståelsen af ovenstående. I det følgende vil der blive refereret til figurerne ovenfor gennem deres nummerering.

  1. Et mulig klartekst-krypteret tekst match (crib) leveres af de smarte folk i Hut 6 og Hut 8. For at simplificere situationen antager vi, at det er beachbag - dffeeacf, hvor vi benytter et alfabet med 8 bogstaver. Det store spørgsmål er: Er det en korrekt parring af klartekst og krypteret tekst, og i så fald: hvad er Enigma indstillingerne under krypteringen?
  2. Den umiddelbare idé ville sandsynligvis være at vælge en Enigma indstilling, og efterfølgende indtaste klarteksten beachbag for at se om man fik den krypterede tekst diffeeacf. Hvis dette ikke skete, kunne den næste indstilling afprøves. I tilfældet illustreret på figuren nedenfor, blev den korrekte indstilling fundet i det tredje forsøg. Dette var virkelig heldigt, fordi det totale antal af mulige Enigma indstillinger er enormt. Og det kunne endda tænkes, at den krypterede tekst i crib'en var en umulig kryptering af dffeeacf. I dette tilfælde ville det være nødvendigt at teste alle mulige Enigma indstillinger før man ville finde ud af, at det ikke virkede.



    Det er åbenlyst, at den simple teknik beskrevet ovenfor, ikke er anvendelig i praksis. To problemer mangler at blive løst: a) det er nødvendigt at testene automatiseres og b) Antallet af tests skal nedbringes betragteligt, hvis det er muligt.
  3. Menuen illustreret i figur 4 og 5 specificerer situationen fuldstændig, bortset fra krypteringens "retning". Det sidste betyder dog intet, da Enigma er reciprok! Det store spørgsmål er: Er menuen konsistent for en eller anden Enigma indstilling?
  4. En strategi kunne være at starte med en bestemt indstilling af rotorerne og så afprøve enhver mulig indstilling af plugboardet for at se, om det ville gøre menuen konsistent. Hvis ikke, kunne man afprøve den næste indstilling af rotorerne. Dette ville imidlertid kræve et enormt arbejde. For hver indstilling af hjulene (der er 17576 af dem), ville det være nødvendigt at teste op til 150738274937250 forskellige plugboard indstillinger (når det antages, at der anvendes 10 plugs).
  5. Der er en masse bindinger i menuen. Det er en vigtig observation, at alle "stecker-værdier" rundt om et "samlingspunkt" i menuen nødvendigvis må være de samme. Begrundelsen er simpel: Ethvert bogstav i alfabetet er steckeret til et entydig bogstav overalt i menuen, fordi plugboard indstillingen ikke ændrer sig under hele krypteringsprocessen.


     
  6. Vores fokus har hidtil været på at afgøre om klarteksten og den krypterede tekst (de sorte bogstaver på figurerne) i menuen kan gøre menuen konsistent. Observationen under punkt 5 giver os idéen til at ændre dette fokus. I stedet vil vi spørge: Findes der en stecker-parring, der gør menuen konsistent? Ved at foretage dette skifte, fjernes plugboardets kompleksitet fra problemet. Dette er illustreret i det "kollapsede" diagram i figur 7 ovenfor. "Forbindelserne" i diagrammet er nu doublescramblere - Enigma kredsløb med plugboardene fjernet!
  7. I figur 7 foretog vi endvidere en antagelse: c er steckeret til f, hvormed menes at der er en plug, der forbinder c og f i plugboardet. Vi ved ikke om denne parring er korrekt eller om menuen overhovedet kan tilfredsstilles, men vi vil forsøge det. Vi vil lade c løbe igennem de forskellige doublescramblere, og såfremt to forskellige stecker-værdier mødes fra to forskellige retninger i et samlingspunkt i diagrammet, så har vi opdaget en modstrid. Det er hensigten med diagrammet: Det er et logisk kredsløb, hvori man kan foretage slutninger og eventuelt komme frem til en modstrid. Der er imidlertid ingen garanti for at en modstrid opstår, selv om antagelsen er falsk. Menuen skal være tilstrækkelig kompleks og loops er ønskelige!   



  8. Lad os nu kigge på implementeringen af den matematiske idé ovenfor! For det første er det ikke muligt at bare at tage inputtet fra en Enigma maskine og sende signalet ind i den næste Enigma maskine. Figuren af Enigma kredsløbet i afsnit 3 viser, at kredsløbet afhænger af den tast, der trykkes på! Alan Turing løste problemet ved at designe en dobbeltendet Enigma, og med plugboardet fjernet, fik han doublescramblere. På denne måde kunne strømmen let løbe fra outputtet af en doublescrambler til inputtet på den næste.
  9. Det næste problem i implementeringen var at bygge et kredsløb. Det skulle være universelt, forstået på den måde at man ikke skulle opbygge et nyt kredsløb, hver gang man betragtede et nyt kredsløb. Dette blev løst ved at anvende 26 kabler med hver 26 tråde. Tallet 26 opstår, fordi der er 26 bogstaver i alfabetet. I mit eksempel anvendes 8 kabler med hver 8 tråde, da jeg benytter et alfabet med 8 bogstaver. Enhver slags menu kunne nu nemt anbringes i denne universelle konstruktion. Hvis man ønskede at teste for om for eksempel c er steckeret til f, så sendte man simpelthen en strøm igennem tråden c i kablet f.
  10. Diagonalboardet var en realisering af det selvindlysende faktum, at hvis for eksempel a er steckeret til g, så er også g steckeret til a. Det blev implementeret ved at forbinde tråden a i kablet g med tråden g i kablet a. Disse ekstra forbindelser i Bomben gjorde det meget nemmere at finde modstride i kredsløbet. I praksis betøde det, at man ikke bhøvede så lange menuer, hvilket gjorde arbejdet en del nemmere for kryptoanalytikerne i Hut 6 og Hut 8.
  11. Bemærk at når en test gennemføres som omtalt under punkt 7, så har man antaget nogle bestemte rotorindstillinger! Men også en plugboard antagelse er foretaget. Under punkt 7 er det at c er steckeret til f. Man kunne da tro, at det var nødvendigt at checke om et andet bogstav er steckeret til f. Heldigvis behøver man stort set aldrig at gøre det, for i praksis sker det næsten altid, at man kan udelukke alle på en gang!
  12. For at følge op på bemærkningerne under punkt 11, så kan man sige at et enkelt gennemløb normalt var tildtrækkeligt til at udelukke en kombination af rotor indstillinger. Der er 17575 andre rotorindstillinger. Det var et stort tal, men ikke for stort. En test tog 1/2 sekund, og næste test blev foretaget ved at tromlerne (drums), der udgjorde doublescramblerne, tikkede fremad. Tromlerne er afbildet på fotoet af kopien af Turing Bomben nedenfor.
  13. Det var ikke nødvendigt at teste for forskellige ringindstillinger, som kommeneret ovenfor.
  14. Testene ovenfor blev gennemført med nogle bestemte hjul anbragt i en bestemt rækkefølge. For at afprøve alle muligheder må man gentage proceduren for enhver kombination af rotorer anbragt i en vilkårlig rækkefølge. Sædvanligvis blev flere Bomber derfor anvendt samtidig.

 

I Bletchley Park har de bygget en replica af Turings Bombe.


 

12. Excel VBA simulatorer af Enigma og Turings Bombe

Til illustration af, hvordan Enigma og Turing Bomben virker, har jeg lavet to Microsoft Excel VBA filer. Med dem kan man simulere det, der sker i de to apparater. Der er en brugsanvisning på en side i Excel filen.

Enigma simulator i Excel VBA (90 kB)


Turing Bombe simulator i Excel VBA (243 kB)

NB! For at kunne bruge filerne er det nødvendigt, at du accepterer makroerne, når du åbner dem! Jeg forventer bestemt ikke, at der opstår nogen problemer med filerne, men er dog nødt til at tage de sædvanlige forbehold: Jeg tager på ingen måde ansvaret for problemer eller tab i forbindelse med brug af filerne, hverken direkte eller indirekte. Filerne virker kun til Windows maskiner, da det underliggende programmeringssprog er Microsoft Visual Basic.

Nedenfor har jeg testet min Turing Bombe Excel simulator til på situationen i Mini Enigmaen beskrevet i forrige afsnit. Menuen er "beachbag" (klartekst) og "dffeeacf" (krypteret tekst). For rotorerne L, M og N er hakkene (notches) fhc, ring indstillingerne er aaa, rotor indstillingerne ved start er ecd. Test-kablet er f og test-tråden er er c. Permutationerne svarende til de tre rotorer og reflektoren er hcfagbed (R1), acgbhedf (R2), efchgbda (R3) og egdcahbf (reflektoren) i to-række-notation, uden den øverste række! Hvis du trykker på knappen Et trin, vil du løbende se, hvilke tråde, der bliver bragt til live for hver passage af double scramblerne ... eller, hvis du trykker på knappen Komplet, vil du resultatet efter hele processen er kørt til enden. Vi ser, at resultaterne er i overensstemmelse med tråddiagrammerne i forrige afsnit.

 



Endelig har jeg undersøgt et realistisk eksempel nedenfor. Her benytter jeg Turing Bombe Excel simulatoren med den historiske rotor I som venstre rotor, rotoren III som den midterste rotor og rotor II som den højre rotor. Som reflektor bruger jeg den brede B reflektor. Ring indstillinger er aaa, rotor indstillingerne sfd. Menuen er "wettervorhersage" (klartekst) og "aaqoanlnycxkvspx" (krypteret tekst). Test-registeret sættes på kabel a. Hvis man sender et signal ind på tråden p i test-kablet, så får man nedenstående resultat, som indikerer, at det er den forkerte tråd, men at menuen er korrekt. Knappen Komplet er der blevet trykket på.

 

 

13. Statistisk angreb - Banburismus

Kodebryderne på Bletchley Park benyttede et væld af forskellige tricks for at bryde Enigma. I tilfældet med flådens Enigmamaskine (Kriegsmarine Enigma) M3 med tre hjul introducerede Alan Turing statistiske metoder til at lette arbejdet med at bryde koden. I 1939 havde M3 varianten af Enigmamaskinen fået tilføjet tre ekstra hjul, så der nu skulle vælges 3 hjul ud af 8 mulige hjul. I hærens Enigmamaskine (Wehrmacht Enigma), som beskrevet i afsnit 5, skulle der kun vælges 3 ud af 5 hjul. Det betød, at flådens Enigmaskine umiddelbart blev sværere at bryde. Nu var der pludselig 8 × 7 × 6  = 336 mulige måder at vælge hjul inklusiv placering på. Det medførte, at der skulle prøves meget mere af på Bombe maskinerne, jf. afsnit 11. Der ville kunne gå adskillige dage, før koden var brudt! Her var det så, at Alan Turings statistiske metoder kom til sin ret, idet man ofte kunne indsnævre hvilke hjul, som kunne befinde sig på den højre og midterste plads. Undertiden kunne man reducere antal mulige hjulkombinationer inklusiv position helt ned til 20. I øvrigt havde tyskerne valgt en noget anden krypteringsprocedure for flåden, end den, de anvendte til hæren. Flådens procedure involverede både kodebøger med trigrammer og bigrammer. Vi skal ikke gå ind i detaljer her.

De statistiske metoder bygger på Bayes' formel. Overordnet bygger metodernes succes på, at de enkelte bogstaver i alfabetet (her det tyske) ikke forekommer med den samme frekvens. Statistiske angreb er set længere tilbage i historien. I et monoalfabetisk system, hvor hvert bogstav udskiftes med et andet (substitution), kan man med stor sandsynlighed antage, at det bogstav, der forekommer oftest, er krypteringen af et E, etc. Også et polyalfabetisk system såsom Vigenére chifferet kan angribes, nemlig ved at anvende den såkaldte Friedman test. Hvis bogstavfrekvenserne alle havde været ens, ville angrebene falde til jorden. Det samme er tilfældet med Alan Turings statistiske metoder. Forskellen er bare, at Alan Turing hiver endnu mere information ud af det tilstedeværende data eller evidens (den krypterede tekst), hvorved metoden bliver endnu stærkere. Dette er også nødvendigt, fordi Enigma krypteringen er mere kompleks end de øvrige. Som sagt anvendte Alan Turing indirekte Bayes´ formel. Ved hjælp af den kunne han tildele "scorer" til forskellige elementer i de krypterede tekster og lede efter en indstilling, som ville give anledning til den største score. Den pågældende indstilling ville da være den mest sandsynlige.

Proceduren, der involverede omtalte statistiske metoder, gav man navnet Banburismus. Det lidt pudsige navn skyldes at man i processen anvendte specielle papirark, der var produceret i den engelske by Banbury, beliggende knap 50 km fra Bletchley Park. En "score" angav man i enheden deciban eller halve deciban. Navnet er inspireret af decibel, kendt fra teorien om lydtryk, samt af byen Banbury. Ligesom tilfældet er for decibel, så er deciban også defineret via en logaritme. Fordelen herved er, at logaritmer "laver multiplikation om til addition". Derved behøvede man ikke at gange tal sammen manuelt, men kunne nøjes med at lægge tal sammen manuelt, når man skulle finde den samlede score.

Arbejdet med Banburismus foregik i Hut 8, hvor de bedste kodebrydere sad, herunder skakmesteren Hugh Alexander, I. J. Good, Joan Clarke m. fl. Den første dag, hvor det lykkedes Hut 8 at bryde Enigma-koden for en dag ved hjælp af Banburismus, var i november 1940. Den dag blev efterfølgende betegnet "Foss's Day", til ære for Hugh Foss som stod for gennembruddet. Fra begyndelsen af 1941 var man i stand til at bryde flådens Enigma maskine M3, og det gjorde man til ind i 1943, bortset fra en periode i 1942, hvor tyskerne ændrede ting, og man også manglede opsnappede kodebøger fra tyske skibe. Efterhånden kom tyskerne også med en Enigma M4 til flåden, hvilket gjorde arbejdet endnu sværere for BP. Banburismus kunne ikke hjælpe til med at bryde M4. Man skal dog huske, at man også på BP forbedrede sig løbende. Både metoderne blev udviklet og man modtog med tiden også flere Bombes, så man kunne udføre tests automatisk.

Til slut nogle få meget overordnede detaljer om, hvordan proceduren med Banburismus blev udført i praksis. Det vil føre for vidt at beskrive proceduren i detaljer. Målet var blandt de mange krypterede tyske meddelelser, der hver dag blev opsnappet, at finde par af meddelelser, som kunne sættes in depth, som de kaldte det på BP. At to meddelelser kan sættes "in depth" betyder, at de to meddelser indholder dele, som er krypteret med nøjagtigt de samme hjulindstillinger. Havde man to meddelser, som kunne sættes "in depth", gjaldt det om at anbringe de to krypterede tekster under hinanden på en måde, så bogstaver lodret under hinanden (fra et vist trin af) var krypteret med de samme enigmaindstillinger. Hertil havde man brug for at forskyde den ene krypterede tekst langs den anden, indtil man mente at have et korrekt overlap. Hver gang man forskød den ene tekst ét trin kunne man udregne hvor mange halve decibans, denne position gav i score. Den korrekte position var ofte den med størst score. For at få en høj score, skulle der være flere ens bogstaver under hinanden (repeats). Bigrammer og trigrammer, etc. talte ekstra højt. Den grundlæggende idé med at kigge på gentagelser er, at gentagelser statistisk set forekommer oftere, når de krypterede tekster er anbragt korrekt "in depth". Et eksempel ses på nedenstående figur, hvor et X står for en gentagelse (ens bogstav markeret med rødt) og et 0 for et forskelligt bogstav. Vi ser både et bigram og et hexagram. Når Teksten skulle tildeles en score blev konfigurationen af X'er og 0'er opfattet som inddelt i uafhængige blokke, indikeret med blå pile (tryk evt. for en større udgave).

På samme måde fandt man andre par af meddelser, som kunne sættes "in depth" den pågældende dag. Ved at anbringe resultaterne fra de enkelte meddelsespar sammen i "kæder" kunne man ofte udelukke, at der var anvendt bestemte hjul på højre plads. Også hjulet i midten kunne man ofte sige noget om. Denne proces reducerede ret kraftigt det arbejde, som efterfølgende skulle udføres på Bombe-maskinerne. Den interesserede læser kan læse mere herom i Wikipedia under "Banburismus".

Nedenfor er vist et brudstykke af en af de omtalte banbury-ark med fortrykte bogstaver. En krypteret meddelse blev "tastet ind" på et Banbury-ark ved fra venstre mod højre at trykke et hul oveni de enkelte bogstaver i meddelelsen. Man kunne efterfølgende lægge de to ark ovenpå hinanden og forskyde dem langs hinanden. Lys under arkene gjorde det nemt at afgøre, hvor der var repetitioner i den aktuelle position.   

TedColes, CC BY-SA 4.0, via Wikimedia Commons. Lettere redigeret.


Takket være brydningen af flådens Enigma var man i store perioder i stand til at dirigere allierede skibe væk fra klynger af tyske U-både, de såkaldte "ulvekobler", hvilket havde stor betydning i "kampen om Atlanten".

Da vi ikke kan gå dybere ind i matematikken og specielt den sandsynlighedsregning, der ligger til grund for Banburismus her, har jeg valgt at skrive en  anden side om Turings angreb på Vigenère chifferet. Idéen med at tildele scorer er den samme. Og Bayes' formel kommer i spil. Situationen med Vigenère chifferet er blot mere overskueligt at håndtere. Interesserede læsere kan trykke på knappen nedenfor.

 

 

14. Vort besøg i Bletchley Park

Lad so vende tilbage til vort besøg i Bletchley Park (BP). Efter at have gået i blot fem minutter fra Bletchley Railway Station, stod vi foran Bletchley Park National Codes Centre. Vi blev venligt modtaget af Graham Hoare, som viste os hen til Block B, hvor vi overværede et foredrag på ca. 1 time om Enigma maskinens historie og Bletchley Parks rolle under krigen. Han kom også ind på en smule matematik, mens han demonstrerede en rigtig Enigma maskine. Efter foredraget tog vi på en guidet gåtur i den smukke park.
 

En gåtur i parken

Efter at have indtaget et måltid i en kantine, som var indrettet i en af de gamle træhytter (huts), der husede kodebryderne under krigen, fortsatte vi vores tur i parken. En overgang passerede vi forbi det hus, hvor Alan Turing havde arbejdet. Han var kendt for at være lidt af en excentriker. I perioder, hvor han led af høfeber, ankom han til BP på cykel med en gasmaske på! Turing var i øvrigt en fremragende marathonløber. Hans bedste tid på 2 timer og 46 minutter og 3 sekunder var kun 11 minutter langsommere end den tid marathonløbet ved de Olympiske Lege i 1948 blev vundet på!  

Turing arbejdede her fra 1939 til 1940 indtil han blev forflyttet til Hut 8

 

En statue til ære for Alan Turing kunne ses i Block B.

Historien om, hvordan Alan Turing endte sit liv, er meget sørgeligt. På et tidspunkt i 1952, da han var ved at anmelde et tyveri, kom han på en eller anden måde til at afsløre, at han var homoseksuel. På den tid i England, blev homoseksualitet betragtet som en mental sygdom og genstand for kriminelle sanktioner. Turing blev sat over for valget mellem at komme i fængsel eller modtage hormonel behandling. Han accepterede det sidste. I et år modtog han indsprøjtninger med hormonet østrogen. Desuden blev han ikke længere anvendt som en konsulent af GCHQ (Government Communications Headquarters) angående kryptografiske spørgsmål - han blev anset for at være en sikkerhedsrisiko! I 1954 begik han selvmord midt i en depressionsperiode. Der hersker uenighed blandt historikere vedrørende spørgsmålet om Alan Turings selvmord skyldes hans behandling eller det er noget helt andet. Jeg vil ikke gå nærmere ind på dette her.

Alan Turing er bredt anerkandt, som en meget signifikant person under 2. verdenskrig, og for at være en af fædrene til den moderne computer. I dag gives prisen A. M. Turing Award årligt til en person, som leverer vigtige og varige bidrag af teknisk natur til udviklingen af computeren - "Nobel-prisen" for computerfolk! Selv om man med stor vægt kan hævde, at Alan Turing ikke modtog den anerkendelse, som han fortjente, mens han var i live, delvist på grund af den store hemmeligholdelse om hele operationen i Bletchley Park under og lang tid efter 2. verdenskrig, så modtog han dog i 1945 en OBE (Officer of the British Empire) pris for hans bidrag under krigen.

Den karakteristiske hovedbygning i Bletchley Park kan hævdes at være et arkitektonisk misfoster - et grimt mix af viktoriansk gotik, Tudor og hollandsk barok, men samtidig en bygning, som bringer minder om en fantastisk tid, hvor man gjorde en forskel under verdenskrigen ...

I hut 6 tog man sig af de krypterede meddeleser, der stammede fra den tyske hærs og luftvåbens Enigma maskiner. Det var her de hårde kryptoanalytikere arbejdede. Meddelserne var den tyske flådes Enigma blev dermod analyseret i Hut 8.

Hut 1 var den første hytte, der blev bygget.

På vores vej tilbage til Block B, passerede vi igennem en bygning, som huser en anden af de historiske maskiner, Colossus, som blev benyttet til at bryde koder. I dette tilfælde var det den tyske chiffer maskine Lorenz SZ 40/42, der oprindeligt blev konstrueret af Tommy Flowers tilbage i 1943. Det tog ham 11 måneder at færdiggøre maskinen, som kan hævdes at være den første programmerbare maskine nogensinde. Efter krigen blev alle disse maskiner skilt ad, ligesom Bomberne m.m., for at bevare hemmeligheden om, hvad der skete under krigen. Som bekendt blev hemmeligheden først røbet i 1974! I 1990'erne byggede en meget dedikeret mand, Tony Sale, en kopi af Colossus. Toby er en meget venlig mand og altid glad for at vise vise maskinen til enhver, der er interesseret! Han gav mig endda et radiorør fra den genopbyggede maskine. Den er vist på et foto nedenfor. Vores guidede tur sluttede i et museum om krigen, visende forskellige kryptokaskiner og genstande fra krigen sammen med plancher med fotos og forklaringer. Alt i alt meget spændende!

Tony Sale foran sin kopi af Colossus

 

Et radiorør fra kopien af Colossus

 

 

15. Den tyske ubåd U-995

Ved udmundingen af fjorden ind til den tyske by Kiel ligger Laboe Naval Memorial. Jeg havde den fornøjelse at besøge stedet i 2023. Udover et 85 meter højt tårn, hvori man mindes folk af alle nationaliteter, som døde til søs, ligger der i feriestedet Laboe også en berømt tysk ubåd U-995. Der er tale om en ubåd at typen VII C (Baureihe VIIc/41). Typen VII var den mest almindelige tyske ubådtype, og indtil 1944 blev der i alt bygget 663 ubåde af denne type. Med en længde på 67,23 m og en bredden på 6,20 er der tale om en mellemstørrelse ubåd. U-995 deltog i krigen, og er en af de få ubåde, som faktisk overlevede krigen og tiden umiddelbart efter. Ubåden blev bygget i 1943 på værftet Blohm & Foss i Hamborg og nåede at være i aktion i alt 9 gange. Den blev indsat som en del af en den tyske ubådsflåde i Trondheim, i det besatte Norge. Opererende fra norske havne, blev U-995 i 1944 sat ind overfor allierede konvojer. I den forbindelse sænkede den 2 handelsskibe, et sovjettisk eskorteskib, en sovjettisk minesøger og en sovjettisk motorbåd. Efter den tyske kapitulation overtog englænderne ubåden, og i 1948 blev den videregivet til Norge. Nordmændene gav ubåden et nyt navn og benyttede ubåden til at uddanne norske ubådsbesætninger. Da ubåden trådte ud af drift i 1962, blev ubåden tilbudt Bundesrepublik Deutschland som et tegn på forsoning - under den betingelse, at ubåden på en værdig måde blev stillet til rådighed for offentligheden som et teknisk museum. Efter lange forhandlinger erklærede det tyske Marineforbund sig klar til at anbringe ubåden på Laboe. Efter reparationer og ombygninger blev ubåden endeligt den 13. marts 1972 anbragt på sin nuværende plads.

Billederne nedenfor viser U-995 (klik for større foto).

 

Når man beser ubåden kan man fornemme den trange plads, besætningen har måttet leve under. Og luften i ubåden var heller ikke frisk. Der var en blanding af diesellugt og kropslugte. Nedenfor rummet med dieselmotorer.

Fortil er der fire torpedorør til de 7,16 m lange og 0,533 m brede torpedoer, som kunne skyde en hastighed af ca. 55 km/t i vandet.

 

og diverse instrumenter:


I ubåden var der et radiorum (Funkraum) samt et lytterum (Horchraum). I førstnævnte kunne man modtage beskeder eller ordrer via radiosignaler direkte fra andre ubåde eller fra admiral Karl Dönitz, som var den øverstkommanderende for den tyske flåde, Kriegsmarine. Radiokommunikation blev dog reduceret til det mest nødvendige, fordi radiosignaler kunne opsnappes af de allierede, og derved bringe U-båden i fare. Lytterummet, også kaldet "hydrofonrummet", spillede en afgørende rolle i at opdage og spore fjendtlige skibe, især under undervandsoperationer. Hydrofoner, som var undervandsmikrofoner, blev installeret på U-bådens skrog og forbundet med lytterummet. U-bådens besætning ville bruge lytterummet til at opdage og undgå fjendtlige skibe, mens de forblev neddykkede.

Nedenfor et foto fra radiorummet på U-995 (klik for et større billede): 

Ved at klikke på knappen under kan man se, hvad radiorummet indeholdt. Specielt interessant er måske, at man anvendte Enigma M4 maskinen ombord på ubåden.

 

De tyske ubåde blev især sat ind i Nordatlanten for at stoppe/sænke handelsskibe, som kom med forsyninger til England. Tolv timer efter at England erklærede Tyskland krig, blev det britiske passagerskib ATHENIA sænket af den tyske ubåd U-30 (3. september 1939). Ud af 1400 personer omkom 112, heraf flere amerikanere. På dette tidspunkt rådede tyskerne over 57 ubåde, hvoraf dog kun de 22 var indsat i Atlanterhavet. Selvom Tyskland i begyndelsen ikke havde så mange ubåde, kunne de udøve stor skade, samtidigt med, at de på dette tidlige tidspunkt ikke selv led mange tab. Det kom først senere. Ubådene opererede ofte i flokke, de såkaldte "ulvekobler". Flere ubåde kunne koordinere deres angreb via gensidig kommunikation. I løbet af 1941 lykkedes det britterne at bryde tyskernes krypterede meddelelser, hvilket gjorde det muligt at sende konvojer udenom ubådspositionerne for at mindske skibstab. Desuden udviklede man modforanstaltninger mod ubåde. Hovedårsagerne til tyskernes nederlag i kampen om Atlanten var flere: for lille antal tyske ubåde, løbende forbedring af konvojsikkerheden, teknologiske fremskridt (udviklingen af avancerede anti-ubådsvåben såsom dybhavsbomber og sonar) og så var dekryptering af de tyske beskeder af stor betydning sammen med luftovervågning og brugen af radar. Også bygningen af nye skibe i Amerika oversteg tabene i Atlanterhavet. På den måde lykkedes det aldrig for tyskerne at isolere England.

Mange af de tyske mænd på ubådene var meget unge. Gennemsnitsalderen var 21 år. Mange meldte sig frivilligt, blandt andet lokket af krigspropagandaen, der fik det til at fremstå helteagtigt at være på ubådene. Besætningen følte sig som en slags elite i den tyske krigsmaskine. Virkeligheden skulle dog vise sig at være anderledes og meget mere dyster end det skønbillede, som den stærke tyske krigspropagandaen gav løfter om. Udover det hårde liv ombord på ubådene måtte titusinder af tyske ubådsfolk betale med livet i slaget om Atlanten og andre i slag andre steder. .    

En tysk ubådshelt var Günther Prien. Under hans kommando sænkede ubåden U-47 over 30 skibe med en totalvægt på ca. 200.000 brutto register tons. Det lykkedes ham blandt andet at sænke det ellers stærkt beskyttede britiske slagskib HMS Royal Oak ved Scapa Flow ved Orkneyøerne. Hans bedrift gjorde ham øjeblikkelig til en helt i Tyskland og han var den første til at modtage ridderkorset af jernkorset med egeløv (Ritterkreuz des Eisernen Kreuzes mit Eichenlaub). Prien vendte ikke tilbage fra en mission i marts 1941, og den 24. maj 1941 antog man, at han var omkommet. Men hans heltestatus levede og man udgav for første gang ungdomsromanen "Prien Greift an", som skulle blive en bestseller. Også brætspil og andet blev udgivet.

En anden tysk U-bådshelt var Otto Kretschmer. Som den mest succesrige fik han tilnavnet "Esernes es". Han overlevede krigen og døde først i 1998.

Billedet herover viser toppen af en kartonæske, som indeholder et brætspil fra 1941. Motivet er malet af den maritime maler Adolf Bock.

 

 

16. Interaktive simulatorer og andre resurser

Der er adskillige Enigma simulatorer på Internettet. Jeg kan varmt anbefale Dirk Rijmenants'  Enigma simulator. Den fortjener stor ros, og kan downloades fra følgende side:

https://www.ciphermachinesandcryptology.com/en/enigmasim.htm

Simulatoren er imponerende i sit layout med et meget virkelighedstro billede af selve maskinen. Simulatoren kan indstilles på mange måder. Du kan åbne dækslet og med et klik tage et hjul, justere hjulets ring indstilling og med et ekstra klik anbringe hjulet på en plads i "maskinrummet". Reflektoren kan også vælges og dækslet lukkes. Nu skal du foretage plugboard indstillingerne ved at forbinde bogstaverne via klik. Endelig antages du at foretage rotor indstillingerne ved at klike et antal gange på hjulene, mens dækslet er lukket - hjulet går et trin frem (eller tilbage) ved hvert klik. Nu er du klar til at kryptere! Klik på et bogstav på tastaturet. Det krypterede bogstav vises kort ved at en lampe under bogstavet på lampboardet lyser op (hvis musetasten holdes nede, bliver bogstavet ved med at lyse!). Bagefter kan du se den krypterede tekst ved at vælge clipboard, mens du lader musen glide hen over tekst-rektanglet i øverste højre hjørne. Simulatorens brug er beskrevet i en 18 siders manual, som kan downloades. Simulatoren er meget intuitiv og du vil hurtigt gribe idéen i den, tro mig!


Andre resurser:
www.cryptomuseum.com (Her er link til forskellige Enigma simulatorer). http://www.simonsingh.net/The_Black_Chamber (Simon Singh har produceret et "Black Chamber", hvor brugeren er inviteret til at teste en hel række forskellige cifre, der er blevet anvendt i historien).

 

 

17. Links

www.bletchleypark.org.uk  (Den officielle side for Bletchley Park. Du kan bestille foredrag der for skoleelever og gymnasieelever! Se her: Look here: https://bletchleypark.org.uk/learning/
www.turing.org.uk/sources/archive.html
www.ellsbury.com  (En meget fin side, specielt angående Turing Bomben).
www.codesandciphers.org.uk (Tony Sale er en meget dedikeret mand. Han har produceret en kopi af Colussus maskinen i Bletchley Park).
www.alanturing.net
Crypto Museum
www.ilord.com (Bob Lord's side er meget interessant og anderledes. En masse teknisk materiale om Enigma og andre kryptografiske maskiner, indskanninger af manualer og krypteringer fra Bletchley Park, krigs plakater og artikler fra Life Magazine, etc. ) 
http://cryptocellar.org (Imponerende side om kryptologi. Her kan du finde læssevis af artikler).
https://www.ciphermachinesandcryptology.com/  (Dirk Rijemenants' side om forskellige kryptomaskiner. Absolut en fremragende side for folk interesseret i teknik og simulatorer af historiske maskiner).
http://www2.mat.dtu.dk/matematicum/enigma.html (Danmarks Tekniske Universitet (DTU) har anskaffet en rigtig Enigma maskine. Skoler og gymnasier kan bestille besøg hos DTU for at studere maskinen). http://www.dr.dk/nyheder/kultur/historie/nye-undersoegelser-afsloerer-dansk-enigma-kodemaskine-er-verdens-aeldste-af  (Verdens ældste marine Enigma M1 på Post og Telegraf Museet i København)
https://en.wikipedia.org/wiki/Banburismus (Om Banburismus)
https://enigma.virtualcolossus.co.uk/  (Virtual Enigma)

 

 

18. Online litteratur/videoer

Nedenfor flere videoer. Førstnævnte er en fremragende video, som også indgående omtaler betydningen af at bryde Enigma koden.

Numberphile: 158,962,555,217,826,360,000 (Enigma Machine) (Om Enigma maskinen)
Numberphile: Flaw in the Enigma Code (om Enigma maskinens svaghed)
https://www.youtube.com/watch?v=T5iwSC41OxI  (Fremragende film om Alan Turing: The Tragic Story Of The Allies Greatest Hero | The Man Who Cracked The Nazi Code | War Stories. Varighed: 52:33).
https://www.youtube.com/watch?v=o24pVmQ7RjY  (Interessant film om Alan Turing: He Cracked Nazi Code to Win WWII. Then His Own Country Betrayed Him. Varighed: 11:18)
How The Allies Hunted Down U-Boat Wolfpacks (War Stories)
Battle Stations Radar Documentary (History of Wars)
Scapa Flow Raid - Sinking of the HMS Royal Oak by U-Boat Ace Gunther Prien

 

 

19. Film

De følgende film handler om Enigma:

Instruktør: Morten Tyldum med manuskript af Graham Moore. Skuespillere: Benedict Cumberbatch, Keira Knightley, Matthew Goode, Rory Kinnear, Allen Leech, Matthew Beard, Charles Dance, Mark Strong m. fl.

Instruktør: Michael Apted. Skuespillere: Dougray Scott, Kate Winslet, Saffron Borrows, Jeremy Northam, Nikolaj Coster-Waldau.  
 

Instruktør Jonathan Mostow. Skuespillere: Matthew McConaughey, Bill Paxton, Harvey Keitel, Jon Bon Jovi, David Keith.

 

20. Litteratur

[1]

Stephen Budiansky. Battle of Wits - The complete story of codebreaking in World War II. Viking, Penguin Group, 2000.

[2]

Chris Christensen. Polish Mathematicians Finding Patterns in Enigma Messages. Mathematics Magazine, Vol 80, No. 4, October 2007, page 247-273 (Mathematics Association of America).

[3]

David Khan. The Codebreakers - The Story of Secret Writing. Schribner 1996 (originally 1967).

[4]

F. H. Hinsley, Alan Stripp (editors). Code Breakers - The inside Story of Bletchley Park. Oxford University Press, 1993.

[5]

Andrew Hodges. Alan Turing: the enigma. Vintage, 1992 (originally 1983).

[6]

David Leavitt. The Man Who Knew Too Much - Alan Turing and the Invention of the Computer. Phoenix, 2006.

[7]

Michael Paterson. Voices of the Code Breakers - Personal accounts of the secret heroes of World War II. David & Charles, 2007.

[8]

Hugh Sebag-Montefiore. ENIGMA - The Battle for the Code. John Wiley & Sons, Inc., 2000.

[9]

Simon Singh. Kodebogen - Videnskaben om hemmelige budskaber fra oldtidens Ægypten til kvantekryptering. Gyldendal, 2001.

[10]

Simon Singh.  The Code Book - The Science of Secrecy from Ancient Egypt to Quatum Cryptography. Fourt Estate Limited, London 1999.

[11]

Gordon Welchman. The Hut 6 Story - Breaking the Enigma Codes. M&M Baldwin 2005 (originally 1997).

[12]

B. Jack Copeland (Editor). The Essential Turing - The ideas that gave birth to the computer age. Clarendon Press, Oxford, 2004.

  

Denne side er blevet revideret i august 2023.