Ir al contenido principal

Criptografía (V): la máquina Enigma (IV)

En estos últimos posts sobre la máquina Enigma me propongo compartir lo que he aprendido sobre cómo se consiguió "romper" su cifrado.

Se trata de una historia muy larga y muy compleja, por lo que intentaré simplificar lo que he entendido sobre ella para no aburrir y hacerla lo más comprensible que me sea posible.

Las debilidades de la máquina Enigma que propiciaron el criptoanálisis vinieron por una parte de su diseño, las menos y relativamente poco importantes, y por otra parte de su utilización (operación), las más y las que al final resultaron decisivas para poder "romper" su cifrado.

Todo ello, junto con la información que se filtró y obtuvieron los aliados sobre su funcionamiento y uso, hizo posible el criptoanálisis.

Las citadas debilidades pueden resumirse en las siguientes:

1.- La introducción del reflector proporcionó una ventaja muy importante desde el punto de vista de operación de la máquina, ya que el cifrado y descifrado se podían realizar, siempre que se dispusiera de una máquina igual, con la misma configuración (clave) y sin necesidad de hacer ninguna modificación, pero, al mismo tiempo, fue su debilidad de diseño más importante.

2.- Para no generar un elevado número de mensajes con la misma clave, algo que podía dar pistas a los criptoanalistas, los alemanes decidieron que cada mensaje debía tener su propia clave, lo que pensaban que aumentaba la seguridad y para lo que actuaban de la forma que comento más adelante, pero esto permitió a los criptoanalistas deducir el cableado de los rotores y del reflector; primer paso, necesario pero no suficiente, para atacar de forma sistemática el cifrado de los mensajes.

Y digo no suficiente porque la máquina Enigma seguía el principio de Kerckhoffs, por el cual:

"La seguridad del sistema debe recaer en la seguridad de la clave, debiéndose suponer conocidos el resto de los parámetros del sistema criptográfico".

Es decir, los alemanes eran plenamente conscientes de que se filtrarían los detalles técnicos de funcionamiento de la máquina y de que incluso algunas de las máquinas podían caer en manos del enemigo, pero tampoco les preocupaba en exceso porque la verdadera fortaleza de su cifrado residía en la clave. Aunque los aliados consiguieran fabricar réplicas de la máquina Enigma, el verdadero desafío consistía en conocer la clave.

La forma de operar a la que he hecho referencia anteriormente para que cada mensaje tuviera su propia clave era la siguiente:

Mensualmente los operadores recibían un libro con las claves a utilizar cada día y, para no enviar durante todo un día mensajes con la misma clave (en un mismo día se transmitía una cantidad ingente de ellos), se les ocurrió que fuera el operador quien estableciera la clave para cada mensaje a transmitir (lo que llamaron "clave de sesión"), de la siguiente manera:

2.1.- Para cifrar un mensaje el operador debía configurar la máquina con la clave del día (la que figuraba en el libro que había recibido) y teclear tres letras a su elección que indicaban la posición inicial de los rotores (parte de la clave) con la que iba a cifrar ese mensaje concreto. Para evitar errores (de operación y/o de transmisión) hacía esto dos veces seguidas.

Es decir, por ejemplo, un operador podía elegir 1-2-3 ("ABC") como posición inicial de los rotores con la que cifrar un mensaje concreto y tecleaba "ABCABC" (lo que con la clave del día podría cifrarse como "BJEGSM").

Después, manteniendo el resto de la configuración (clave del día), giraba los rotores hasta la posición inicial que él había elegido 1-2-3 ("ABC") y tecleaba el mensaje a cifrar.

2.2.-Para descifrar el mensaje, el operador que lo recibía debía configurar la máquina con la clave del día (la que figuraba en el libro que había recibido) y teclear los seis primeros caracteres del mensaje. En nuestro ejemplo "BJEGSM", con lo que vería como texto en claro "ABCABC" (es decir, dos veces de forma consecutiva la posición inicial de los rotores que había sido elegida por el otro operador para cifrar el mensaje concreto), con lo que lo único que debía hacer para obtener el texto en claro correspondiente al mensaje cifrado era girar los rotores hasta esa posición inicial 1-2-3 ("ABC") y teclear el resto del mensaje recibido.

Un sistema ingenioso para que cada mensaje tuviera su propia clave ("clave de sesión"), evitando así transmitir muchos de ellos con la misma clave, pero que, como digo, abrió la puerta al criptoanálisis.

3.- La falta de disciplina de los operadores, ya que en muchas ocasiones a la hora de establecer la posición inicial de los rotores como "clave de sesión" utilizaban el mismo carácter ("AAA",...) o caracteres consecutivos ("ABC",...) o letras consecutivas del teclado ("QWE") o un mismo operador siempre repetía los tres mismos caracteres, etc., lo que también daba pistas a los criptoanalistas.

4.- Para dificultar aún más el criptoanálisis, los alemanes establecieron otras estrictas normas para la operación de las máquinas, entre ellas, por ejemplo, que no se podía conectar una letra en el panel de conexiones ni con el carácter anterior ni con el posterior, que un rotor no podía estar alojado en una misma ranura más de un día, etc., lo que aunque en principio dificultaba el criptoanálisis se volvió en su contra, ya que si se conseguía conocer una clave esto permitía desechar muchas combinaciones posibles cuando se cambiaba.

5.- La emisión de un elevado número de mensajes, siempre a la misma hora, con una estructura similar y con palabras predecibles (por ejemplo: los partes metereológicos), lo que también daba pistas a los criptoanalístas.

Pero, ¿cómo lo consiguieron?.

Desde luego nada fácil; es más, algo absolutamente complejo.

En los siguientes posts de esta serie intentaré contar brevemente cómo lo hicieron, en la medida en la que mi capacidad y talento me lo permitan (poco en ambos casos), pero por lo que he comentado en este post creo que queda claro que al igual que con los ordenadores:

"El eslabón de seguridad más débil de la máquina Enigma fue la gente; la que estableció las normas para su uso y la que la utilizaba".

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 de

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 emblema establecido en dicha resolución, sino que éste se adopta también como im