¿Cuánto tardaría la computación moderna en romper el Código Enigma de los Nazis?
Un ejército de hasta 10.000 personas luchó contra esta singular máquina de escribir en plena Segunda Guerra Mundial. Sólo el tiempo y las ideas de un genio como Alan Turing hicieron que el trabajo realizado en Bletchley Park (el cuartel general del Government Code & Cypher School, perteneciente al servicio de inteligencia británico) fuera tan útil como para adelantar el fin de la contienda bélica en dos años.
Desde entonces han pasado siete décadas. Enigma, la máquina utilizada por la Alemania nazi para cifrar las comunicaciones, es ya un sistema obsoleto. En 1940, Turing inventó junto a Gordon Welchman, y gracias al trabajo previo de un grupo de criptógrafos polacos, la máquina fue capaz de contrarrestar su retorcido funcionamiento.
A pesar de ello, aún hay mensajes alemanes desperdigados por Europa que traen de cabeza a los criptógrafos del siglo XXI. Con el sinfín de herramientas informáticas que tienen a su alcance, ¿cuánto tardarían en romper el código Enigma?
“Depende de varias cosas: la longitud del mensaje, la calidad del texto cifrado, el método utilizado, la suerte...” Así explica Dan Girard, uno de los responsables del proyecto Breaking German Navy Ciphers, que la velocidad a la hora de descifrar no es algo que varíe exclusivamente en función de las características de un ordenador. La complejidad del sistema de cifrado sigue siendo el principal problema.
Así, la solución real más eficaz (y rápida) sigue siendo la ideada por Turing en 1940: la Bomba. La diferencia es que ahora la máquina no parece un armario empotrado, sino que es tan solo un software que simula el invento de Turing.
Michael Hörenberg es el padre del citado proyecto Breaking German Navy Ciphers, que nació en 2012 para descifrar una serie de mensajes codificados con la versión más compleja de Enigma, la M4. Él mismo explica que sigue habiendo tres formas de descodificar un mensaje cifrado con la máquina: “Con la clave, algo que es difícil de conseguir; teniendo un trozo de texto ya descifrado y utilizando la Bomba de Turing; o con algoritmos estadísticos a partir del texto cifrado únicamente”.
Con su software, Hörenberg logró desvelar el primer mensaje en solo cinco horas y media. Tuvo suerte: aquellos textos iniciales fueron encontrados en un submarino U-534 junto a una parte del mensaje descifrado. A partir de ahí, y siguiendo la mecánica ideada por Turing, el programa se encargó de todo.
La endiablada mecánica del sistema nazi sigue poniendo las cosas muy difíciles a los criptógrafos en pleno siglo XXI. Las distintas posiciones de los rotores (cuatro en el caso de M4), el cableado del panel frontal de la máquina y la mezcla de ambos elementos generan trillones de combinaciones posibles. Los alemanes empleaban una diferente cada día del mes.
Sin disponer de esa clave o de una parte del texto descifrado, solo hay una forma de averiguar qué se esconde tras el código: tirar de lo que Hörenberg y Girard denominan “fuerza bruta” (ir probando una a una las trillones de posibilidades que conlleva el funcionamiento de Enigma).
El esfuerzo es titánico hasta para una máquina de 2015. Hönenberg confirma que un ordenador actual podría tardar años en repasar todas las combinaciones. No obstante, Dan y Michael han logrado encontrar ciertos atajos que, a golpe de algoritmos y estadística, reducen el tiempo que un ordenador necesita para hallar la solución. Sin embargo, “un mensaje de M3 de la misma longitud tardaría unas cien veces menos”, explica Girard.
Además de no suponer un ahorro real de tiempo, este método tiene un problema. “Al usar atajos para reducir el trabajo también reducimos la precisión”, aclara Hönenberg. De esta forma, ir probando las combinaciones más probables desde el punto de vista estadístico podría terminar en un callejón sin salida.
Más eficiente resulta el método utilizado por Enigma@home, una iniciativa nacida en 2006 para desvelar el contenido de tres mensajes cifrados en 1942. Este proyecto se basa en la informática distribuida y “es el único que puede romper Enigma M4 en una cantidad aceptable de tiempo solo a partir de texto cifrado”, admite Hönenberg.
Los usuarios que quieran tomar parte solo tienen que instalar el software Enigma@home y ceder el tiempo de inactividad de su ordenador a un servidor común, que divide las tareas en unidades de trabajo pequeñas y las reparte entre todos los participantes.
La suma de las capacidades de un ejército de ordenadores modernos permite disponer de una suerte de superordenador virtual, que acelera el trabajo y reduce considerablemente el tiempo: el software de Enigma@home, instalado en unos cien ordenadores entregados a la causa las 24 horas del día, sería capaz de dar con la solución en solo cuatro jornadas.
Por supuesto, todo sería mucho más sencillo si se conociera de antemano la clave utilizada por los nazis el día en que el mensaje fue cifrado, pero ¿dónde quedaría la diversión? La realidad es bien distinta: Enigma sigue poniendo en aprietos incluso a los ordenadores actuales, que solo haciendo causa común son capaces de dar una respuesta rápida y fiable a un enigma con más de 70 años de antigüedad.