Entendiendo Enigma

Otros

Recientemente ha vuelto a ser trend las películas sobre autómatas y computación (Ex Machina, Autómata, Transcendence,...). Entre ellas, hay una que especialmente me ha cautivado: "Descifrando Enigma".

Esta película habla de la vida del profesor Alan Turing, padre de la computación moderna. Una de las cosas sorprendentes para mí, es que el film no cae en el tópico de la controversia entre hombre y máquina. Esto hubiese sido muy fácil, ya que el profesor fue artífice del Test de Turing. Sin embargo, han sabido ver la riqueza del legado de éste y han apostado por centrar la historia alrededor de otro gran hito de su vida.

En este artículo, no nos ocupa el Test de Turing, del que sin duda podréis encontrar una gran cantidad de información en la red (http://es.wikipedia.org/wiki/Test_de_Turing). Como la película, me gustaría centrarme en la Máquina Enigma y en como Turing, según los expertos, adelantó el final de la Segunda Guerra Mundial en al menos 2 años (salvando miles de vidas).

Qué es la máquina Enigma

Enigma era una máquina que disponía de un mecanismo de cifrado rotatorio, lo que le permitía ser usada tanto como para cifrar como para descifrar mensajes. Podemos pensar en ella como una máquina de escribir, pero en lugar de marcar en papel la letra pulsada, encendía una bombilla con otra letra distinta a ésta.

Cuando se quería encriptar un mensaje, se escribía en la máquina y se apuntaban las letras que se encendían, que daban como resultado el mensaje encriptado. Para el descifrado, el proceso era similar: se tecleaba en la máquina el mensaje encriptado y las bombillas que se encendían marcaban el mensaje desencriptado.

Esta máquina fue utilizada durante la Segunda Guerra Mundial por el ejercito Nazi. Su reducido tamaño y su cantidad de configuraciones posibles la hacían muy portable y perfecta para el cifrado de mensajes bélicos.

Cómo funciona Enigma

Enigma era como un gran circuito. Cada vez que se pulsaba una tecla, al menos un rotor giraba, haciendo que los circuitos de la máquina cambiasen y se iluminase una bombilla diferente. Los rotores eran la única parte móvil dentro del circuito y cada uno tenía 26 pasos, uno por cada letra del alfabeto. En la imagen de arriba, se pueden ver los rotores como las tres ruedas dentadas de la parte superior de la máquina.

Cuando se pulsaba un tecla, el rotor derecho giraba un paso. Cuando el rotor derecho realizaba una vuelta completa, el rotor del medio rotaba un paso. Cuando el rotor del medio alcanzaba su vuelta completa, el rotor izquierdo giraba un paso. Esto hacía que pulsar dos veces la misma tecla no diese el mismo resultado, lo cual mejoraba la encriptación.

Pero además de este juego de rotores (que tenían que estar en la misma posición al empezar el mensaje, tanto en la máquina que encriptaba como en la que desencriptaba) la máquina enigma tenía otro mecanismo que aumentaba la seguridad del cifrado, el "panel de conexiones". En la imagen superior, se puede ver este panel como una maraña de cables por la parte delantera de la máquina. Conectaban pares de letras. Esto quería decir que la letra A correspondía a la letra Z, por ejemplo. A la hora de que los rotores encriptasen la letra A, en realidad estaban encriptado la Z. Por consiguiente, la máquina que desencriptaba tenía también que tener el panel de conexiones de la misma manera que la que encriptaba.

Las diferentes posiciones de los rotores (26 por cada uno de ellos) estaban etiquetadas por letras. Para aumentar la seguridad, este etiquetado podía cambiar según la configuración que tuviese la máquina. Es decir, para dos configuraciones diferente de la máquina enigma, la posición 1 de cualquier rotor no estaría igual etiquetada, en una podría ser A y en otra podría ser Z. Para cada configuración, se indicaba cual sería la posición inicial de los rotores en función al etiquetado marcado por la propia configuración.

Y por último, contaba con un mecanismo de seguridad más: cada mensaje contenía su propia clave de encriptación. Las 6 primeras letras del mensaje, correspondían a las posiciones de los rotores, encriptadas y duplicadas (si la posición es ABC, las 6 primeras letras sería ABCABC cifradas). Estas 6 primeras letras se desencriptaban siguiendo la configuración inicial que se marcaba, el resto del mensaje se descifraba poniendo los rotores en la posición que se indicaba en las 6 primeras letras.

Cómo rompió Turing el cifrado de Enigma

En total, debido a todos estos mecanismos de cifrado, existían más de un billón de combinaciones posibles para configurar la máquina. Teniendo en cuenta que las configuraciones se cambiaban a diario, era totalmente imposible encontrar por fuerza bruta qué configuración estaba utilizando ese día. Además el hecho de utilizar diferentes letras en representación de una misma hacía imposible romper el cifrado.

Aquí es donde la mente maestra de Turing entró en juego. Él y su equipo construyeron Bombe, máquina que aceleró el proceso de encontrar la configuración utilizada ese día por Enigma. 

Uno de los mayores avances logrados por el equipo de Turing fue darse cuenta que una letra no podía ser representada por ella misma en el cifrado. Es decir, la letra A encriptada jamás sería A. Esto hizo reducir drásticamente el tiempo de descifrado de un mensaje ya que elimino muchas configuraciones que ya no eran posibles.

Además, cada mañana, el ejercito Nazi enviaba mensajes codificados con detalles sobre el clima. Al saber que las palabras "niebla" o "viento" aparecerían en el mensaje, este podía ser descifrado fácilmente y las configuraciones posibles reducidas al mínimo. Durante el resto del día podían desencriptar con facilidad otros mensajes más valiosos.

Con estas artimañas y la máquina Bombe, pudieron adelantarse al enemigo descifrando sus mensajes. Esto fue uno de los logros del profesor Alan Turing, sin el que: ni yo podría estar escribiendo esto, ni tú lo podrías estar leyendo.

Simulador online de Enigma