Banburismus es un método criptoanalítico diseñado para facilitar el proceso de descifrado de mensajes de la máquina de cifrado Enigma de la Armada alemana nazi. El método fue inventado por Alan Turing , mejorando el "método cíclico" de Jerzy Rozicki . [1] [2]
Cuando Alan Turing se unió a Cottage No. 8 en 1939, aún no se había hecho ningún trabajo para descifrar los mensajes de Navy Enigma. En ese momento, se creía que Enigma no era pirateable. [3] Los mensajes se encriptaban usando bigramas y trigramas , así como usando un alfabeto especial ( Grundstellung alemán ). [4] [5] Los trigramas se ubicaron en un libro especial llamado Kennbuch (libro K). [6] Los bigramas están en las tablas de bigramas. [7] Era imposible descifrar sin el conocimiento de estas tablas. [8] Sin embargo, después de la operación Narvik Pinch, los registros estuvieron disponibles para los crackers que contenían una descripción completa de la operación del sistema indicador, así como Grundstellung. [9] [10]
En 1941, las combinaciones de ruedas Enigma cambiaban todos los días. Los codificadores seleccionaron tres ruedas de las ocho disponibles, que se usaron para el cifrado. Así, en total había 336 opciones para cada día. El objetivo principal del método de descifrado descrito era proporcionar información sobre la posición de la rueda Enigma derecha , lo que redujo significativamente la cantidad de conjuntos de ubicaciones de ruedas de máquinas de cifrado, cuyas posiciones debían resolverse en el proceso de criptoanálisis. [2] [11]
Las siguientes condiciones fueron necesarias para la implementación del método:
La idea del método se basa en que si se colocan una debajo de otra dos cadenas compuestas por letras del alfabeto latino, elegidas al azar, entonces la probabilidad de repetir cada carácter será igual a .
Línea 1: ThatIsTheFirstStringWithEnglishText Línea 2: EsLaSegundaCadenaColocadaAbajoLaPrimera Partidos * *Si comparamos dos segmentos del texto cifrado de la Armada alemana, la probabilidad de coincidencia aumenta a . Pero esto solo sucederá si estos mensajes fueron encriptados usando la misma posición inicial ( Germ. Grundstellung ) de los rotores Enigma. [13] Se dice que dichos mensajes coinciden "en profundidad" , es decir, si se obtuvieron mediante encriptación con la misma configuración inicial de Enigma . [14] Esta idea ayudó a lograr el objetivo principal del método: identificar las posiciones de la rueda derecha del Enigma, por lo tanto, reducir el tiempo dedicado a la enumeración utilizando la máquina Bombe . [2] Si los mensajes tienen partes comunes de texto de 4, 6, 8 o más letras, sus contrapartes encriptadas tendrán coincidencias de la misma longitud. Tal combinación de circunstancias se denominó "coincidencia adecuada" ( ing. fit ). [quince]
Los alfabetos Grundstellung se veían así:
ABCDEFGHIJKLMNOPQRSTU VWXYZ 1. TVSMUIWNFLPJDHYKZSRAE BGCOQ 2. EYKWAQXRTUCNSLVZFHMIJ ODGBP 3. JGDCFEBPZAVQWONHLTURS KMYXIA priori, la probabilidad de dos mensajes con trigramas completamente diferentes y que coincidieran "en profundidad" era , pero si los trigramas eran respectivamente y , la probabilidad aumentaba a . Para los trigramas, la probabilidad también aumentó a . Para nuestro alfabeto
PDP=KWH AP = KWGPor lo tanto, el trigrama estaba un lugar antes . Esto se denotaba como , es decir, en el alfabeto de la rueda derecha de Enigma, la letra estaba una posición antes .
La primera etapa del ataque fue encontrar "coincidencias" para 4 letras o más. Los mensajes se transfirieron a mano a las hojas Banburi, largas tiras de papel impresas con el alfabeto, lo que hizo posible encontrar repeticiones en los mensajes en cada posición, cambiando las hojas entre sí. El sistema de puntuación evaluó cada "partido" en decibans para cada puesto. Ejemplo de tabla de coincidencias
Probabilidad BBC + .2 = Hexagrama BBE algunos ENF + 3.7 = EPQ pentagrama 17:1 RWC + .13 = tetragrama RWL 4:1 PNX + .5 = PIC algún tetragrama IUS + 3,3 = hexagrama IUY 20:1 ZDR + 5.5 = ZIX hexagrama 15:1 SWI + 4.3 = Tetragrama SUD 4:1 PPD + .16 = PPU tetragrama 1:2Luego se alinearon las letras
CE F-Q C-L X-C S-Y R-XDadas las distancias, la cadena podría escribirse como
R....X....CE..........LY así sucesivamente para todos los trigramas conocidos. Ahora los crackers sabían qué posiciones relativas deberían estar estas letras en el alfabeto de la rueda derecha. Además, la línea de la secuencia resultante se ubicó debajo del alfabeto. Era necesario resolver las 26 posiciones (R está debajo de A, debajo de B, debajo de C, etc.).
ABCDEFGHIJKLMNOPQRSTU VWXYZ 1.R. k MX. . . . CXE. . . . UNA. . . . . l . 2. F.Se tacharon las posiciones que sugerían contradicciones. En esta situación, L está debajo de X, al igual que F, que da dos valores para una letra. Lo anterior es un ejemplo, en la práctica real había decenas de líneas. El siguiente paso fue calcular las marcas del alfabeto, basado en el hecho de que fue elegido correctamente. Por ejemplo, si hay dos mensajes BDL y BDS, la puntuación de BDL + 4 = BDS debería ser mejor que aleatoria si el alfabeto es correcto. Al llevar a cabo dicho proceso simultáneamente con varias líneas, fue posible reducir significativamente la cantidad de opciones para el alfabeto de la rueda derecha. [dieciséis]