Banburismus er en kryptoanalytisk metode designet til at lette processen med at dekryptere beskeder fra Enigma-krypteringsmaskinen fra den nazistiske tyske flåde. Metoden blev opfundet af Alan Turing , der forbedrede Jerzy Rozickis "cykliske metode" . [1] [2]
Da Alan Turing sluttede sig til Cottage nr. 8 i 1939, var der endnu ikke blevet arbejdet på at tyde Navy Enigma-meddelelserne. På det tidspunkt mente man, at Enigma ikke var hackbar. [3] Beskeder blev krypteret ved hjælp af bigrammer og trigrammer , samt ved hjælp af et særligt alfabet ( tysk Grundstellung ). [4] [5] Trigrammerne var placeret i en særlig bog kaldet Kennbuch (K-bog). [6] Bigrammer er i bigramtabellerne. [7] Dechifrering var umulig uden kendskab til disse tabeller. [8] Men efter Narvik Pinch-operationen blev optegnelser tilgængelige for kiks, der indeholder en fuldstændig beskrivelse af indikatorsystemets funktion samt Grundstellung. [9] [10]
I 1941 ændrede Enigma hjulkombinationer sig hver dag. Krypteringerne valgte tre hjul ud af otte tilgængelige, som blev brugt til kryptering. Der var således i alt 336 valg for hver dag. Hovedformålet med den beskrevne dekrypteringsmetode var at give information om positionen af det højre Enigma -hjul , hvilket betydeligt reducerede antallet af sæt af krypteringsmaskiners hjulplaceringer, hvis positioner skulle sorteres fra under kryptoanalyseprocessen. [2] [11]
Følgende betingelser var nødvendige for implementeringen af metoden:
Ideen med metoden er baseret på det faktum, at hvis to strenge bestående af bogstaver i det latinske alfabet, valgt tilfældigt, placeres under hinanden, så vil sandsynligheden for at gentage hvert tegn være lig med .
Linje 1: ThatIsTheFirstStringWithEnglishText Linje 2: ItIsThe SecondStringPlacedBelowFirst Tændstikker * *Hvis vi sammenligner to segmenter af den tyske flådes chiffertekst, så stiger sandsynligheden for et match til . Men dette vil kun ske, hvis disse meddelelser blev krypteret med den samme startposition ( Germ. Grundstellung ) som Enigma-rotorerne. [13] Sådanne meddelelser siges at matche "i dybden" , det vil sige, hvis de blev opnået ved kryptering med de samme indledende Enigma-indstillinger . [14] Denne idé hjalp med at nå hovedmålet med metoden - at identificere positionerne af højre hjul på Enigma, og derfor reducere tiden brugt på optælling ved hjælp af Bombe-maskinen . [2] Hvis meddelelserne har fælles tekstdele, der er 4, 6, 8 eller flere bogstaver lange, vil deres krypterede modstykker have matches af samme længde. En sådan kombination af omstændigheder blev kaldt "passende tilfældighed" ( eng. fit ). [femten]
Grundstellung-alfabeter så således ud:
ABCDEFGHIJKLMNOPQRSTU VWXYZ 1. TVSMUIWNFLPJDHYKZSRAE BGCOQ 2. EYKWAQXRTUCNSLVZFHMIJ ODGBP 3. JGDCFEBPZAVQWONHLTURS KMYXIA priori var sandsynligheden for to beskeder med helt forskellige trigrammer og sammenfaldende "i dybden" , men hvis trigrammerne var henholdsvis og , steg sandsynligheden til . For trigrammer steg sandsynligheden også til . Til vores alfabet
PDP=KWH PDB=KWGDerfor stod trigrammet et sted tidligere . Dette blev betegnet som , det vil sige i alfabetet til højre hjul i Enigma, bogstavet var en position tidligere .
Den første fase af angrebet var at finde "matches" til 4 bogstaver eller mere. Beskederne blev håndoverført til Banburi-arkene, lange papirstrimler trykt med alfabetet, hvilket gjorde det muligt at finde gentagelser i beskederne på hver position, ved at flytte arkene i forhold til hinanden. Scoringssystemet evaluerede hver "kamp" i decibaner for hver position. Match tabel eksempel
Sandsynlighed BBC + .2 = BBE hexagram nogle ENF + 3,7 = EPQ pentagram 17:1 RWC + 0,13 = RWL tetragram 4:1 PNX + .5 = PIC noget tetragram IUS + 3,3 = IUY hexagram 20:1 ZDR + 5,5 = ZIX hexagram 15:1 SWI + 4,3 = SUD tetragram 4:1 PPD + .16 = PPU-tetragram 1:2Bogstaverne blev derefter justeret
C-E F-Q C-L X-C S-Y R-XI betragtning af afstandene kunne kæden skrives som
R....X....CE...........LOg så videre for alle kendte trigrammer. Nu vidste kikserne, hvilke relative positioner disse bogstaver skulle være i alfabetet på det højre hjul. Yderligere var linjen fra den resulterende sekvens placeret under alfabetet. Det var nødvendigt at udarbejde alle 26 positioner (R er under A, under B, under C, og så videre).
ABCDEFGHIJKLMNOPQRSTU VWXYZ 1.R. K. MX. . . . CXE. . . . EN. . . . . L. . 2. FStandpunkter, der tydede på modsætninger, blev streget over. I denne situation er L under X, ligesom F, hvilket giver to værdier for et bogstav. Ovenstående er et eksempel, i virkeligheden var der snesevis af linjer. Næste trin var at beregne karaktererne for alfabetet ud fra, at det var valgt rigtigt. For eksempel, hvis der er to beskeder BDL og BDS, bør scoren for BDL + 4 = BDS være bedre end tilfældig, hvis alfabetet er korrekt. Ved at udføre en sådan proces samtidigt med flere linjer var det muligt at reducere antallet af muligheder for alfabetet på det højre hjul betydeligt. [16]