martes, 30 de junio de 2015

¿Cuánto tardaría un ordenador actual en romper el código Enigma de los nazis?

Foto: ¿Cuánto tardaría un ordenador actual en romper el código Enigma de los nazis?


La máquina que ocultaba los mensajes del ejército del Tercer Reich sigue suponiendo un reto. Ahora, el 'software' y la informática distribuida sustituyen a la Bomba de Turing para descifrar la información.




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 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?
Todo depende
“Depende de varias cosas: la longitud del mensaje, la calidad del texto cifrado, el método utilizado, la suerte...” Así explica a Teknautas 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.
Las distintas posiciones de los rotores y el cableado del panel frontal de la máquina generan trillones de combinaciones posibles
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 nos 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.


Fuerza bruta
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.
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 es tan solo un 'software'
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.


Un superordenador en casa
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.
Un ordenador moderno podría necesitar años para descifrar el código, aunque existen atajos más rápidos y menos exactos
Los usuarios que quieran tomar parte solo tienen que instalar el softwareEnigma@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.
   29/06/2015
http://www.elconfidencial.com/tecnologia/2015-06-29/codigo-enigma-nazis-turing_907580/

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.