Los fallos humanos que derrotaron a Enigma

Cuando recientemente investigadores de la Universidad de Rochester (EEUU) lograron por fin desarrollar un dispositivo de encriptación totalmente seguro basado en reglas cuánticas, la presentaron como la “Enigma cuántica”, en honor a la máquina de cifrado de los mensajes en clave de los nazis en la II Guerra Mundial. Esa misma que sigue batiendo récords en las subastas. ¿Por qué un ingenio mecánico de hace un siglo sigue resultando tan fascinante?

1-enigma

Durante la II Guerra Mundial los alemanes usaron la máquina Enigma para desarrollar códigos casi indescifrables para enviar mensajes. Crédito: Greg Goebel

Más allá de su historia y de la hazaña de su descifrado por los criptoanalistas británicos de Bletchley Park —con Alan Turing a la cabeza— la clave hay que buscarla en el increíble nivel de inexpugnabilidad alcanzado por la Enigma. La máquina inventada en 1918 por el ingeniero alemán Arthur Scherbius estaba compuesta, básicamente, por tres elementos conectados entre sí por cables: un teclado para introducir el mensaje original, una unidad modificadora y un tablero con lámparas donde se iluminaba la letra correspondiente del mensaje cifrado.

La parte fundamental era la unidad modificadora, responsable del proceso de codificación, e integrada por tres tipos de elementos: clavijero, rotores y reflector.

Las Enigma disponían de tres rotores, conectados entre sí en serie. Discos gruesos, cada uno con 26 puntos de entrada (uno por cada letra del alfabeto) y otros tantos de salida. El cableado interior, diferente en cada disco, hacía que la señal que entraba por una posición saliese por otra distinta: la desviaba convirtiéndola en otra letra. Además cada rotor giraba automáticamente a un ritmo determinado. El primer rotor giraba una posición cada vez que se pulsaba una letra del mensaje original. El segundo rotor avanzaba una posición cada vez que el primero completaba una vuelta completa. Y el tercero hacía lo propio cuando la completaba el segundo.

Esquema en que muestra cómo operaba la máquina de cifrado Enigma. Crédito: Cryptomuseum

Esquema en que muestra cómo operaba la máquina de cifrado Enigma. Crédito: Cryptomuseum

Es fácil de visualizar si se piensa en un reloj de agujas. Con cada impulso del mecanismo, el segundero avanza una posición. Cuando completa toda una vuelta, el minutero avanza una posición. Y sólo cuando éste completa una vuelta la aguja de las horas avanza una posición. Tienen que pasar 12 horas para que se den dos disposiciones análogas de las agujas. O dicho de otro modo, hay 60 x 60 x 12 = 43.200 combinaciones o disposiciones de las agujas distintas. Si se traslada esto a un sistema de tres discos (con 26 posiciones cada una) se tienen 26 x 26 x 26 = 17.576 disposiciones diferentes. Lo que implica que cuando el operador teclea una letra ésta puede ser codificada según cualquiera de esas decenas de miles de disposiciones posibles (equivalentes a diferentes alfabetos cifrados). Y acto seguido la disposición cambia y la siguiente letra ya es codificada a través de una disposición/alfabeto distinta.

Billones de configuraciones posibles

El reflector es otro tipo de disco con cableado interno pero que no gira y donde los cables entran y salen por el mismo lado, aunque por distintas posiciones. Se ubica a continuación de los rotores. De este modo, al teclear una letra del mensaje original, la señal eléctrica atraviesa los rotores, entra en el reflector y sale de éste, de vuelta o reflejada, a través de los tres modificadores pero por una ruta diferente para alcanzar el tablero. Su utilidad, más allá de multiplicar el número de disposiciones, es que automatiza el proceso de descifrado. Gracias al reflector la codificación y descodificación son procesos que se reflejan mutuamente. Así, para descifrar un mensaje el receptor sólo necesita disponer de otra máquina Enigma en la misma disposición de partida y teclear el mensaje cifrado para obtener el original.

Finalmente, el clavijero es otro disco fijo ubicado justo delante de los rotores y que permite al operador insertar cables que tienen el efecto de intercambiar algunas letras antes de que accedan al modificador. La Enigma tenía seis cables con los que se podían intercambiar seis pares de letras. El número de maneras de conectar seis pares de letras entre 26 es 100.391.791.500, que multiplican las 17.576 disposiciones de los rotores.

Scherbius decidió aumentar aún más el nivel de seguridad en la codificación de su máquina. Podía haber incrementado el número de rotores en serie pero la máquina sería demasiado grande y poco operativa desde un punto de vista militar. En lugar de eso optó porque aquellos fuesen intercambiables. En cada ocasión se disponían en un orden diferente y “aleatorio” en la maquina (1-2-3, 1-3-2, 2-1-3, 2-3-1, 3-1-2 o 3-2-1). En total 6 posibles ordenaciones, que multiplican a las anteriores para dar aproximadamente 10.000 billones de configuraciones posibles. Este dato ofrece una visión del nivel de seguridad de la codificación y de la dificultad de su desciframiento. En 1926 el ejército alemán comenzó a utilizar la Enigma I.

Mantener en secreto las condiciones iniciales

Más allá de su diseño, la inexpugnabilidad de la Enigma dependía de mantener en secreto las condiciones iniciales: disposición de partida de los rotores y cableado del clavijero. Conocidas las condiciones iniciales basta con aplicarlas a la máquina y teclear el mensaje codificado para obtener el original. Pero sin ellas para lo único que vale la máquina es para ir probando los miles de billones de posibles disposiciones.

Rotores con sus alfabetos en una máquina Enigma. Crédito: TedColes

Rotores con sus alfabetos en una máquina Enigma. Crédito: TedColes

Por ello, era necesario distribuir periódicamente entre todos los operadores del ejército alemán un cuaderno de “claves del día” que recogía las condiciones iniciales para cada jornada y que consignaba el orden en que se colocaban los tres rotores en la máquina, la posición inicial de cada uno de ellos y la posición de los cables del clavijero.

A fin de evitar que todas las comunicaciones del día estuviesen codificadas por la misma clave —cuánta más cantidad de mensajes codificados con una misma clave más factible es descifrarla— los alemanes decidieron usar la “clave del día” sólo para codificar una “clave de mensaje”, con la que comenzaban cada uno de sus mensajes y que variaba de uno a otro.

El emisor escoge una disposición al azar de los rotores, que sería la “clave de mensaje”, la transmite codificada con la “clave del día” y a continuación emite el mensaje codificado según la nueva clave. El receptor, que tiene su Enigma dispuesta según la “clave del día” recibe el mensaje y sabe que las tres primeras letras corresponden a la “clave del mensaje”, es decir, a la nueva disposición de los rotores (se mantiene la posición de los cables en el clavijero y el orden de los rotores indicada por las “condiciones del día”). Entonces reajusta la posición de los rotores y descifra el resto del mensaje.

Un sistema inabordable salvo por el hecho de que los operadores alemanes, para evitar errores en la recepción, decidieron teclear la “clave de mensaje” dos veces seguidas. Y eso introdujo una debilidad en el sistema. A partir de entonces, la 1ª y la 4ª letras, la 2ª y la 5ª y la 3ª y la 6ª de cada mensaje interceptado eran codificaciones de la misma letra.

Descifrando las comunicaciones alemanas

Esa mínima información y una réplica de la máquina Enigma obtenida por los servicios de espionaje fue todo lo que necesitó en 1932 el matemático polaco Marian Rejewski para descifrar las comunicaciones alemanas.

Porque a pesar de todo, tanto los criptoanalistas polacos como más tarde sus colegas ingleses, consiguieron vulnerar la Enigma. La derrotaron. Una derrota, eso sí, más achacable a los errores de los operadores que la manejaban que a la máquina per se.

En 1938 los alemanes decidieron recuperar la seguridad de la Enigma. Cada operador tendría un juego de cinco rotores entre los que se escogían los tres que se montaban en la máquina. Y se aumentó el número de cables del clavijero de 6 a 10. Las posibles configuraciones ascendían ahora a 159 trillones. Cuando estalló la guerra, la colección de rotores de la Kriegsmarine, la marina alemana, se amplió de 5 a 8. La Enigma volvía a ser inexpugnable.

El 24 de julio de 1939 y ante la inminencia de la invasión nazi a Polonia, el jefe de sus servicios secretos informó a su colega británico de sus logros y le entregó una réplica de la Enigma con la esperanza de que con más tiempo y recursos pudiesen volver a quebrarla. Lo consiguieron. Un éxito cimentado en el talento visionario de Alan Turing. Pero también en las grietas que los operadores germanos abrieron en la impenetrabilidad de la Enigma.

Fallos humanos como que la elección de la clave de mensaje no fuese totalmente aleatoria: en ocasiones optaban por claves obvias (tres letras sucesivas) o incurrían en la repetición de algunas (por ejemplo, las iniciales de su nombre). O las medidas adoptadas por los responsables de elaborar los cuadernos con las claves del día a fin de maximizar la seguridad: como no permitir que ningún rotor repitiese posición de un día para otro. O que ninguna letra del clavijero fuese reemplazada por sus vecinas. Estas medidas, paradójicamente, reducían en gran medida el número total de disposiciones posibles y suministraron atajos a los criptoanalistas. Además, a veces los aliados se hacían con un libro de claves, lo que otorgaba a los analistas una prórroga para seguir avanzando. Sin estos factores externos, ¿habrían podido los aliados descifrar la Enigma?

Miguel Barral para Ventana al Conocimiento
@migbarral