Códigos secretos en la primera guerra mundial

Matemoción

El pasado 1 de enero, justo el primer día de este nuevo año 2015, se estrenó la película The imitation game (en castellano, “Descifrando enigma”), sobre la vida del matemático Alan Turing, que consiguió romper el código de la enrevesada máquina Enigma, que utilizaron los alemanes durante la Segunda Guerra Mundial para encriptar mensajes.

Escena de la película The imitation game (2014) en la que se ve al actor Benedict Cumberbatch, que encarna al matemático Alan Turing, frente a la máquina Bombe que creó para descifrar los mensajes cifrados de los alemanes encriptados con la máquina Enigma
Escena de la película The imitation game (2014) en la que se ve al actor Benedict Cumberbatch, que encarna al matemático Alan Turing, frente a la máquina Bombe que creó para descifrar los mensajes cifrados de los alemanes encriptados con la máquina Enigma

La película está dirigida por el cineasta noruego Morten Tyldum, e interpretada por el actor británico Benedict Cumberbatch (conocido por interpretar a Sherlock Holmes en la serie televisiva o por su trabajo en Star Trek, en la oscuridad) y la famosa actriz Keira Knightley (Elisabeth Swan en Piratas del Caribe, y una de sus últimas películas ha sido Begin Again). Además, The imitation game está basada en el libro “Alan Turing: the Enigma”, la biografía escrita por el también matemático inglés, escritor y líder del movimiento gay en los años 70, Andrew Hodges.

Imagen de una máquina Enigma, como las utilizadas por el ejército alemán durante la segunda guerra mundial, y que serían un verdadero quebradero de cabeza para los aliados
Imagen de una máquina Enigma, como las utilizadas por el ejército alemán durante la segunda guerra mundial, y que serían un verdadero quebradero de cabeza para los aliados

Pero no vamos a hablar en esta entrada del Cuaderno de Cultura Científica de esta película, ni tan siquiera de la famosa máquina enigma, que era una máquina electromecánica de cifrado rotativo cuyo encriptado de mensajes volvería loco al bando aliado durante la segunda guerra mundial, o del trabajo que realizó el matemático británico Alan Turing para romper su código, y que aceleró el final de la segunda guerra mundial, con victoria del bando aliado. Esta es, sin lugar a dudas, la historia relacionada con la criptografía más conocida en la actualidad. Sin embargo, nosotros vamos a centrarnos en otro ejemplo algo menos conocido, el cifrado ADFGVX, que también jugó un papel muy importante en una gran guerra, pero en esta ocasión, en la primera guerra mundial.

Pero para comprender bien la importancia del cifrado ADFGVX vamos a realizar un rápido repaso por algunos métodos clásicos de cifrado (es decir, de sustitución de las letras del alfabeto por nuevas letras u otros caracteres, para encriptar los mensajes).

Algunos cifrados mono-alfabéticos (se sustituye el alfabeto por un nuevo alfabeto, de símbolos o letras) clásicos, y muy conocidos, son:

A. El cifrado de Julio César, o de traslación. Se sustituye cada letra por otra que está a una cierta distancia fija. Por ejemplo, en el cifrado original de Julio Cesar se trasladan las letras tres posiciones, así la A se convertirá en D, la B se convertirá en E, la C en F, y así se continuará hasta la V que se convertirá en Y, la W que se convertirá en Z, y volviendo al principio, la X se convertirá en A, la Y en B y la Z en C. Así con las 27 letras de nuestro alfabeto.

imagen 3

El mensaje “CUADERNO DE CULTURA CIENTIFICA” se convertiría en “FXDGHUPRGHFXÑWXUDFLHPWLILFD”.

Existen 27 cifrados de este tipo dependiendo de la traslación que se realice, desde 0 posiciones, bueno esto sería dejar el alfabeto como está (que no es realmente un cifrado), hasta 26 posiciones. El disco de Alberti es un sencillo artefacto, formado por dos discos concéntricos, que nos permite elegir la traslación que queramos.

imagen 4

Un cifrado similar es el atbash hebreo que consistía en invertir el orden de las letras, así la A era sustituida por la Z, la B por la Y, la C por la X, etc. De forma que el mensaje “CUADERNO DE CULTURA CIENTIFICA” se transformaba en “XFZWVIML WV XFOGFIZ XRVMGRURXZ”.

B. Sustitución. En general, se puede sustituir de forma directa el alfabeto normal por una colección de símbolos cualquiera, letras o números. Un ejemplo sería el cifrado francmasón, o la cifra Pigpen, que fue utilizada por los masones en el siglo XVIII. En este sencillo cifrado cada letra del alfabeto es sustituida por los símbolos gráficos derivados de la siguiente imagen (o similar):

imagen 5

Así, el mensaje “CUADERNO DE CULTURA CIENTIFICA” se escribiría

imagen 6

Otro ejemplo sería el cifrado inventado en el año 150 a.c. por el historiador griego Polibio. Se trata de sustituir cada letra por el par de números de la posición de la cuadrícula siguiente.

imagen 7

Y el mensaje “CUADERNO DE CULTURA CIENTIFICA” se escribiría “134511141542333414151345314445421113241533442421241311”. Lo curioso es que el sistema fue diseñado por Polibio para trasmitir el mensaje con antorchas ardiendo.

imagen 8

O el método de Francis Bacon que sustituye las letras del alfabeto por grupos de 5 caracteres compuestos por las letras a y b, así A es aaaaa o T es baaba. Es decir, en esencia se sustituye cada letra por un número binario de cinco dígitos (si pensamos que la a es 0 y la b es 1).

El avance del saber (1605), Francis Bacon
El avance del saber (1605), Francis Bacon

Pero en general, vale cualquier grupo de símbolos. Por ejemplo, en el escarabajo de oro (1843), relato de Edgar Allan Poe, aparece el siguiente mensaje cifrado, que esconde la información del lugar en el que se encentra escondido el tesoro del capitán Kidd:

imagen 10

donde se utilizan números y símbolos ortográficos.

En el relato de Poe, su protagonista William Legrand, descifra el mensaje utilizando la misma técnica que se utiliza para todos estos métodos de cifrado anteriores, el análisis de frecuencias de los símbolos. Es decir, se compara la frecuencia de aparición de cada símbolo en el mensaje, con la frecuencia de las letras del alfabeto normal en el idioma que utilice la persona que escribe el mensaje.

Por ejemplo, el carácter que más veces aparece en el mensaje es el “8” y la letra que aparece con más frecuencia en el inglés (idioma en el que ha sido escrito el mensaje) es la letra “e”, de donde se desprende que el símbolo por el que se sustituye la letra e es el 8. Se comparan las frecuencias de los símbolos del texto, con las frecuencias de las letras en el idioma y además se utiliza toda la información sobre el idioma. Por ejemplo, la palabra “the” es la más frecuente en inglés y vemos en el mensaje de “el escarabajo de oro” hay tres grupos de símbolos que terminan en “8” y que se aparecen bastantes veces, exactamente siete veces, es el grupo “;48”, luego “;” es la “t” y “4” es la “h”.

En el castellano las frecuencias de las letras son:

imagen 11

C. El cifrado de Vigenère. Este es un cifrado algo más sofisticado que los anteriores que pretende evitar el análisis de frecuencias, utilizando para ello varios alfabetos de sustitución a la vez (es decir, es un cifrado polialfabético), pero que se basa en el sencillo cifrado de Julio César. Aunque se atribuyó su creación al criptógrafo francés Blaise de Vigenère (1523-1596), parece ser que la primera publicación en la que se registra este método es la obra del criptógrafo italiano Giovan Battista Belasso (1505-¿???), La cifra del Sig. Giovan Battista Belaso (1553).

En primer lugar se necesita una plantilla de cifrado que incluye a todas las posibles variaciones del cifrado de Julio Cesar, desde una traslación de 0 posiciones, que es el alfabeto en su orden natural, subiendo una a una hasta la traslación de 26 posiciones. Por lo tanto, se genera una cuadrícula, o matriz, de 27 filas y 27 columnas (26 si no consideramos la ñ), como la que se muestra en la imagen.

imagen 12

Para encriptar un mensaje se necesita una palabra clave, que nos va a determinar cual va a ser el cifrado, concretamente la trasposición, que se utilizará para cada letra del mensaje. Se considera el mensaje que queremos ocultar, por ejemplo “CUADERNO DE CULTURA CIENTIFICA”, y debajo escribimos la clave, por ejemplo la palabra “RAUL”, que se escribe debajo del mensaje (letra a letra) y repitiendo la palabra clave hasta cubrir todo el mensaje, como se ve en la siguiente imagen.

Así como debajo de la C (de la palabra “cuaderno”), está la R (de la palabra clave), quiere decir que la letra C se debe sustituir por la letra que le corresponde en la línea que empieza por R de la tabla de Vigenère. Es como en el juego de los barcos… vamos entonces al cuadro y a la C, en la fila de la R, le corresponde la T.

imagen 13

Entonces, nuestro mensaje se convierte en el mensaje cifrado “TUUÑVRIZUEWFCTOCRCCOFTCPZCU”.

Por lo tanto, para poder descifrar un mensaje encriptado con el método Vigènere es fundamental conocer la clave. Aunque, de hecho, podemos romper este código (es decir, resolver el problema de encontrar su forma de codificación, su cifrado, su clave) sin excesiva complicación, siempre que tengamos un mensaje, o varios, suficientemente largos. Realmente, no necesitamos tanto como la palabra clave, basta con conocer su longitud.

Ese es exactamente el problema que tiene este método de cifrado, su naturaleza cíclica. Si el criptoanalista que está intentando descifrarlo sospecha que se está utilizando el cifrado de Vigènere y consigue conocer (o simplemente que se pone a hacer suposiciones) la longitud de la palabra clave (en el caso anterior “RAUL”, la longitud es cuatro), entonces puede separar el texto inicial en cuatro textos parciales, que vendrían de considerar en cada texto parcial las letras que están a una distancia de 4 posiciones. En el ejemplo del texto “CUADERNO DE CULTURA CIENTIFICA” los cuatro textos parciales serían “CEDLANI” (los que en la imagen tienen la R de la palabra clave debajo), “URETCTC” (que tienen la A), “ANCUIIA” (que tienen la U) y “DOUREF” (que tienen la L). Separados los textos, aunque en el caso de este ejemplo son textos muy pequeños, habría que aplicar el análisis de frecuencias a cada uno de esos textos parciales (con lo que además adivinaríamos la palabra clave).

El cifrado Vigènere se consideró en su tiempo indescrifrable, hasta que el matemático Charles Babbage (1791-1871) y el militar y criptógrafo Friedrich Kasiski (1805-1881) lo descifraron. De hecho, la idea para el criptoanálisis del método Vigènere es esencialmente la expuesta arriba, que se conoce como método Kasiski.

Tras este breve repaso a algunos sistemas clásicos de codificación, estamos en condiciones de entender la cifra ADFGVX, que como hemos dicho al inicio jugaría un papel muy importante durante la primera guerra mundial.

Al parecer hasta la primera guerra mundial los métodos de cifrado seguían siendo muy básicos y los métodos de criptoanálisis clásicos permitían descifrar cualquier mensaje. Sobre todo desde que la cifra Vigènere había sido descrifrada. Los criptógrafos inventaron nuevos métodos de cifrado durante la primera guerra mundial, en la cual ya se disponía de la radio como medio para enviar mensajes, pero todos fueron rotos sin mucha dificultad por los criptoanalistas.

Desde el bando alemán se introdujo el método de cifrado ADFGVX (inicialmente ADFGX), pensando que por fin tenían un método indescifrable, que les daría la ventaja necesaria durante la guerra, puesto que el factor sorpresa es fundamental. Este método de cifrado, en el que hay dos fases, una de sustitución (con un método similar al de Polibio) y otra de trasposición, fue utilizado por los alemanes en 1918, antes de su ofensiva sobre la ciudad de París, que empezaría en marzo. Su inventor fue el coronel Fritz Nebel.

El nombre viene del uso de las seis letras de apoyo A, D, F, G, V, X, elegidas porque el cifrado final se trasmitía en código Morse y esas seis letras son muy diferentes entre sí en el código Morse, que habñian sido elegidas así para tratar de minimizar los errores en la transmisión.

El día 27 de abril se celebra el Día del código morse
El día 27 de abril se celebra el Día del código morse

¿Cómo se codifica un mensaje con el método de cifrado ADFGVX? Para empezar se forma una cuadrícula 6 x 6 con las letras ADFGVX arriba y a la izquierda como en el juego de los barcos. Como hay 6 x 6 = 36 huecos en la cuadrícula, los rellenamos de forma aleatoria con las 26 letras (no se considera la ñ, claro) y los 10 números. Por ejemplo, la cuadrícula que yo he elegido para esta entrada del Cuaderno de Cultura Científica es …

imagen 15

Esta primera parte del cifrado es más o menos del mismo tipo que otros cifrados vistos. Al igual que en el cifrado de Polibio, se sustituye cada letra del alfabeto, o número, por las dos letras que lo generan mediante el método del juego de barcos en la cuadrícula. Por ejemplo, en el ejemplo que yo he tomado la “O” está en la posición de los barcos AA, luego sustituimos la “O” de nuestro mensaje por AA. Y la “R” está en la posición FA. Por supuesto, el receptor del mensaje necesita conocer esta cuadrícula.

imagen 17

Si nuestro mensaje fuese “CUADERNO DE CULTURA CIENTIFICA” se transformaría en la serie de letras

“GGXDDGDXAGFAFXAADXAGGGXDXXGVXDFADGGGVFAGFXGVVFAXVFGGDG”.

Como decíamos, esta primera parte es una simple sustitución mono-alfabética y se puede descodificar mediante el análisis de frecuencias, si se tiene en cuenta que cada letra se corresponde con un par de letras en el mensaje. Para la segunda parte de la codificación hace falta una palabra clave, por ejemplo IBAÑEZ, que deberá conocer el receptor del mensaje. A continuación, se dibuja otra cuadrícula, de forma que en la parte de arriba se pone la palabra clave IBAÑEZ, luego habrá seis columnas, y después debajo se va añadiendo el texto cifrado de la primera fase, fila a fila.

imagen 17

Después se permutan las columnas al poner las letras de la palabra clave en orden alfabético, en este caso, ABEIÑZ.

imagen 18

Y ahora se escribe el texto según el orden de la fila. Así el mensaje original “CUADERNO DE CULTURA CIENTIFICA” se ha convertido en “XGDGDGAXFDGAAXDFAXGGXAGDGXXXVDDAGFGGAFFVGXVVAGFXGFDVGG”. Observemos que en este proceso se han separado además los pares de letras asociados a cada letra original. Así, las dos primeras letras del texto intermedio GG, que se correspondían con la letras C (de la palabra CUADERNO) ahora están en las posiciones segunda y cuarta “XGDG…”.

Finalmente, el mensaje cifrado se transmite en código Morse.

Nos cuenta Simon Sigh en su libro “los códigos secretos” que a principios de junio de 1918, los alemanes se encontraban ya a las puertas de Paris, a 100 kilómetros, y preparaban su ofensiva final. Si los aliados conseguían descifrar la cifra ADFGVX quizás pudiesen averiguar el lugar por el que pensaban atacar los alemanes y prepararse para su ataque. En el bando aliado se encontraba el criptoanalista francés Georges Painvin intentando romper el código ADFGVX, en lo que estuvo trabajando sin descanso, día y noche, perdiendo hasta 15 kilos de peso en el proceso.

Finalmente, el 2 de junio descifro un mensaje encriptado con el código ADFGVX, al que le seguirían algunos otros mensajes, lo cual no fue una tarea sencilla puesto que con este sistema de codificación no valían los métodos clásicos de criptoanálisis. Entre los mensajes descifrados estaba el siguiente «Envíen municiones rápidamente. Incluso durante el día si no os ven». Se identificó el lugar desde donde había sido enviado este mensaje en particular, a 80 km de Paris, y puesto que se mencionaba que se necesitan municiones, se sospechó que ese sería el lugar por el que atacarían los alemanes. Como así fue, pero los aliados ya estaban avisados y los alemanes fueron derrotados.

Para cerrar esta entrada del Cuaderno de Cultura Científica mencionaremos otro ejemplo de encriptación utilizado durante la primera guerra mundial. Durante la misma el bando aliado utilizaría un curioso método, no de cifrado, sino de codificación, es decir, de escritura en clave sustituyendo palabras o frases enteras por otras palabras, expresiones, números o símbolos, que después se volvería a utilizar como mucho éxito durante la segunda guerra mundial, el uso de la lengua de los indios norteamericanos. En concreto, durante la primera guerra mundial sería la lengua de los choctaw, es decir, se sustituirían palabras del mensaje original por palabras en el idioma de los choctaw. Pero esa es otra historia, que será contada en otra ocasión.

Seis indios choctaw que combatieron con el ejército de Estados Unidos durante la primera guerra mundial y que trabajaron como operadores de radio, empleando su lengua para la codificación de mensajes. En total fueron diecinueve los indios choctaw que realizaron dichas labores
Seis indios choctaw que combatieron con el ejército de Estados Unidos durante la primera guerra mundial y que trabajaron como operadores de radio, empleando su lengua para la codificación de mensajes. En total fueron diecinueve los indios choctaw que realizaron dichas labores

Bibliografía

1.- Santiago Fernández, La criptografía clásica, Revista SIGMA, n. 24

2.- Marta Macho, Trigonometría para piratas, Cuaderno de Cultura Científica, 2013.[

3.- Edgar Allan Poe, El escarabajo de oro, Nivola, 2007.

4.- Simon Singh, Los códigos secretos, Debate, 2000.

Sobre el autor: Raúl Ibáñez es profesor del Departamento de Matemáticas de la UPV/EHU y colaborador de la Cátedra de Cultura Científica

13 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada.Los campos obligatorios están marcados con *