Ir al contenido principal

Criptografía (CCCXLVI): Guerra Civil Española - Clave Regidor (I)

El 29 de Julio de 1936, nada más comenzar la Guerra Civil Española, el general Emilio Mola (en la imagen que ilustra este post. Fuente: wikipedia), director de las operaciones militares al mando del Ejército del Norte, envió un telegrama cifrado con la clave Regidor al general Francisco Franco informándole de la situación en el frente, y que fue interceptado por los republicanos.

El telegrama en cuestión es el siguiente (Fuente: Taller de Criptografía - Diversos documentos de la Guerra Civil Española, en donde a su vez cita como fuente del mismo al Archivo sobre la Guerra Civil Española):

Pues bien, aunque el telegrama no es demasiado extenso voy a intentar criptoanalizarlo; no será fácil, pero antes de empezar pongo el telegrama en su contexto histórico conforme a la fecha en la que se envió y al texto no cifrado del mismo, ya que esto puede darme pistas a la hora de hacer conjeturas sobre la parte cifrada del telegrama.

En 1936, como consecuencia del plan diseñado por Mola, se constituyeron una serie de "columnas", formadas por hombres pertenecientes a distintas unidades militares y por voluntarios, que debían marchar hacia diversos objetivos considerados estratégicos.

Así:

- Columna Ponte: el general Miguel Ponte (en la imagen. Fuente: wikipedia) luchó en el Alto del León (puerto de Guadarrama), resultando herido en las operaciones, y tomó el mando de la columna el 26 de julio de 1936.

El general Ponte logró contener los ataques y desalojar a los frentepopulistas del puerto, que se retiraron hacia Guadarrama.

- Columna Cayuela: constituida en Estella por el teniente coronel Pablo Cayuela (en la imagen. Fuente: Altsasu memoria), tomó Alsasua sin resistencia por parte de los frentepopulistas que controlaban la ciudad.

Permaneció en Alsasua hasta que recibió el refuerzo de la columna Albizu, operando de inmediato junto a ella hasta ocupar Beasain. 

- Columna Doñabeitia: constituida en Pamplona se puso bajo el mando del capitán Pablo Díaz Doñabeitia (en la imagen. Fuente: rutasbelicas.com) saliendo de inmediato camino de Oyarzun.

Pasó a Oyarzun a través de Hernani, colaborando en su ocupación junto a la columna del coronel Beorlegui, a la que se incorporó.

- Pérez Farrás: comandó una columna republicana que partió de Barcelona hacia el frente de Aragón.

- Los lugares que aparecen son: Pasajes, San Sebastián, Oviedo y Galicia.

Tal y como se observa, en este telegrama el General Mola informa al General Franco de las diversas operaciones militares realizadas a la fecha por las distintas columnas, y contiene en su parte en claro los nombres de los militares que dan nombre a las columnas, de lugares y de otra persona, por lo que es predecible que en la parte cifrada también aparezcan nombres relacionados con éstos. Por ello, está claro que no es una buena idea cifrar parcialmente un documento; por las pistas que esto puede dar a los criptoanalistas.

En cuanto al criptoanálisis, lo primero que voy a suponer es que se trata de un cifrado de sustitución homofónica sin cinta móvil, ya que no observo nada que pudiera indicar la posición en que se posicionaría una de estas últimas.

En la Guerra Civil Española, los cifrados de sustitución por homófonos fueron adoptados por ambos bandos e, inicialmente, para formar la tabla de homófonos se distribuían los números del '10' al '99', colocándolos en decenas en cada una de las filas (del '10' al '19' en la primera, del '20' al '29' en la segunda y así sucesivamente), sin seguir un orden correlativo en cada una de ellas, y de tal forma que a cada carácter del texto en claro le correspondieran entre 3 y 4 homófonos. A lo largo de la guerra se llegaron a representar como homófonos los números del '00' al '99', y a cada carácter del texto en claro le correspondían entonces entre 3 y 5 homófonos.

En el telegrama veo que sólo aparece un homófono de la primera decena '00' y, además, que éste lo hace en una sola ocasión, al final de la parte cifrada, por lo que lo segundo que voy a suponer es que se trata de una tabla con homófonos del '10' al '99' y que el homófono '00' se utiliza como indicador de final de mensaje cifrado.

A partir de estas dos primeras suposiciones voy a ir realizando ciertas conjeturas sobre los homófonos que pueden corresponder a determinadas letras en el texto en claro basándome en su frecuencia de aparición en el criptograma y en la búsqueda de patrones. Nada de lo que vaya infiriendo tiene por qué ser cierto, sólo será lo que entienda como más probable, por lo que iré comprobando los pasos que sucesivamente vaya dando y deshaciendo aquellos que se revelen como falsos.

Antes de continuar, la tabla que voy a utilizar para las frecuencias con las que se espera encontrar cada una de las letras en un texto en claro en español es la siguiente:
Y la frecuencia de aparición de los homófonos en el criptograma es la siguiente:
Donde: Hom. = Homófono; Nº = Nº de apariciones;
 Fr. = Frecuencia aparición; Fr. x 3 = Frec. aparición x 3
Notas:
1.- Sólo figuran los homófonos que aparecen en el criptograma. 
2.- Se excluye '00' por suponerse que se trata de indicador de final de cifrado, es decir, por no tener significado en el texto en claro.
3.- Clasificación de mayor a menor número de apariciones en el criptograma.
4.- Como referencia se calcula la frecuencia de aparición x 3 considerando que cada homófono tiene 1/3 de probabilidades de ser elegido para representar a su letra.

Voy a suponer inicialmente que los homófonos que tienen una frecuencia de aparición x 3 mayor o igual que 14% representan a la 'E' o a la 'A' (las dos letras y vocales más frecuentes en español); no sé todavía qué homófono a qué letra. Así: 27(20,39%), 35(17,48%), 68(16,02%) y 81(14,56%) se corresponderían con algunas de esas dos vocales.

El primer patrón que voy a buscar intenta saber otros homófonos que pudieran corresponder a las vocales y homófonos que pudieran representar a consonantes de media, baja y muy baja frecuencia (de la 'B', incluida, en adelante en la tabla de frecuencia de las letras que se ha indicado antes).

- Cadenas de 3 homófonos (trigramas) distintos posicionados de forma consecutiva, que no contengan ninguno de los homófonos que se vayan catalogando como vocales, con un homófono con frecuencia de aparición x 3 alta o muy alta (mayor o igual que 10%) y otros dos de frecuencia de aparición media, baja o muy baja (menor que 5%). Esto lo baso en que en español es poco probable que tres caracteres consecutivos no contengan, al menos, una vocal. Por tanto, los trigramas así seleccionados contendrán con mucha probabilidad, al menos, una vocal, y para identificar cuál se corresponde con la vocal, no sabré de que vocal concreta se trata, supondré que se corresponde con el homófono de mayor frecuencia, que será alta o muy alta.

Los trigramas seleccionados han sido los siguientes (entre paréntesis se indica su frecuencia de aparición x 3 y se resalta en color rojo el que representaría a una vocal):

263173: 26(1,46%), 31(10,19%), 73(2,91%).
173815: 17(4,37%), 38(2,91%), 15(11,65%).
123465: 12(4,37%), 34(13,11%), 65(2,91%).
798493: 79(10,19%), 84(4,37%), 93(4,37%).

Con lo que tendría cuatro vocales más.

Hasta el momento tengo que, probablemente, son vocales de alta o muy alta frecuencia ('E', 'A', 'O, 'I'): 27(20,39%), 35(17,48%), 68(16,02%), 81(14,56%), 34(13,11%), 15(11,65%), 31(10,19%), 79(10,19%).

El siguiente patrón que voy a buscar trata de identificar qué homófono u homófonos catalogados como vocal pueden ser la 'E', la vocal y letra más frecuente en español. La letra 'E' es la que predomina claramente como primer carácter de los bigramas y, en concreto, entre los bigramas más frecuentes en español están: 'ES', 'EN', 'ER', 'EL' es decir, a la letra 'E' le sigue de forma mayoritaria una consonante de alta o muy alta frecuencia. Por tanto:

- Cadenas de 2 homófonos consecutivos (bigramas) repetidos que comiencen con uno de los homófonos que he catalogado como vocal, en el que el segundo homófono no sea uno de los catalogados como vocal y en los que este segundo homófono tenga una frecuencia de aparición x 3 mayor o igual que 10%:

27(20,39%): 2723 (se repite 3 veces).
35(17,42%): 3595 (se repite 2 veces), 3558 (se repite 3 veces).
68(16,02%): 6811 (se repite 2 veces), 6895 (se repite 2 veces).
81(14,56%): 8119 (se repite 2 veces).
15(11,65%): 1562 (se repite 2 veces).
31(10,19%): 3111 (se repite 2 veces).

Por tanto, serían consonantes de alta o muy alta frecuencia: 23(11,65%), 95(13,11%), 58(11,65%), 11(11,65%), 19(10,19%) y 62(11,65%).

A la vista de los resultados obtenidos hasta el momento, creo que los homófonos 27 y 35 representarían a la 'E' en el texto en claro. El primero de ellos porque se repite tres veces en la búsqueda con este patrón y, además, es el homófono con una mayor frecuencia de aparición en el criptograma; y el segundo porque aparece 5 veces en la búsqueda con este patrón y, además, es el segundo homófono que mayor número de veces figura en el criptograma.

Así las cosas, el siguiente homófono podría ser la 'A', ya que se repite cuatro veces en la búsqueda con este patrón y, además, es el tercer homófono que más veces aparece en el criptograma. Además, si no me he equivocado con las dos asignaciones anteriores a la 'E', no creo que represente también a la 'E', ya que la suma de las frecuencias de estos tres homófonos superaría por bastante la esperada para esa letra en un texto en claro en español.

El 81 presenta una frecuencia muy alta, es el cuarto homófono con mayor frecuencia de aparición en el criptograma. Con las asignaciones realizadas hasta el momento, no creo que represente a la 'E', ya que de forma análoga a lo indicado en el párrafo precedente, la suma de las frecuencias de este homófono más la de los dos asignados a la 'E' superaría por bastante la esperada para esa letra en un texto en claro en español, por lo que creo que podría ser la 'A'.

El 31 no podría ser la 'E' ya que está en la misma decena que 35, que he asignado a la 'E', y, por tanto, creo que podría ser la 'A' o la 'O'. Por su frecuencia de aparición, voy a asignarlo provisionalmente a la 'O'.

Con este resultado me surgen muchas dudas sobre los homófonos que pudieran representar a las tres consonantes de más alta frecuencia: 'S', 'R' y 'N', pero creo que están entre las consonantes detectadas.

No veo homófonos contiguos repetidos que me pudieran indicar la  existencia de 'LL' o 'RR', salvo en la segunda fila al final de la parte cifrada, 9292, pero esto era algo habitual cuando el número de homófonos entre dos partes cifradas era impar; se repetía el último homófono. Hecho tal y como se hace en este telegrama no es muy recomendable, lo mejor hubiera sido indicar al final de la parte cifrada otro homófono de la misma letra a la que representa el anterior, ya que si no se da una pista a los criptoanalistas: la última palabra tiene una letra menos de lo que podía parecer.

No observo trigramas repetidos.

No parece que he obtenido gran cosa, pero voy a realizar una primera aproximación al texto en claro (la frecuencia entre paréntesis se refiere a la frecuencia sin multiplicar x 3):

'E': 27(6,80%), 35(5,83%)
'A': 68(5,34%), 81(4,85%)
'O': 31(3,40%)
Poco veo aquí, salvo que en la línea 4 hay demasiadas letras 'E' de forma casi consecutiva, lo que me hace sospechar que, al menos, uno de los dos homófonos que he dicho que podrían representar a esa letra está mal asignado.

Voy a intentar aprovecharme de la vulnerabilidad que supone el cifrado parcial. Se me ocurre que al final del texto no cifrado "... columna Ponte completó efectivos..." puede venir: 'CON', 'COLUMNA', 'PARA', 'TRAS',... Teniendo en cuenta que la segunda y cuarta letras las he identificado como 'A' y 'E', respectivamente, por tener una frecuencia muy alta, y que el primer homófono (49) tiene una frecuencia x 3 media (5,83%) y el tercero lo hemos identificado con una consonante de alta o muy alta frecuencia, entiendo que la palabra que mejor encaja es 'PARA', pero para ello: el homófono 27 debería ser 'A'. Cambio: 27 pasa a asignarse de 'E' a 'A' y 81 pasa de 'A' a 'E'.

'E': 35(5,83%), 81(4,85%)
'A': 27(6,80%), 68(5,34%)
'O': 31(3,40%)
'R': 62(3,88%)
'P': 49(1,94%)
Continúo asignando homófonos para las consonantes de alta o muy alta frecuencia de entre los candidatos detectados, el 62 ya lo he asignado a la 'R'. Voy a suponer que 58 y 95 representan al mismo homófono y que éste es 'S', la consonante más frecuente en español, y  de esta forma el bigrama 'ES', uno de los más frecuentes en español, se repetiría 5 veces y el bigrama 'AS', el segundo más frecuente de los que comienzan por 'A', se repetiría 2 veces. Además, voy a asignar el homófono 23 a la 'R', la segunda consonante más frecuente en español, y de esta forma el bigrama 'AR', el bigrama más frecuente que empieza por 'A', se repetiría 3 veces. Y, por último, voy a asignar 11 a 'N', la tercera consonante más frecuente en español, y de esta forma el bigrama 'ON', el segundo bigrama más frecuente de los que comienzan con 'O', aparecería 2 veces.

No me convence del todo, ya que con estas asignaciones el bigrama 'EN', uno de los más frecuentes en español, no se repetiría en el criptograma, aunque podría haber algún homófono aún no asignados a 'E' y 'N' que hicieran que sí se repita este bigrama. En cualquier caso, voy a ver si de esta forma puedo ya ver o intuir algo más y si no es así o veo que hay alguno homófono incorrectamente asignado probaré con otras correspondencias.

'E': 35(5,83%), 81(4,85%)
'A': 27(6,80%), 68(5,34%)
'O': 31(3,40%)
'S': 95(4,37%), 58(3,88%)
'R': 23(3,88%)
'N': 11(3,88%)
'P': 49(1,94%)
Se ve alguna palabra más, pero sobre todo queda claro que no es una buena idea cifrar parcialmente un texto. ¿Por qué digo esto? Lo dejo para la siguiente entrada por no hacer excesivamente larga y tediosa ésta.

Quizás también te interese:

Comentarios

Entradas populares de este blog

Criptografía (I): cifrado Vigenère y criptoanálisis Kasiski

Hace unos días mi amigo Iñaki Regidor ( @Inaki_Regidor ), a quien dedico esta entrada :), compartió en las redes sociales un post titulado "Criptografía: el arte de esconder mensajes"  publicado en uno de los blogs de EiTB . En ese post se explican ciertos métodos clásicos para cifrar mensajes , entre ellos el cifrado de Vigenère , y , al final del mismo, se propone un reto consistente en descifrar un mensaje , lo que me ha animado a escribir este post sobre el método Kasiski  para atacar un cifrado polialfabético ( conociendo la clave descifrar el mensaje es muy fácil, pero lo que contaré en este post es la forma de hacerlo sin saberla ). El mensaje a descifrar es el siguiente: LNUDVMUYRMUDVLLPXAFZUEFAIOVWVMUOVMUEVMUEZCUDVSYWCIVCFGUCUNYCGALLGRCYTIJTRNNPJQOPJEMZITYLIAYYKRYEFDUDCAMAVRMZEAMBLEXPJCCQIEHPJTYXVNMLAEZTIMUOFRUFC Como ya he dicho el método de Vigenère es un sistema de sustitución polialfabético , lo que significa que, al contrario que en un sistema...

Criptografía (XXIII): cifrado de Hill (I)

En este post me propongo explicar de forma comprensible lo que he entendido sobre el cifrado de Hill , propuesto por el matemático Lester S. Hill , en 1929, y que se basa en emplear una matriz como clave  para cifrar un texto en claro y su inversa para descifrar el criptograma correspondiente . Hay tres cosas que me gustan de la criptografía clásica, además de que considero que ésta es muy didáctica a la hora de comprender los sistemas criptográficos modernos: la primera de ellas es que me "obliga" a repasar conceptos de matemáticas aprendidos hace mucho tiempo y, desgraciadamente, olvidados también hace demasiado tiempo, y, por consiguiente, que, como dice  Dani , amigo y coautor de este blog, me "obliga" a hacer "gimnasia mental"; la segunda es que, en la mayoría de las ocasiones, pueden cifrarse y descifrase los mensajes, e incluso realizarse el criptoanálisis de los criptogramas, sin más que un simple lápiz y papel, es decir, para mi es como un pasat...

¿Qué significa el emblema de la profesión informática? (I)

Todas o muchas profesiones tienen un emblema que las representa simbólicamente y en el caso de la  informática: " es el establecido en la resolución de 11 de noviembre de 1977  para las titulaciones universitarias superiores de informática, y  está constituido por una figura representando en su parte central  un  núcleo toroidal de ferrita , atravesado por  hilos de lectura,  escritura e inhibición . El núcleo está rodeado por  dos ramas : una  de  laurel , como símbolo de recompensa, y la otra, de  olivo , como  símbolo de sabiduría. La  corona  será la  de la casa real  española,  y bajo el escudo se inscribirá el acrónimo de la organización. ". Veamos los diferentes elementos tomando como ejemplo el emblema del COIIE/EIIEO (Colegio Oficial de Ingenieros en Informática del País Vasco/ Euskadiko Informatikako Ingeniarien Elkargo Ofiziala ) . Pero no sólo el COIIE/EIIEO adopta el emblem...