Enigma 81

Enviado por Roman en

Por Román Ceano

El departamento de investigación de BP revisó todos los mensajes interceptados para observar los patrones de gestión de las claves. Estableció trabajosa y tentativamente que las ruedas no se movían nunca de lugar y que sus configuraciones de conectores cambiaban raramente, excepto las de las dos ruedas motoras que se cambiaban cada mes.

De manera increíble para los criptoanalistas ingleses, los operadores alemanes gestionaban las claves de una forma defectuosa y por ello de tanto en tanto repetían posiciones iniciales. Estas parejas de mensajes eran muy fáciles de localizar porque aunque no se sabía qué posición indicaba cada letra, era fácil ver cuáles tenían indicativos iguales. La estación de intercepción de Kenworthy estaba sobre aviso y les daba prioridad total. Una vez recibida en BP la pareja, se procedía a sumar los dos mensajes para obtener la secuencia que se sabía que era suma de dos mensajes en claro.

Uno de los primeros ataques que se diseñó estaba basado en la idea de lanzar oleadas humanas contra estas secuencias. Para, ello, se habilitó un cobertizo en el que se ubicaron varias docenas de cabos y suboficiales de diversos cuerpos sin ninguna preparación criptográfica. El ataque consistía en tomar una palabra probable (p.e. “spruchnummer”, que significa “numero de mensaje”) y sumarla a la primera posición de la secuencia. En caso que se hubiera acertado, aparecía una palabra en claro perteneciente al segundo mensaje.

En caso de que apareciera sólo una mezcla de letras sin sentido, había que repetir con la segunda posición, la tercera, etc... hasta agotar la secuencia, que podía tener 500 caracteres. Una vez terminada, se tomaba una segunda palabra probable y se volvía a empezar. El motivo de haber elegido personal militar es que se suponía que mostrarían mayor tenacidad que los civiles ante una tarea tan desesperantemente tediosa y desagradecida.

Si aparecía un positivo, la secuencia y la palabra eran trasladadas a otro cobertizo, donde los antiguos especialistas en Japón de la escuela Elmer realizaban el trabajo inteligente. Estos criptoanalistas habían sido reciclados a expertos en Baudot, haciéndoles memorizar la tabla de adición de caracteres. Se habían reforzado con lingüistas clásicos y tenían tanto éxito que muy pronto el grupo de fuerza bruta fue disuelto porque su ayuda era irrelevante.

A principios de verano se descifraba una proporción bastante grande de mensajes. Ya no hacía falta tener dos mensajes cifrados con exactamente el mismo código, sino que se podían utilizar varios cifrados con posiciones de las ruedas similares entre sí. Esto daba un control cada vez mayor del sistema de indicativos, que retroalimentaba los procesos heurísticos improvisados que se establecían sobre la marcha. El descifrado de estas secuencias suma de dos mensajes en claro era, al igual que el Banburismus, un pasatiempo altamente adictivo. Sus practicantes dedicaban horas y horas, casi siempre durante la noche, y un solo criptoanalista llegó a romper trece en un solo turno.

En esa época, Turing vagaba por BP como un alma en pena tras haber sido desposeído de la jefatura del Cobertizo 8 y haber además fracasado en obtener un método para descifrar la Enigma de cuatro ruedas. Los submarinos estaban causando estragos enormes a los convoyes y sólo la táctica típicamente americana de fabricar barcos tan febrilmente que los alemanes no podían hundirlos suficientemente deprisa, mantenía abierta la ruta del Atlántico. El prestigio de Turing estaba en un punto más bien bajo, aunque al ser todo secreto es probable que nadie lo supiera excepto él mismo.

Una vez relevado por Alexander, Travis quería que Turing diera apoyo a todos los grupos con problemas teóricos de alto nivel. Así fue como el departamento de Tiltman lo reclutó para la lucha contra la Geheimschreiber. Aunque como ya se ha dicho, se descifraban muchos mensajes, esto se hacía basándose en los fallos garrafales de los operadores y en lo primitivo del sistema de indicativos.

El desciframiento se hacía sin conocer la posición de los conectores en las ruedas ni la posición de partida de éstas. Era algo completamente abstracto, basado en las similitudes entre los mensajes. Hacía falta alguna forma de determinar ambos parámetros para abrir las puertas a un descifrado sistemático que no requiriese de errores de operación en el enemigo. Turing inventó un método para establecer la configuración de los conectores de cada rueda, dejando para más adelante el problema de determinar las posiciones iniciales careciendo de los indicadores.

El método se llamó Turingerismo, aunque algunos lo llamaban Turingismus porque decían “que sonaba más alemán”. Era un método de lápiz y papel, o como dice el manual secreto escrito por el propio Turing y corregido por Tutte : “un método de lápiz, papel y goma de borrar”.

Más que un método en el sentido algorítmico, se trata de una técnica heurística que hace uso de la estadística inventada por Turing para ayudar en el descifrado de Enigma. Esta estadística “inversa” estudia la probabilidad de que un efecto sea producto de una causa o de otra. Resulta ideal para el criptoanálisis, ya que en él tenemos un texto cifrado y hemos de determinar sus causas: la clave y el texto en claro.

Para aplicar el método de Turing, el criptoanalista necesitaba proveerse no sólo de los mencionados, lápiz, papel y goma de borrar, sino también de varias hojas de papel, una pluma, tinta, dominio del álgebra de logaritmos, una capacidad de concentración máxima, una paciencia sobrehumana y todo el tiempo del mundo.

Antes de describirlo debemos introducir el concepto que permitió la derrota del Geheimschreiber sin depender de los errores del enemigo: la función Delta. Turing captó enseguida el inmenso campo de posibilidades que abría el álgebra de la adición booleana. Mientas que las permutaciones que subyacen a Enigma carecen de la propiedad conmutativa, limitando mucho al que las manipula, la adición booleana sí que permite cualquier cambio de orden. Si a esto unimos que se pueden descomponer y componer las operaciones (propiedad asociativa), tenemos un panorama muy halagüeño.

Si tomamos el proceso de cifrado y lo convertimos en ecuaciones, obtenemos C=K+P donde C es el criptotexto, K la secuencia pseudoaleatoria y P el texto plano. La secuencia K a su vez es el resultado de sumar el Chi+Psi tal como se ha visto anteriormente y se puede comprobar en el esquema. Así que C=Psi+Chi+P. Esto da lugar a varios conceptos derivados. Podemos por ejemplo restar (de hecho sumar) Psi de C y obtenemos un cifrado basado sólo en las ruedas Chi. De forma análoga podemos restar Chi o cualquiera de los componentes, creando fácilmente secuencias intermedias manipulables al gusto. Un ejemplo sería sumar C a Chi para obtener la secuencia llamada “desChi”, que es el resultado de sumar al texto plano la secuencia creada por las ruedas Psi.

El ataque de Turing no sólo hacía uso de las propiedades conmutativa y asociativa, sino también y sobre todo de la del elemento neutro, que en esta extraña adición es el resultado de sumar un elemento consigo mismo. La modificación del código Baudot que introdujo la ampliación de caracteres eliminó del uso los cinco puntos (cinco ceros en binario).

No sabemos si lo decidió Turing o alguno de los que habían trabajado en el problema antes que él, pero en BP se trabajaba con el código básico, es decir, que cuando aparecía un “shift” no se pasaba al segundo juego de caracteres. Además y muy importante, sí que se utilizaban los cinco espacios vacíos, haciéndolos corresponder al carácter ‘/’ (“slash”). Esto era necesario porque aunque nunca un texto plano llevaría ese carácter puesto que los alemanes utilizaban el código ampliado (llamado a veces Murray para distinguirlo del básico), tanto en el texto cifrado, como en la secuencia, como en los componentes separables de esta (Chi y Psi), sí que aparecía.

No olvidemos que Turing llevaba trabajando más de diez años con máquinas binarias y había descrito un procedimiento para reducir toda la aritmética a álgebras de unos y ceros. Por ello captó inmediatamente la importancia del elemento neutro. Aquellos caracteres del mensaje en claro P a los que se sumara un ‘/’ no resultarían afectados (la Geheimschreiber no compartía con Enigma la característica de que nunca un carácter fuera la imagen).

Turing halló una forma de incrementar espectacularmente los ‘/’ de manera que fuera posible mirar a través de ellos, si no el texto en claro sí la configuración de conectores de las ruedas Chi. Ya se ha explicado que las ruedas Psi no giran siempre, sino sólo cuando la ruedas motoras envían corriente (un 1, una cruz o cualquier nombre que se le dé). Lógicamente, cuando se quedan quietas generan dos caracteres consecutivos iguales. Si pasamos al nivel de cada uno de los cinco flujos de cruces y puntos, encontraremos el mismo fenómeno, ya que el carácter repetido lo es porque todas las ruedas Psi se mueven al unísono.

Así pues, tanto a nivel de carácter como a nivel de “bit”, podemos definir una nueva secuencia obtenida a partir de sumar los componentes de Psi. Formalmente diremos que de la forma siguiente: DeltaPsi1=Psi1+Psi2, DeltaPsi2=Psi2+Psi3, DeltaPsi3=Psi3+Psi4, etc... En general cualquier secuencia P,C,K, Psi, Chi, y todas las combinaciones de éstas, puede ser “deltizada”. Es trivial demostrar que las relaciones se mantienen, es decir que si L+O=J –por usar letras diferentes y establecer el caso general- no sólo DeltaL+DeltaO=DeltaJ sino también DeltaL=DeltaO+DeltaJ , análogamente a como L=O+J.

Turing se dio cuenta de que al estar la secuencia Psi formada por parejas, tríos o incluso grupos mayores de caracteres iguales, su Delta estaría llena de ‘/’. Turing calculó que incluso con una configuración óptima para el cifrador de las ruedas motoras, por lo menos la mitad de los caracteres de DeltaPsi serían elementos neutros de la adición booleana. Para todos esos caracteres se cumplía que DeltaChi=DeltaK, o dicho de otro modo, en esas posiciones el criptoanalista vería la suma de los estados correspondientes a dos posiciones de las ruedas Chi. La operación Delta es reversible para la secuencia Chi ya que, aunque existen dos soluciones, éstas son indiferentes (son opuestas). Turing había encontrado una ventana para determinar las configuraciones de conectores, si bien no una ventana que cualquiera pudiera atisbar.

El procedimiento llamado Turingerismo, basado en el manejo de las secuencias Delta, comenzaba tomando una secuencia de cifrado K -obtenida a partir del descifrado de dos mensajes enviados con los mismos indicativos- y creando DeltaK. Idealmente la secuencia debía tener más de 500 caracteres.

Utilizando la pluma de tinta se escribían sobre un papel esos caracteres con los cinco puntos y/o cruces correspondiente debajo en columna. Se tomaban cinco hojas más de papel y en cada una se dibujaba una cuadrícula con la anchura del número de conectores de una de las ruedas Chi, y tantas líneas como múltiplo fuera esa anchura del número de caracteres que se tenían de la secuencia K.

El criptoanalista podía empezar con un carácter cualquiera de la secuencia suponiendo que correspondía a una posición en que DeltaPsi=’/’. En principio y sin más análisis, esto tiene una probabilidad del 50% de ocurrir. Como en caso de que sea cierto K=DeltaChi, el operador toma la primera hoja y marca el punto o cruz que se asume está llegando de la primera rueda Chi. Hace lo mismo con todas las hojas, subrayando esas posiciones para indicar que son “firmes” –que sólo dependen de una única suposición de probabilidad conocida. El método consiste en inferir todas las implicaciones de esa suposición para precisar su verdadera probabilidad al comparar con la secuencia K conocida.

Por la forma como habían dibujado las cuadrículas, todas las recurrencias de un conector en cada una de las ruedas formaban una columna. Cada uno de esos conectores volvía a interaccionar con un impulso DeltaPsi cuando su rueda diera toda la vuelta. En los casos en que coincidía con un ‘/’ se transparentaba otra vez. El trabajo del operador era construir una serie de hipótesis sobre en qué casos eso ocurría y en qué casos no. Como las ruedas Psi giraban -o no- a la vez para las cinco secuencias pero tenían un número de posiciones diferente, se creaba un bosque de implicaciones cruzadas.

Cada una de esas deducciones/suposiciones se comparaba con la tabla de puntos y cruces real de la secuencia DeltaK. Dicha comparación no se hacía a ojo sino utilizando la estadística diferencial desarrollada por Turing, es decir sumando los decibanes y centibanes empaquetados como logaritmos neperianos para operar como sumas.

Si todo iba bien, alumbrándose con la tenue luz de esta técnica, el criptoanalista podía hallar un sendero que le permitía llegar a una hipótesis muy detallada que incluía la Delta de todas las ruedas Chi. Entonces construía hipótesis sobre la Delta de las ruedas Psi y las motoras, hasta que al final obtenía una serie de configuraciones de todas las ruedas, ordenadas por probabilidad, que podían ser contrastadas con mensajes reales, tras revertir las Deltas a configuraciones de conectores.

El Turingerismo, el ataque mediante indicadores y diversas técnicas basadas en la inspiración afortunada, permitían sostener un descifrado más o menos continuo de la Geheiemschreiber que operaba en la línea Viena-Salónica, la primera que había entrado en operación. Otras líneas estaban en la fase final de pruebas y se realizaron en ellas algunas intercepciones.

Cada enlace constaba de dos unidades diferentes que se transportaban cada una en un camión y tenían técnicos asignados independientemente, llamados en clave Geheimscreiber y Saegefish. La primera unidad, llamada en clave “Geheimschreiber” contenía el material de radiofrecuencia y las antenas direccionales. La segunda, llamada “Saegefish”, contenía los teletipos, el cifrado y las perforadoras de papel. Cuando un enlace se hacía estable se instalaban los equipos en edificios, pero las pruebas solían hacerse utilizando los propios camiones de transporte, desplegando unas tiendas de campaña alrededor.

El descubrimiento de que Saegefish era la unidad que incluía los teletipos y el cifrado llevó a empezar a utilizar esta palabra en lugar de Geheimschreiber para referirse al sistema. Con el uso Saegefish fue dando lugar a “fish” (pez), que al final se convirtió en el nombre clave genérico para la operación de descifrado del teletipo. En algún momento se empezó a llamar Atún a la máquina cifradora y ese nombre también hizo fortuna. Los diferentes enlaces (no eran redes sino comunicaciones punto a punto) recibirían con el tiempo nombres de peces o animales marinos.

(C) Román Ceano. Todos los derechos reservados.