Máquina Enigma

Un fallo importante del código Enigma era que una letra nunca podía ser codificada como ella misma. En otras palabras, una «M» nunca sería codificada como una «M». Este era un gran defecto en el código Enigma porque daba a los rompecódigos una pieza de información que podían utilizar para descifrar los mensajes. Si los descifradores podían adivinar una palabra o frase que probablemente aparecería en el mensaje, podían utilizar esta información para empezar a descifrar el código. Como los alemanes siempre enviaban un informe meteorológico al principio del mensaje y solían incluir la frase «Heil Hitler» al final del mismo, había frases que los descifradores sabían buscar. Los descodificadores podían comparar una frase dada con las letras del código, y si una letra de la frase coincidía con una letra del código, sabían que esa parte del código no contenía la frase. Los decodificadores podían entonces comenzar a descifrar el código con un proceso de eliminación.

Encuentra posibles contendientes para la codificación de la palabra «RAIN» en la cadena codificada de abajo. (El símbolo % se utiliza para denotar letras desconocidas).

Mensaje codificado E R W N I K O L K M M M M
Frase R A I N % % % % % % % % %

RAIN no puede codificarse como ERWN porque la N de RAIN y la N de ERWN coinciden. Como N no puede codificarse como sí mismo, esta no es la codificación.

Cambiemos nuestro mensaje una ranura a la derecha, y veamos si el resultado es una codificación válida.

.

Mensaje codificado E R W N I K O L K M M M M
Frase % R A I N % % % % % % % % %

RAIN no puede codificarse como RWNI porque la R de RAIN coincide con la R de RWNI. Cambiemos de nuevo.

.

Mensaje codificado E R W N I K O L K M M M M
Frase % % R A I N % % % % % % % %

RAIN no puede codificarse como WNIK porque la I de RAIN coincide con la I de WNIK.

Mensaje codificado E R W N I K O L K M M M M
Frase % % % R A I N % % % % % %

RAIN puede codificarse como NIKO porque las dos frases no tienen letras que coincidan. Así que NIKO es una posible codificación de RAIN.

Si repetimos este proceso, encontraremos que NIKO, IKOL, KOLK, OLKM, LKMM, KMMM, y MMMM son todas codificaciones posibles de RAIN ya que ninguna letra coincide entre RAIN y la codificación. Está bien que MMMM pueda codificar RAIN aunque esto significa que M codificaría R, A, I y N porque recuerde que en cada pulsación de tecla, el mapeo de letras en una máquina Enigma cambia.

Sin embargo, no está garantizado que RAIN esté codificado en esta cadena, pero dio a los descodificadores un buen punto de partida para descifrar los mensajes.

Alan Turing y Gordon Welchman diseñaron una máquina llamada la máquina Bombe que utilizaba circuitos eléctricos para resolver un mensaje codificado en Enigma en menos de 20 minutos. La máquina Bombe intentaba determinar los ajustes de los rotores y el tablero de la máquina Enigma utilizados para enviar un determinado mensaje codificado.

La máquina Bombe estándar británica era esencialmente 36 máquinas Enigma conectadas entre sí, de esta manera, la máquina Bombe simularía varias máquinas Enigma a la vez. La mayoría de las máquinas Enigma tenían tres rotores y para representar esto en la Bombe, cada uno de los simuladores de Enigma en la Bombe tenía tres tambores, uno para cada rotor.

Tambores de la máquina Bombe

Los tambores de la Bombe estaban codificados por colores para corresponder con el rotor que simulaban. Mientras que una máquina Enigma de 3 rotores sólo utilizaba tres rotores a la vez, hay más para elegir. Los tambores estaban dispuestos de forma que el superior de los tres simulaba el rotor izquierdo del codificador Enigma, el central simulaba el rotor del medio y el inferior simulaba el rotor derecho. Los tambores giraban para probar una nueva configuración. Por cada rotación completa de los tambores superiores, los tambores del medio se incrementaban en una posición, y lo mismo ocurría con los tambores del medio y del fondo, lo que daba un total de 26 × 26 × 26 = 17.576 posiciones del codificador Enigma de 3 rotores.

Entonces, para una determinada configuración del rotor (en cada giro de los tambores), la máquina Bombe hacía una conjetura sobre una configuración del tablero, digamos «A está conectado a Z». A continuación, se ejecuta a través de y determinó lo que todas las otras letras se debe establecer en el plugboard. Si surge alguna contradicción, por ejemplo, deduce que «A está conectada a W», entonces debe ser que A no está conectada a Z en el tablero de conexiones, surge una contradicción. Dado que los otros mapeos de letras que la máquina acaba de averiguar se determinaron basándose en una suposición falsa (a saber, la suposición de que A está conectada a Z), todas esas combinaciones son inválidas, y la máquina Bombe sabe que no debe perder el tiempo comprobando ninguna de esas combinaciones más adelante. Así, digamos que la máquina adivinó que A está conectado a Z, y entonces la máquina deduce que si A está conectado a Z, entonces B debe estar conectado a E. Si más tarde determina que A no está conectado a Z, sabe que B no está conectado a E. Después de que surja tal contradicción, la máquina Bombe no adivinará que A está conectado a Z de nuevo, y sabe que no debe adivinar que B está conectado a E, y así sucesivamente. La máquina Bombe cambia las posiciones del rotor y elige una nueva conjetura y repite este proceso hasta que aparece una disposición satisfactoria de las configuraciones. Como los circuitos eléctricos pueden realizar cálculos muy rápidamente, la máquina Bombe puede pasar por todas las combinaciones de rotores en unos 20 minutos.

En cada posición de los tambores, la configuración se probaría para ver si la configuración conducía a una contradicción lógica, descartando esa configuración. Si la prueba no conducía a una contradicción, la máquina se paraba y el decodificador anotaba esa configuración como solución candidata. A continuación, se reinicia la máquina y se prueban más configuraciones. Estas pruebas reducían la lista de posibles configuraciones y las soluciones candidatas se probaban más para eliminar las que no funcionaban. Normalmente había muchas soluciones candidatas sin éxito antes de encontrar la correcta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.