Lars Winther Christensen
Mens fysikkens store bidrag til krigsindsatsen under 2. verdenskrig,
atombomben, siden 6. august 1945 har været en slet skjult hemmelighed,
forblev kryptologiens, og dermed matematikkens, største succes
en
velbevaret hemmelighed helt op i 70'erne. Det var englændernes, og deres
allieredes, såkaldte Ultra Project, som gik ud på at bryde Væ
rnemagtens kodemaskine Enigma.
I den følgende meget summariske beretning om maskinen og arbejdet med at bryde dens koder, er der ikke gjort noget forsøg på at ajourføre synspunkter og metoder; jeg har tværtimod bestræbt mig på at fremstille situationen, som den tog sig ud for datidens kodebrydere, herunder ikke-matematikere. De matematiske udfordringer bliver derfor få, til gengæld er det en god, og sand, historie fra dengang mænd var ... og ingen endnu forbandt Ultra med hygiejnebind.
Kommunikation kan tage mange former, men til det aktuelle formål er det tilstrækkeligt at tænke på sædvanlig korrespondance i form af telegrammer, som kan overbringes fysisk eller læses op over en radio eller en telefon. Indholdet af et telegram vil vi kalde klarteksten. Af forskellige -- under krig oplagte -- årsager kan man være interesseret i at hemmeligholde sin korrespondance for trediemand -- under krig fjenden. I så fald krypterer man sin korrespondance, dvs. afsenderen indkoder klarteksten, og sender det herved fremkomne kryptogram til modtageren, som udkoder det og genfinder klarteksten.
Kryptosystemer, som opererer på klarteksten på ord- eller sæ tningsniveau kaldes kode(systemer), mens systemer, der opererer på tegnniveau, kaldes ciffer(systemer).
Fordelen ved kodesystemer er, at de, ud over at gøre teksten ulæselig for udenforstående, også kan virke komprimerende, idet de kan erstatte hele sætninger med enkelte ord. Ulempen er selvfølgelig, at et effektivt kodesystem skal være meget stort. Der blev faktisk i telegrafens storhedstid lavet nogle enorme kodesystemer, som var offentligt tilgæ ngelige og kun tjente det ene formål at komprimere telegrammerne for derved at spare tid og penge. Men set fra et militært synspunkt er omfanget et problem. Kodebøger i telefonbogsstørrelse er svære at håndtere, og bliver systemet kompromitteret, dvs. falder i de forkerte hænder, er det et stort stykke arbejde at fremstille og distribuere nye kodebøger til systemets brugere.
Men kodesystemer skal være store for at være sikre; små systemer, som kun udskifter de ``kriminelle'' ord i klarteksten med nye, er for lette at gennemskue. Under 1. verdenskrig tog det f.eks. ikke englæ nderne lang tid at indse, at en forretningsmand, som fra de Sydengelske havnebyer sendte ordrer til Berlin på enorme mængder af cigarer i forskellige størrelser, i virkeligheden rapporterede om engelske krigsskibes ankomst og afsejling. Historien er fuld af eksempler på den slags ubehjæ lpsomt ``blomstersprog''.
Ciffersystemer kan ikke komprimere signaler men er til gengæld lette at benytte og administrere. De simpleste ciffersystemer er de såkaldte substitutionssystemer, som opererer på klarteksten ved ét efter ét at udskifte dens tegn med andre.
En monoalfabetisk substitution er givet ved en permutation af det tegnsæt
klarteksten er skrevet i; vi vil foreløbig antage, at klarteksten er skrevet
i det danske alfabet. En monoalfabetisk substitution er så givet ved en
permutation af mængden
, f.eks.
altså permutationen, der sender a i b, b i a,..., o i o,..., og å i ø. Man siger også, at substitutionen er givet ved substitutionsalfabetet badcfehgjilknmoqpsrutwvyxæzåø.
Klarteksten eksempel indkodes med dette substitutionsalfabet til FLRFNQFK. Vil man indkode klarteksten dette er et eksempel, er der to muligheder. Hvis man indkoder teksten ord for ord, få s CFUUF FS FU FLRFNQFK; herved fremgår det umiddelbart af kryptogrammet, at klarteksten består af fire ord. Det gør det meget lettere at løse kryptogrammet, dvs. bryde koden, f.eks. fordi tre af de hyppigste danske ord på to bogstaver (en, et, er) alle begynder med et e. Den anden mulighed er at erstatte mellemrummene med et bogstav, som kun anvendes sjældent. Vælger vi f.eks. w, skal vi indkode teksten dettewerwetweksempel, og vi får kryptogrammet CFUUFVFSVFUVFLRFNQFK, som af hensyn til overskueligheden kan deles i grupper på f.eks. 5 tegn: CFUUF VFSVF UVFLR FNQFK.
Et kryptogram i en monoalfabetisk substitution, f.eks.
AOUåA OXæRO øæOøæ OAæåS WZOVA æOUåO WZOVæ ZJæOX æWYXY KVPKL OASåU æåBLå ASABA SYXæ å AYZæA øYNåæ NOæPJ æUKøK UAOøO øæOøæ NOøæQ YNæYC OøOXå åAOWW OVåOæ WONæN OXæNK XåUOæ åZøYQ åAKAS åASUæ
udkodes ved at anvende den inverse permutation. For kryptogrammets retmæ ssige modtager er det en simpel sag, da han ved hvilket substitutionsalfabet, der er anvendt; og for den, som vil bryde koden, består opgaven i at bestemme hvilket substitutionsalfabet, der er anvendt.
Som bekendt forekommer nogle bogstaver, f.eks. e og r, hyppigere i en normal dansk tekst end andre, f.eks. q og w; det er nøglen til løsning af en monoalfabetisk substitution. En opgø relse over bogstavernes relative hyppighed i en normal tekst kaldes en sprogstatistik; i tabel 1 nedenfor findes en dansk sprogstatistik baseret på en avistekst på ca. 20.000 tegn.
| Tegn | Relativ hyppighed | Tegn | Relativ hyppighed | ||||
| med | uden | med | uden | ||||
| a | 4,817 | 5,781 | p | 1,240 | 1,488 | ||
| b | 1,127 | 1,353 | q | 0,005 | 0,006 | ||
| c | 0,241 | 0,289 | r | 7,287 | 8,746 | ||
| d | 5,129 | 6,157 | s | 5,119 | 6,144 | ||
| e | 13,549 | 16,262 | t | 6,590 | 7,909 | ||
| f | 2,367 | 2,842 | u | 1,081 | 1,298 | ||
| g | 3,346 | 4,016 | v | 1,870 | 2,245 | ||
| h | 1,327 | 1,593 | w | 0,010 | 0,012 | ||
| i | 5,222 | 6,267 | x | 0,000 | 0,000 | ||
| j | 0,389 | 0,467 | y | 0,497 | 0,597 | ||
| k | 2,823 | 3,389 | z | 0,000 | 0,000 | ||
| l | 3,941 | 4,730 | æ | 0,794 | 0,953 | ||
| m | 2,731 | 3,278 | ø | 0,779 | 0,935 | ||
| n | 6,139 | 7,368 | å | 0,912 | 1,095 | ||
| g | 3,982 | 4,779 | | 16,685 | |||
For at bestemme hvilket substitutionsalfabet, der er anvendt, må man lave en bogstavstatistik for kryptogrammet og sammenligne den med den danske sprogstatistik. Man starter med at identificere de hyppigst forekommende tegn, e og mellemrum, herefter må man trække på sin viden om hyppigt forekommende bogstavkombinationer mv.
Den interesserede læser kan fornøje sig med at løse kryptogrammet ovenfor. Det bliver helt overkommeligt, når det oplyses, at der er anvendt et såkaldt forskydningsalfabet, dvs. bogstav nr. n er overalt erstattet med bogstav nr. n+k, hvor k er et (fast) helt tal, og vi regner modulo 29.
I en monoalfabetiske substitution er alle bogstaver indkodet med samme
substitutionsalfabet. I en polyalfabetiske substitution anvendes
derimod flere substitutionsalfabeter; de anvendes efter et bestemt mønster,
og dette mønster kaldes en nøgle. Nøglen beskriver hvilke
bogstaver i klarteksten, der skal indkodes med hvilke substitutionsalfabeter;
f.eks. kan bogstav nr.
indkodes med ét alfabet, mens bogstav
nr.
indkodes med et andet. Nøglelængden er det
antal bogstaver, der indkodes, før mønsteret gentager sig; i eksemplet er
længden altså 2.
For at løse en polyalfabetisk substitution må man først bestemme nø glelængden; så kan man skrive kryptogrammet op, så bogstaver indkodet med samme alfabet står under hinanden, og løse hver kolonne som en monoalfabetisk substitution. Den simpleste metode til bestemmelse af nø glelængden bygger på følgende lille observation: Visse udvalgte bogstavkombinationer, f.eks. ene, erne, ende, else og ning, forekommer særlig hyppigt i det danske sprog. Lad os f.eks. sige, at kombinationen else optræder flere gange i en tekst, der skal indkodes med en polyalfabetisk substitution. Hvis afstanden mellem to forekomster af else er et multiplum af nø glelængden, vil de begge ved indkodning give den samme kombination af 4 bogstaver. For at bestemme nøglelængden søger man derfor gentagne bogstavkombinationer i kryptogrammet, bestemmer afstanden mellem gentagelserne og primfaktoropløser disse afstande. Er man grundig (og ikke ekstremt uheldig), er nøglelængden største fælles divisor for de fundne afstande, eller i det mindste divisor heri.
Det er klart, at nøglelængden spiller en afgørende rolle for sikkerheden; jo længere nøglen er, jo sværere er substitutionen at lø se. Når nøglelængden er sammenlignelig med antallet af bogstaver i kryptogrammet, bliver det helt umuligt at løse, forudsat, selvfølgelig, at nøglen kun bruges én gang.
I princippet er det derfor ganske enkelt at lave en ubrydelig kode, man laver blot en polyalfabetisk substitution, hvor nøglen er lige så lang som den indkodede tekst og kun bruges én gang. Dette system, kaldet the one-time pad, blev bl.a. brugt af sovjetiske agenter i årene efter 2. verdenskrig. Hver agent havde en bog med bogstaver, side op og side ned; hvert bogstav stod for et bestemt substitutionsalfabet, og bogen udgjorde således én lang nøgle. Efterhånden som agenten under indkodning af signaler arbejdede sig igennem bogen, blev siderne revet ud og destrueret; modtageren af agentens signaler havde selvfølgelig en tilsvarende bog, og der var kun disse to kopier. Det var/er selvfølgelig kompromitterende at blive taget med en sådan ``nøgleroman'' på sig, men eftersom bogens sider destrueres løbende, er det ikke muligt at udkode tidligere afsendte kryptogrammer med en beslaglagt nøglebog.
Ulempen ved systemet er selvfølgelig, at det er besværligt at anvende i stor målestok; og det ville være helt utopisk at tilfredsstille en krigsførende nations behov for kryptograferet kommunikation på den må de. Til de fleste militære formål er man mere interesseret i et hurtigt og pålideligt system, som -- om end det ikke er teoretisk ubrydeligt -- kun kan brydes med så stort besvær, at informationerne for længst har mistet deres værdi, når og hvis de kommer for dagen.
Enigma var en maskine til automatiseret ind- og udkodning med polyalfabetiske
substitutioner; den arbejdede med nøgler af længde
, som
den selv genererede på baggrund af en brugerbestemt initialisering.
Antallet af teoretisk mulige initialiseringer var enormt, af stø
rrelsesordenen
, maskinen var let at betjene, og den mekaniske
konstruktion var kompakt og robust. Enigma opfyldte altså alle krav til et
kryptosystem til brede militære formål. Den konklusion nåede den
tyske flåde og hær til allerede i 20'erne, og man bekræ
ftede
den flere gange, senest under 2. verdenskrig hvor
næsten al Værnemagtens korrespondance på højere niveau blev
krypteret med Enigma. Det viste sig at være en fatal fejltagelse!
I det følgende gennemgås Enigmas opbygning og virkemåde; undervejs beregner vi det imponerende antal mulige initialiseringer. Herefter ser vi på de svagheder ved maskinen, og den måde den blev brugt på, som allerede inden udbruddet af 2. verdenskrig førte til en delvis løsning. Den delvise løsning reducerede, som vi skal se, antallet af mulige initialiseringer væsentligt og dannede grundlaget for Ultra-projektets succes. Vi giver også en kort oversigt over maskinens historie og Ultras betydning for krigsindsatsen.
En Enigma-maskine var på størrelse med en rejseskrivemaskine og havde en vis ydre lighed med en sådan, se figur 1. Den havde et tastatur og et ``display'' (Lampenfeld) med det tyske alfabets 26 bogstaver, displayet bestod af 26 små vinduer, som kunne oplyses nedefra af glødelamper.
Figur 1: Enigma var på størrelse med en rejseskrivemaskine og vejede
ca. 30 kg.
Operatøren indtastede klarteksten på tastaturet, og den indkodede tekst lyste op, bogstav for bogstav, på displayet. Indkodningen foregik vha.:
Figur 3: Adskilt tromle. Tromlerne var lavet af bakelit; kontakterne var forbundet med ledninger.
Figur 4: Tromle set fra enden. Hakket, som ses i højre side, kunne
tvinge den næste tromle til at dreje. Vha. den riflede
krans kunne tromlen drejes manuelt.
Figur 5: Et kig ned i maskinen. Tromlerne er fjernet, midt i billedet ses reflektoren.
Figur 6 viser Enigmas virkemåde i diagramform.
Figur 6: Indkodning af et bogstav [12].
Maskinen var drevet af et batteri, og når en tast på tastaturet blev trykket ned, sluttedes et elektrisk kredsløb. Lad os sige, at A-tasten blev trykket ned. Strømmen løb da ind i plugboardets indgang A, hvis A med et kabel var forbundet med et andet bogstav, f.eks. S, forlod strømmen plugboardet ad denne udgang, ellers løb den ud af udgang A. Herefter løb strømmen gennem tromlerne ind i reflektoren og tilbage gennem tromlerne og plugboardet til displayet, hvor et bogstav, som ikke kunne være A, f.eks. K, lyste op. Var K-tasten i stedet blevet trykket ned, ville bogstavet A have lyst op. De permutationer, maskinen kunne udføre, havde altså orden 2 og var uden fixpunkter, dvs. de var alle produkter af 13 disjunkte 2-cykler.
Hver gang en tast blev trykket ned, drejede den højre tromle 1/26 omgang; det skete inden strømmen blev sluttet. Tromlen var forsynet med et lille hak (på figur 6 kaldet ``notch''), som ses tydeligt på figur 4; det tvang den midterste tromle til at dreje 1/26 omgang, hver gang den højre tromle havde drejet én omgang. Tilsvarende tvang hakket på den midterste tromle den venstre tromle til at dreje, hver gang den midterste tromle havde fuldført en omgang. Hakket på den venstre tromle havde ingen betydning, da reflektoren ikke kunne dreje. På den måde skiftedes der substitutionsalfabet for hvert indkodet bogstav.
Hver dag havde sin initialisering
af maskinen; den var givet ved en
Tageßschlüssel, se figur 7, som
foreskrev:
Figur 7: Eksempel fra en instruktionsbog. Dagsnøglen foreskrev valg og
placering af tromler (IIIIII), placering af hak
(16), udgangsstilling for tromlerne
(01) og konfiguration af plugboardet (7 kabler til
parvise ombytninger CODI...). Endvidere er der
angivet 4 trebogstavsgrupper til brug ved legitimering.
Figur 8: Tromlerne på deres aksel placeres til højre for
reflektoren, som herefter skydes til højre og får kontakt med den
venstre tromle.
Figur 9: Når låget er lukket, kan tromlernes stilling aflæses i
de tre små vinduer og ændres ved at dreje de riflede hjul
til højre for vinduerne.
Herefter lukkedes låget på maskinen, se figur 9, og tromlerne blev bragt i den foreskrevne udgangsstilling.
Indkodning af et telegram med Enigma foregik således: Operatøren startede med at initialisere maskinen i henhold til dagsnøglen. Han valgte en tilfældig trebogstavskombination kaldet telegramnøglen, f.eks. ABC, og indkodede den. Herefter ændrede han tromlernes stilling i overensstemmelse med telegramnøglen; dvs. han drejede tromlerne, så tallene i vinduerne, se figur 9, svarede til bogstaverne i nøglen, i eksemplet 01. Med denne indstilling af maskinen startede indkodningen af selve telegrammet.
Modtageren af kryptogrammet initialiserede sin maskine og udkodede telegramnøglen, så ændrede han tromlernes stilling i overensstemmelse med denne og kunne herfra udkode resten af kryptogrammet.
Vi betragter igen de 4 trin i initialiseringsproceduren.
forskellige måder, og det totale antal mulige konfigurationer er således
Antallet af teoretisk mulige initialiseringer er imidlertid meget større. Vi
sætter os i en fjendtlig kodebryders sted og antager, at han ved, hvordan
maskinen fungerer, jvf. figur 6. Da der kan laves 26!
forskellige tromler, kan maskinen initialiseres med
valg af tromler.
Reflektoren ombytter bogstaverne parvis, så den kan laves på
forskellige måder, jvf.\
diskussionen af plugboardet ovenfor. Antallet af teoretisk mulige
initialiseringer er derfor
Det var dette imponerende
tal, som gav det tyske
militær nærmest blind tillid til maskinen. Når det alligevel lykkedes
at bryde Enigma, var det først og fremmest fordi, man i brugen af maskinen
ikke blot forsømte at udnytte dens potentiale, men også bar sig direkte
tåbeligt ad.
Enigmas opfinder, en Arthur Scherbius, søgte patent på maskinen den 23. februar 1918 og forsøgte i april samme år at få den antaget af den tyske flåde, som dog ikke var interesseret. Maskinen var herefter i handelen, men blev ikke nogen kommerciel succes.
I 1926 og 1928 begyndte den tyske flåde og hær at benytte den
modificerede Enigma
beskrevet ovenfor. I
Polen begyndte man allerede i 1928 arbejdet med at bryde tyskernes nye
kodemaskine. I 1931 kom Frankrigs militære efterretningstjeneste i
besiddelse af en instruktionsbog til Enigma, og den gav de til polakkerne. I
december 1932 lykkedes det et hold polske matematikere med Marian Rejewski i
spidsen at rekonstruere reflektoren og de tre tromler, som på det
tidspunkt var i brug. Herefter læste polakkerne den tyske hærs
Enigma-baserede kommunikation.
I 1938 introduceredes yderligere to tromler; det lykkedes igen Rejewski at
rekonstruere dem, men da antallet af mulige initialiseringer hermed var forø
get med en faktor 10, søgte polakkerne hjælp hos deres allierede --
England og Frankrig -- til arbejdet med at bestemme de daglige
initialiseringer. I juli 1939 overdrog polakkerne deres foreløbige arbejder
til de allierede, og efter Tysklands invasion af Polen i september samme
år fortsatte arbejdet i England. Det foregik på landstedet Bletchley
Park
udenfor London, og
projektet fik kodenavnet Ultra.
Figur 10: General Heinz Guderian i sin åbne føringsvogn (Frankrig 1940); en
Enigma ses nederst i billedet.
Allerede fra begyndelsen af krigen kunne de allierede regelmæssigt læse store dele af den Enigma-baserede kommunikation, og Ultra blev efterretningstjenestens vigtigste enkelt-kilde. Afbrydelser forekom; specielt kommunikationen hos den tyske flåde, som var mest seriøs i sin anvendelse af maskinen, gav problemer. Den absolut største krise opstod i februar 1942, da de tyske U-både i Atlanterhavet tog en Enigma med plads til 4 tromler i brug. Først i midten af december kunne man igen -- meget uregelmæssigt -- læse signalerne til og fra U-bådene; tabene hos atlanterhavskonvojerne var i den periode så store, at man overvejede at standse sejladsen.
Fra 1943 til krigens afslutning kunne man, uden væsentlige afbrydelser,
læse den Enigma-baserede kommunikation. Det var ikke kun hæren, flå
den og flyvevåbnet, der sværgede til Enigma; Abwehr, SS og en lang ræ
kke andre militære og civile institutioner brugte den også, ialt ca.
140.000 maskiner var i brug hos statslige institutioner i årene fra 1935
til 1945. Det var naturligvis helt utænkeligt at udkode, endsige opsnappe,
de enorme mængder af Enigma-krypterede signaler, som dagligt blev afsendt.
Man koncentrerede sig om de signal, der måtte formodes at have størst
umiddelbar værdi for krigsindsatsen; det er derfor ikke sikkert, at man fra
Ultra havde kendskab
til nazisternes Endlösung, men muligheden foreligger.
Ultra projektet beskæftigede ca. 5.000 mennesker -- med Alan Turing blandt de bedst kendte -- og det er imponerende, at arbejdet kunne holdes hemmeligt i næsten 30 år. Det var projektets leder, en engelsk Group Captain Winterbotham, som med sin bog The Ultra Secret i 1974 løftede slø ret for, hvad der var foregået på Bletchley Park; men de oprindelige polske og franske arbejder var blevet omtalt allerede i 1967 og 1973.
En af Enigmas åbenbare fordele -- set fra operatørens synspunkt -- var, at ind- og udkodning foregik på præcis samme måde. Det var -- set fra et matematisk synspunkt -- også maskinens svaghed, for som vi allerede har bemærket, betød det, at maskinen underkastede hvert bogstav en permutation med en ganske bestemt cykelstruktur. Det var denne svaghed, kombineret med brugernes til tider dilettantiske anvendelse af maskinen, og, ikke at forglemme, adgangen til instruktionsbogen, som lagde grunden til polakkernes succes i begyndelsen af 30'erne. De væsentligste svagheder ved tyskernes anvendelse af maskinen var:
På baggrund af dobbeltindkodningen kunne Rejewski opstille 6 ligninger,
hvis ubekendte var permutationerne hørende til plugboardet, tromlerne og
reflektoren. Da (med stor sandsynlighed) kun den højre tromle ændrede
position under indkodning af telegramnøglen, kunne de to øvrige tromler og
reflektoren behandles under ét; det simplificerede tingene så meget, at
man, vha. de tåbeligt valgte telegramnøgler, kunne rekonstruere den hø
jre tromle. Da alle tromler med tiden optrådte i højre
position
, blev
de alle rekonstrueret, og det samme gjorde reflektoren. Da Værnemagten
forud for invasionen af Frankrig opgav dobbeltindkodningen, var det for sent;
på det tidspunkt var alle de 5 tromler, som forblev i brug under hele
krigen, rekonstrueret.
Dobbeltindkodningen var en regulær fejl, og alle brugere burde, som flå den, have sikret et fornuftigt valg af telegramnøgler. Herudover forsø mte man på en række punkter at udnytte maskinens potentiale:
Resultatet var, at de allierede fra krigens start havde fuldt kendskab til
standardmaskinens
praktisk mulige initialiseringer. At bestemme
dagens initialisering på baggrund af aflyttet korrespondance var
naturligvis stadig en stor -- men åbenbart overkommelig -- opgave. Til lø
sning af denne opgave byggede man en række maskiner, den bedst kendte er
nok den såkaldte Turing Bombe, men også Colossus -- nogle
gange kaldet verdens første computer -- blev brugt.
Ultra var, kort og godt, den største, hurtigste, mest præcise og trovæ rdige kilde til efterretninger på højt niveau under 2. verdenskrig, og den forkortede, anslås det, krigen med to år. Ultra gav de allierede en indsigt i fjendens dispositioner, som er helt uden fortilfælde i historien. Lad os, i stedet for at dvæle ved de endeløse fordele ved den situation, se på et par af de problemer det også gav.
Under slaget om England anvendte Luftwaffe en overgang en strategi, som gik ud på at bombe én by per nat. Fra Ultra vidste man, at Coventry ville blive udsat for et kraftigt angreb den 11. april 1941. Det var oplagt at evakuere byen, eller i det mindste at forstærke luftforsvaret af byen; men man havde kun informationerne fra denne ene kilde, så man risikerede herved at afslø re, at man havde brudt Enigma. Den engelske regering, og det vil formodentlig sige Churchill, fandt, at risikoen var for stor, og undlod derfor at advicere militære og civile myndigheder om det forestående angreb. Angrebet kostede knap 600 af Coventry's indbyggere livet.
Ultra gav på intet tidspunkt et fingerpeg om operation Wacht am Rhein -- den tyske modoffensiv i Ardennerne i december 1944. Hos chefen for de allierede styrker i Europa, Eisenhower, og hans stab var tilliden til Ultra blevet så stor, at den kunne sammenlignes med Værnemagtens tillid til Enigma. Derfor blev rapporter i november og december fra specielt 3. amerikanske armé om et forestående angreb negligeret. Den 16. december, da den tyske hær angreb, spillede Eisenhower og Montgomery golf.
Vi slutter med et par eksempler på de myter, som hemmelighedskræmmeriet omkring Ultra og tilsvarende projekter har givet anledning til.
Efter afslutningen af 2. verdenskrig skulle mange generaler til at skrive deres erindringer. Ultra var stadig en stor hemmelighed, så det var ofte umuligt for dem at give den sande forklaring på deres indsigt i fjendens intentioner. Der er to mulige veje ud af det dilemma. Man kan, helt sandfæ rdigt, angive de højere myndigheder som kilden, og overlade det til dem at forklare, hvor de fik informationerne fra. Eller man kan kreditere sin egen sjettesans, og dermed pynte på sit omdømme. Et flertal valgte den sidste udvej.
Det har ofte været fremført, at amerikanerne i december 1941 var bekendt med det forestående angreb på Pearl Harbor, men undlod at afværge det for at blive inddraget i krigen. Amerikanerne havde ganske rigtigt brudt en japansk kodemaskine -- kaldet Purple -- som blev brugt til diplomatisk korrespondance. Man vidste derfor, at den japanske ambassadør den 7. december om morgenen ville gå til udenrigsministeriet og afbryde de diplomatiske forbindelser, men ikke erklære krig. Man udsendte alligevel en generel advarsel til garnisonerne i Stillehavet, med den nå ede først frem til Pearl Harbor ud på eftermiddagen lokal tid, og da var det flere timer for sent.