Ir al contenido principal

Criptografía XII: la máquina Enigma (XI)

En este antepenúltimo post sobre los métodos de criptoanálisis empleados para "romper" el código de la máquina Enigma le toca el turno a la etapa de Bletchley Park, una vez iniciada la II Guerra Mundial.

Decía en el post anterior que eprimer método con el que comenzaron a trabajar los británicos fue el de las hojas Zygalskipero que duró poco tiempo, ya que a mediados de 1940 los alemanes dejaron de transmitir dos veces de forma consecutiva los tres caracteres cifrados de la "clave de sesión", con lo que se invalidaron todos los métodos de criptoanálisis basados en ese doble cifrado.

Una vez más, las comunicaciones del ejército alemán eran opacas por completo. Me imagino a los británicos apilando hojas perforadas de forma convulsiva sin obtener ningún resultado, acordándose de las madres de Hitler y de todos sus secuaces, y preguntándose qué es lo que habían cambiado esta vez.



Pero, ya antes de que se produjera este cambio en la operativa de la máquina, Alan Turing estaba trabajando en un método de criptoanálisis alternativo que no dependiera del doble cifrado de la "clave de sesión", sino que atacara a otras debilidades del cifrado de la máquina y de su utilización: el cifrado recíproco (por su diseño, una letra nunca se cifra como esa misma letra) y la previsión (suposición) de parte de los contenidos de los mensajes transmitidos por los alemanes, tanto debido a su excesivo formalismo y a su mente "cuadriculada" - ambas cosas muy propias del carácter germano -, como a la tipología de los mismos, por ejemplo: partes metereológicos.

De esta forma, Turing se basó en la conjetura de que ciertos textos sin cifrar (ellos acuñaron el término "crib" para referirse a ellosse encontraban en el texto cifrado.

Si no lo he entendido mal y para comprender mejor en que se basaba este método, veamos un ejemplo utilizando como "crib" la siguiente: "WETTER VORHER SAGE" (texto en claro que posiblemente se encontraba en los partes metereológicos y que creo que en alemán quiere decir algo así como: "PRONÓSTICO DEL TIEMPO").

1º) Supongamos que en el texto cifrado aparece la siguiente secuencia de caracteres (primera línea) y situamos justo debajo la "crib":
Se trata de ir buscando el encaje de la "crib" (texto en claro conocido) con el texto cifrado para hallar las posibles correspondencias entre los caracteres de la primera con los del segundo, descartando aquellas que no es posible obtener con una máquina Enigma.

Es decir, en primer lugar, si los caracteres en una determinada posición coinciden en ambos casos (texto cifrado y "crib") descartaríamos esas posibles correspondencias, ya que por el diseño de la máquina una letra nunca se puede cifrar como esa misma letra, y desplazaríamos la "crib" una posición a la derecha hasta encontrar alguna posición relativa en la que esto no ocurra.

2º) Examinamos ahora las posibles correspondencias (en nuestro ejemplo ninguno de los caracteres de la "crib" coincide en la misma posición con el mismo carácter en el texto cifrado, aunque que esto ocurra es mucho más probable de lo que puede parecer):

Esto lo que nos dice es que, si el texto cifrado se corresponde con la "crib", con un determinado orden de los rotores y posición de los mismos (a la que llamaremos posición relativa 1) la máquina cifra el carácter "W" como "R" (y, debido a la reciprocidad del cifrado de la máquina, "R" como "W"), en la posición relativa 2 la letra "E" como "J" (y a la inversa, la "J" como "E"), y así sucesivamente.

Esto se puede expresar mediante el siguiente grafo:
A los gráficos de este tipo se les conocía como "menú" (en inglés, "menu"), y servían para configurar la bomba, la máquina que inventó Turing para automatizar el proceso de búsqueda de las configuraciones de la máquina Enigma en las que era posible que el texto en claro conocido pudiera cifrarse como parte del texto cifrado (y, a la inversa, esa parte del texto cifrado pudiera descifrarse como el texto en claro) o, mejor dicho, para descartar aquellas configuraciones que no permitían esto. A mayor número de bucles - en inglés, "loops" - más configuraciones de la máquina era posible desechar, ya que son muy pocas las que pueden satisfacer todas las restricciones de conectividad impuestas por el "menú".

En nuestro ejemplo se pueden observar los siguientes tres bucles:

1.- "T" ---> "K" ---> "S" ---> "T";
2.- "T" ---> "S" ---> "E" ---> "T";
3.- "T" ---> "E" ---> "W" ---> "R" ---> "T".

Se trata ahora de descartar órdenes de los rotores y posiciones de éstos que no satisfagan las citadas restricciones de conectividad, pero antes de contar esto con más detalle veamos en qué consistía la famosa máquina electromecánica conocida como bomba de Turing, y posteriormente, tras la aportación (simple conceptualmente, pero sin duda genial) de su colega Gordon Welchman, como la bomba Turing-Welchman.

Nada fácil lo que me propongo explicar, ya que ni su diseño ni su implementación (tampoco hay que olvidar a quienes la llevaron a cabo a partir de la lógica de estos genios) son ni mucho menos sencillos.

Por lo que he investigado, la primera versión de la bomba de Turing, a la que llamaron "Victory", entró en funcionamiento en marzo de 1940, y en la siguiente figura represento sus componentes principales conforme a lo que he entendido:
Cada tambor reproducía el cableado de uno de lo rotores de la máquina Enigma (I, II, III, ...), es decir, realizaba las mismas transformaciones de caracteres que éste, y su color identificaba al rotor al que replicaba (tambor rojo ---> rotor I, etc.).

Cada una de las tres baterías de 12 codificadores de doble extremo simulaba hasta 12 máquinas enigma conectadas en serie. Estas tres baterías no estaban conectadas eléctricamente entre sí  y, por tanto, cada una de ellas podía ser configurada para un orden de los tambores y un menú concretos; aunque sí estaban conectadas mecánicamente a un motor que hacía girar de forma sincronizada los tambores de las tres baterías.

La idea del conector de doble extremo surgió por la necesidad de simular el funcionamiento de varias máquinas Enigma trabajando en serie, para lo que se necesitaba separar la entrada ("camino" de ida hacia el reflector) de la salida ("camino" de vuelta desde el reflector) de cada uno de lo rotores. Para ello, cada tambor disponía de dos conjuntos de cableado, que en ambos casos se correspondían al del rotor al que replicaba.

Al  colocarse uno de los tambores sobre la placa en la que se montaba, el cableado interno de cada uno de sus dos conjuntos cerraba el circuito con los correspondientes contactos del par exterior y del par interior de los cuatro círculos concéntricos, respectivamente.

Gráficamente podríamos representarlo de la siguiente manera:
Cuando la bomba encontraba una configuración de la máquina Enigma que no podía desechar se paraba, es decir, ese orden de los rotores y posición de los mismos era compatible con las restricciones impuestas por el menú, por lo que se trataba de una posible solución que debía probarse para comprobar si era la correcta o no.

Sin embargo, en su diseño inicial la bomba no era muy eficaz. En el siguiente post contaré cuál fue la aportación de Gordon Welchman al diseño de la bomba para aumentar su eficacia y retomaré el ejemplo puesto en éste para explicar cómo se configuraba la bomba y su funcionamiento una vez puesta en marcha.

Comentarios

  1. Mikel, de entrada enhorabuena por tu blog, es muy bueno, especialmente por tus posts sobre criptografía, y en particular por la máquina Enigma. Lo tienes todo muy trabajado. Es una delicia leerte.
    Yo soy también uno de los aficionados a Enigma, bueno, casi profesional, porque hemos publicado (junto a mi colega Paz Jiménez Seral) artículos y dado cursos de verano sobre Enigma, incluso participamos en un documental que está a punto de proyectarse en TVE2. Nos gusta la etapa de los polacos. Preferimos presentar las cosas con permutaciones, como Rejewski, y tenemos cierto éxito, por ejemplo resolviendo los retos que plantea Bouchaudy. Los puedes ver en en http://www.jfbouch.fr/crypto/challenges/EH

    En fin, te he localizado buscando a personas que les guste este tema. Te apunto. Enhorabuena, otra vez.
    Manuel Vázquez
    Departamento de Matemáticas
    Universidad de Zaragoza
    vazquez@unizar.es

    ResponderEliminar
    Respuestas
    1. Muchas gracias por tu comentario Manuel. Yo soy sólo un modesto aficionado a temas de criptografía y, en especial y en lo que se refiere a la criptografía clásica, un entusiasta el tema de la máquina Enigma.

      Estaría encantado de poder mantener el contacto contigo, y os seguiré, tanto a ti como a tu colega, en todas las actividades que realicéis sobre estos temas, y también encantado de que me hayas mandado el link con los retos.

      Un saludo y, otra vez, muchas gracias,

      Eliminar
    2. Gracias por tu respuesta. Temía que siendo el mío un comentario enterrado en un post tuyo de hace 6 años ya no tendría ningún eco. Por supuesto que seguiremos en contacto.
      Aprovecho para anunciarte que justo este mismo miércoles, 28 de abril de 2021, a las 22:00, se emitirá en TVE2 el documental sobre la relación entre la máquina Enigma y unos criptógrafos republicanos españoles. Nos podrás poner cara a Paz y a mí mismo. Seguro que te gustará el documental.
      También aprovecho para anunciarte el próximo curso de verano en Jaca de la Universidad de Zaragoza, titulado "La máquina Enigma en la historia y en el cine", para el 1 al 3 de julio. Más información en https://cursosextraordinarios.unizar.es
      en el área de ingeniería (no sé porqué en ese área). Saludos

      Eliminar
    3. Muchas gracias por la info. Muy interesante: el documental de este miércoles no me lo pierdo y estaré pendiente del curso de verano en Jaca.

      Un saludo,

      Eliminar

Publicar un comentario

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