Los comienzos del siglo XX
Winston Churchill al Rey Jorge VI.
Representación de la máquina Enigma. Animación de elaboración propia.
Hasta este siglo, habíamos vivido toda una historia de casi 4.000 años donde unos escondías mensajes para siempre ser descubiertos por otros. Pero todo se hacía con una particularidad: manualmente. La llegada del siglo XX lo revolucionó todo. Ya nunca más se enfrentarían humanos contra humanos, sino máquinas cotra máquinas.
Enigma fue inventada por un Alemán llamado Arthur Scherbius en 1918. Por desgracia para el ejército Alemán, en ese momento de la I Guerra Mundial, no eran conscientes de que su código había sido descifrado, lo que unido al alto precio de la máquina hicieron que ésta no apareciera durante esa guerra. Quizás de haber sido así, el resultado hubiera sido muy distinto. Pero cuando Alemania descubrió que gran parte de su derrota se debió a la vulnerabilidad de su código por los ingleses, pronto adoptaron Enigma como sistema de encriptación de todos sus mensajes, sobre todo a raíz de dos informes británicos publicados en 1923, sobre material criptográfico interceptado en la I guerra mundial: 'The World Crisis de Winston Churchill' e 'Historia oficial de la I Guerra Mundial' publicada por la Marina Real británica. Claro, al finalizar la I Guerra Mundial, nadie sospechaba que pronto habría otra incluso peor y al parecer se publicó mucha información secreta. Con la II no pasaría lo mismo.1
Los primeros modelos de la máquina eran pesados y ocupaban bastante volumen (modelos A y B). Pero en 1925 llegó el modelo C mucho más ligero y pequeño y además, incorporaba un reflector (cuya utilidad se explica en la siguiente sección). Una máquina para encriptar no era algo único de los alemanes. Todos de una u otra forma usaron máquinas similares, aunque Enigma fue la más avanzada de todas y cómo se descifró su código ha sido una de las grandes hazañas de la historia. Una película reciente titulada "descifrando Enigma" (muy recomendable) cuenta la historia con bastante exactitud.
Existieron diferentes modelos de Enigma a lo largo de la guerra. El mismo ejército alemán usó distintos modelos según fueran submarinos, ejército de tierra, etc. En total se calcula que los alemanes usaron más de 30.000 máquinas a lo largo de la guerra. El modelo básico constaba de un teclado para escribir, un panel inferior (clavijero) para intercambiar letras, 3 o 4 rotores y un reflector.2
¿Cómo funcionaba Enigma?
Aunque en la siguiente sección explicaremos este método de encriptado, voy a explicar brevemente su funcionamiento (nada fácil, por cierto). Advierto que es un poco complejo, aunque menos de lo que parece.
El corazón de Enigma eran los 3 rotores. Hemos explicado que muchos de los métodos usados en Criptografía era simplemente cambiar las posiciones de las letras del alfabeto. Eso es lo que hace un rotor, con la característica que cada vez que se codifica una letra, el rotor se desplaza una posición y, por tanto, el alfabeto cambia. Sin embargo, al codificar 26 veces una letra obtendríamos su codificación inicial. Para evitar precisamente esa repetición, la máquina constaba de tres rotores, de manera que al codificar una letra saltaba una posición el rotor más rápido, el de más a la derecha. Una vez había dado una vuelta entera, empezaba a rotar el de en medio (para cada nuevo movimiento había que esperar los 26 movimientos del rotor rápido) hasta llegar al menos rápido que era el de la izquierda. Es como pensar en un reloj. Cada vez que el segundero da una vuelta completa, el minutero aumenta una posición. Cuando esta manilla gira una vuelta lo hace la manilla que marca la hora. Así de fácil y así de complicado. El reflector permitía volver a reflejar la señal y que esta apareciera decodificada en un panel superior.
Por si acaso, los alemanes añadieron un panel inferior llamado clavijero donde además se podían intercambiar letras. Así, si se intercambiaban la A por la G, cada vez que se escribía una A era como escribir una G y viceversa. Esto lo hiceron para desconcertar a los aliados en el caso de desencriptar el código. Además, la máquina Enigma permitía intercambiar los 3 rotores. Hay que tener en cuenta que cada rotor contenía una permutación del abecedario pero no ordenado. Así, en lugar de ser ABCDEFGHIJKLMNOPQRSTUVWXYZ, los rotores mediante contactos internos tenían la siguiente secuencia de letras:
- Rotor I EKMFLGDQVZNTOWYHXUSPAIBRCJ
- Rotor II AJDKSIRUXBLHWTMCQGZNPYFVOE
- Rotor III BDFHJLCPRTXVZNYEIWGAKMUSQO
- Rotor IV ESOVPZJAYQUIRHXLNFTGKDCMWB
- Rotor V VZBRGITYUPSDNHLXAWMJQOFECK
(Aunque hemos dicho que Enigma tenía 3 rotores existieron modelos de hasta 5)
Cada mes los operadores de Enigma recibían un nuevo libro de códigos con las claves que se debían usar cada día:
* Las posiciones del clavijero: A/D C/G M/P R/S T/F L/U
* La disposición u orden en que se colocaban los rotores: 2-1-3
* Las posiciones iniciales de los rotores: S M E
La combinación de los tres rotores da una cifra posible de 17.576 cifras (26 X 26 X 26); es decir, que si un mensaje tuviera más de 17.576 letras, aparecerían repeticiones.
Además de esta cifra, hay que multiplicar por 6 combinaciones posibles relacionadas con el orden de los rotores y las diferentes combinaciones de pares de letras en el panel del clavijero. No os voy a aburrir con los cálculos, pero el resultado definitivo es que la máquina Enigma podían cifrar un texto utilizando 10 16 (17.576 * 6 * 100.391.791.500) combinaciones diferentes!3. ¡Una barbaridad!.
Por cierto, si queréis probar en casa cómo funcionaba esta máquina, podéis descargaros este fantástico simulador que además es totalmente gratuito (Windows/Mac): Enigma Simulator v7.0
El código al descubierto: Alan Turing
E Alan Mathison Turing, fue un matemático y corredor de distancia británico. Considerado uno de los padres de la ciencia de la computación y precursor de la informática moderna, fue la persona que descifró Enigma, acortó la guerra en más de dos años4 y salvó millones de vidas.
La carrera de Turing terminó tras ser procesado por ser homosexual. Dos años después de su condena murió, según la versión oficial por suicidio, aunque ha habido todo tipo de teorías, incluida la del asesinato. El 24 de diciembre de 2013, la reina Isabel II promulgó el edicto por el que se exoneró oficialmente al matemático, quedando anulados todos los cargos en su contra.5
La historia de cómo los aliados rompieron el código de Enigma ha hecho últimamente correr mucha tinta, sobre todo tras la película que antes he nombrado. No obstante, el mérito inicial fue de los polacos, que contaban desde 1919 con una unidad especializada en descifrar mensajes. Cada mensaje en Enigma usaba una clave de cifrado particular; al ser simétrica, se usaba la misma tanto para codificar como para descodificar. Estas claves eran escritas con tinta roja soluble en agua, para asegurarse de que no cayeran en manos enemigas. Pero un agente francés se hizo con las tablas de claves de dos meses, y gracias a ellas el matemático Marian Rejewski pudo averiguar cómo funcionaban exactamente las Enigma con las modificaciones militares. Así, él y su equipo diseñaron un artefacto electromecánico capaz de descifrar los mensajes al que llamaron Bomba por el ruido que hacía al funcionar.
El 25 de julio de 1939, poco antes de la caída final de Polonia en manos alemanas, el servicio de inteligencia polaco informó de todos sus logros a ingleses y franceses. A los segundos les sirvió de poco, pero los británicos formaron una división criptográfica llamada Bletchley Park al norte de Londres, donde trabajaba Turing. Allí y, como parte del programa “Ultra”, (ultra-secreto), Turing construyó un ordenador primitivo llamado “Colossus”, dedicado exclusivamente a encontrar las claves que ayudaran a reconfigurar la máquina después de cada cambio de los rotores, cosa que los alemanes hacían diariamente. El éxito de la decodificación se debió en parte al monumental esfuerzo de decenas de matemáticos, ingenieros y oficiales de inteligencia, pero también a los errores de utilización por parte de algunos operadores alemanes y de una máquina y los libros de cifrado, capturada en un submarino alemán durante la guerra.
El éxito del desciframiento de la clave alemana fue un secreto durante la guerra e incluso muchos años después de acabar ésta. Los alemanes e incluso los aliados -salvo un pequeño grupo de personas- jamás supieron de este hecho. Es más, Turing y su equipo tuvieron que decidir que información y de que manera se pasaba a los distintos servicios secretos de los países aliados, todo encaminado a que Alemania jamás sospechara que el código de Enigma había sido roto. De haber sido así, este podría haber sido cambiado en cuestión de días y toda la ventaja y el esfuerzo conseguido habría sido en vano.
Enigma fue el elemento clave que ayudó a derrotar a los nazis. El mismo Primer Ministro Británico, Winston Churchill, así se lo hizo saber al rey Jorge VI al finalizar el conflicto: “Fue gracias a Ultra que ganamos la guerra”.
Bibliografía y referencias
1. http://blogs.elpais.com/turing/2013/06/alan-turing-el-descifrado-de-la-maquina-enigma.html
2. http://ciphermachines.com/enigma
3. http://es.ccm.net/contents/131-criptografia-enigma/
4. Hodges, Andrew. Alan Turing: The Enigma. Princeton University Press, 2012
5. 'Turing, condenado por gay, recibe el perdón real 60 años después de su muerte'. Diario 'El País', edición del 24 de diciembre de 2013.