Ir al contenido principal

Criptografía X: la máquina Enigma (IX)

Decía en el post anterior que, como en el simulador que incluí en él no se aprecia la operativa en la práctica (cómo se iban apilando las hojas apropiadas), me propongo poner en este post un ejemplo para ver si he comprendido correctamente el método de las hojas Zygakski.

Pues bien, consideremos que entre los mensajes interceptados nos encontramos con que nueve de ellos presentan las siguientes "hembras" en las posiciones 1-4 ("1,4-female" en la terminología que ellos acuñaron):

1.- PTJ XZI XPG; 2.- CEH CMS CID; 3.- BUG RCJ RVU; 4.- EON NSF NLG; 5.- XLV IEJ IRU;
6.- BWY SXN SBU; 7.- AGY WDH WWT; 8.- KGS OXT OXU; 9.- CWI UBG UHS.
Nota: los tres primeros caracteres se corresponden con el indicador (los tres caracteres que se transmitían en claro y que el operador había elegido para cifrar la "clave de sesión") y los seis siguientes con los caracteres correspondientes al doble cifrado de ésta.

1º) Lo primero que debemos hacer es establecer una hipótesis de partida (a probar) para el orden de los rotores y fijar un carácter para el ajuste del anillo del rotor lento. En nuestro caso elegimos "I-III-II" y la letra "Q".

2º) Seleccionamos como primera hoja la rotulada con la letra "B" correspondiente al orden de los rotores elegido para probar ("I-III-II"), ya que "Q" (letra fijada para el ajuste del anillo del rotor lento) - "P" (primera letra del primer indicador) = "B", y la ponemos sobre una mesa iluminada por debajo:

Como se observa en la figura anterior, la luz de la mesa iluminada por debajo atraviesa 326 cuadrados perforados.

3º) A continuación seleccionamos la hoja  rotulada con la letra "O" correspondiente al mismo orden de los rotores ("I-III-II"), ya que "Q" (letra fijada para el ajuste del anillo del rotor lento) - "C" (primera letra del segundo indicador) = "O", y la ponemos sobre la anterior de tal manera que las coordenadas "AA" de la nueva hoja (hoja "O") coincidan en las coordenadas "PC" de la anterior (hoja "B"), ya que "T" (segunda letra del primer indicador) - "E" (segunda letra del segundo indicador) = "P" y "J" (tercera letra del primer indicador) - "H" (tercera letra del segundo indicador) = "C":

Como se observa en la figura anterior, ahora la luz atraviesa sólo 148 cuadrados perforados, frente a los 326 que atravesaba antes.

4º) Continuamos con la hoja  rotulada con la letra "P" correspondiente al mismo orden de los rotores ("I-III-II"), ya que "Q" (letra fijada para el ajuste del anillo del rotor lento) - "B" (primera letra del tercer indicador) = "P", y la ponemos sobre la anterior de tal manera que las coordenadas "AA" de la nueva hoja (hoja "P") coincidan en las coordenadas "ZD" de la primera hoja (hoja "B"), ya que "T" (segunda letra del primer indicador) - "U" (segunda letra del tercer indicador) = "Z" y "J" (tercera letra del primer indicador) - "G" (tercera letra del tercer indicador) = "D":

Tal y como se ve en la figura anterior, ahora la luz atraviesa sólo 56 cuadrados perforados, frente a los 148 que atravesaba antes.

5º) Seguimos con la hoja  rotulada con la letra "M" correspondiente al mismo orden de los rotores ("I-III-II"), ya que "Q" (letra fijada para el ajuste del anillo del rotor lento) - "E" (primera letra del cuarto indicador) = "M", y la ponemos sobre la anterior de tal manera que las coordenadas "AA" de la nueva hoja (hoja "M") coincidan en las coordenadas "FW" de la primera hoja (hoja "B"), ya que "T" (segunda letra del primer indicador) - "O" (segunda letra del cuarto indicador) = "F" y "J" (tercera letra del primer indicador) - "N" (tercera letra del cuarto indicador) = "W":

Ahora la luz atraviesa sólo 26 cuadrados perforados, frente a los 56 que atravesaba antes.

6º) Seleccionamos la hoja  rotulada con la letra "T" correspondiente al mismo orden de los rotores ("I-III-II"), ya que "Q" (letra fijada para el ajuste del anillo del rotor lento) - "X" (primera letra del quinto indicador) = "T", y la ponemos sobre la anterior de tal manera que las coordenadas "AA" de la nueva hoja (hoja "T") coincidan en las coordenadas "IO" de la primera hoja (hoja "B"), ya que "T" (segunda letra del primer indicador) - "L" (segunda letra del quinto indicador) = "I" y "J" (tercera letra del primer indicador) - "V" (tercera letra del quinto indicador) = "O":

Tal y como vemos, la luz atraviesa sólo 14 cuadrados perforados, frente a los 26 que atravesaba antes.

7º) Elegimos ahora la hoja  rotulada con la letra "P" correspondiente al mismo orden de los rotores ("I-III-II"), ya que "Q" (letra fijada para el ajuste del anillo del rotor lento) - "B" (primera letra del sexto indicador) = "P", y la ponemos sobre la anterior de tal manera que las coordenadas "AA" de la nueva hoja (hoja "P") coincidan en las coordenadas "XL" de la primera hoja (hoja "B"), ya que "T" (segunda letra del primer indicador) - "W" (segunda letra del sexto indicador) = "X" y "J" (tercera letra del primer indicador) - "Y" (tercera letra del sexto indicador) = "L":

Observamos que la luz atraviesa ahora sólo 6 cuadrados perforados, frente a los 14 que atravesaba antes.

8º) Continuamos ahora con la hoja  rotulada con la letra "Q" correspondiente al mismo orden de los rotores ("I-III-II"), ya que "Q" (letra fijada para el ajuste del anillo del rotor lento) - "A" (primera letra del séptimo indicador) = "Q", y la ponemos sobre la anterior de tal manera que las coordenadas "AA" de la nueva hoja (hoja "Q") coincidan en las coordenadas "NL" de la primera hoja (hoja "B"), ya que "T" (segunda letra del primer indicador) - "G" (segunda letra del séptimo indicador) = "N" y "J" (tercera letra del primer indicador) - "Y" (tercera letra del séptimo indicador) = "L":

La luz atraviesa ahora sólo 4 cuadrados perforados, frente a los 6 que atravesaba antes.

9º) Seguimos con la hoja  rotulada con la letra "G" correspondiente al mismo orden de los rotores ("I-III-II"), ya que "Q" (letra fijada para el ajuste del anillo del rotor lento) - "K" (primera letra del octavo indicador) = "G", y la ponemos sobre la anterior de tal manera que las coordenadas "AA" de la nueva hoja (hoja "G") coincidan en las coordenadas "NR" de la primera hoja (hoja "B"), ya que "T" (segunda letra del primer indicador) - "G" (segunda letra del octavo indicador) = "N" y "J" (tercera letra del primer indicador) - "S" (tercera letra del octavo indicador) = "R":

La luz únicamente atraviesa ya 2 cuadrados perforados, frente a los 4 que atravesaba antes.

10º) Y, finalmente, terminamos con la hoja  rotulada con la letra "O" correspondiente al mismo orden de los rotores ("I-III-II"), ya que "Q" (letra fijada para el ajuste del anillo del rotor lento) - "C" (primera letra del noveno indicador) = "O", y la ponemos sobre la anterior de tal manera que las coordenadas "AA" de la nueva hoja (hoja "O") coincidan en las coordenadas "XB" de la primera hoja (hoja "B"), ya que "T" (segunda letra del primer indicador) - "W" (segunda letra del noveno indicador) = "X" y "J" (tercera letra del primer indicador) - "I" (tercera letra del noveno indicador) = "B":

Como se observa la luz atraviesa ya un único cuadrado perforado, el de coordenadas "JD", lo que ya identifica de forma unívoca el orden de los rotores y el ajuste de lo anillos de la clave del día.

El orden de los rotores y el ajuste del anillo del rotor lento se obtienen directamente, es decir, serían "I-III-II" y "Q", respectivamente, mientras que el ajuste del anillo del rotor central se obtiene mediante la diferencia entre el segundo carácter del primer indicador ("T") y la coordenada correspondiente al rotor central del cuadrado perforado ("J") y  el ajuste del anillo del rotor rápido se obtiene mediante la diferencia entre el tercer carácter del primer indicador ("J") y la coordenada correspondiente al rotor rápido del cuadrado perforado ("D"); dando como resultado "J" y "F", respectivamente.

Por tanto, la clave del día contendría los siguientes valores:

Orden de los rotores: "I-III-II".
Ajuste de los anillos: "Q-J-F".

Lo que coincide con el resultado obtenido con el simulador que incluí en el post anterior, aunque en éste he puesto un ejemplo de la operativa que no se aprecia en dicho simulador para comprobar que lo he entendido correctamente. Creo que sí, si no es así y como siempre, por favor, que algún amable lector de este humilde blog me saque del error.

Para finalizar decir que en posteriores posts compartiré  lo que voy aprendiendo sobre cómo continuó esta apasionante historia, al menos para mí, de la máquina Enigma utilizada por el ejército alemán durante la II Guerra Mundial.

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