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...

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...

Criptografía (CLXXXIV): Soluciones Retos criptografía de CyberOlympics 2017

En este post pongo las soluciones a los retos de  criptografía que he ido resolviendo de la edición del año 2017 de CyberOlympics , competición en modalidad  'on-line' , estilo  'Capture the Flag'  y formato  'Jeopardy'  dirigida a centros educativos y organizada por el Instituto Nacional de Ciberseguridad (INCIBE) en el marco de la actividad llamada CyberCamp. En esta edición la mayoría de los retos presentaron un  nivel  de dificultad bajo  ( ★ ★ ☆☆☆ ) , lo que entiendo adecuado por el colectivo al que van dirigidos. Las soluciones al resto de desafíos de criptografía de esta edición, cuyos archivos asociados tenga (no me han pasado todos) y que consiga resolver, las pondré en otra entrada. Reto 1 (Criptografía) : Enunciado : Todas las mañanas cuando me despierto, me miro en el espejo y no entiendo lo que veo. Hoy me he levantado dando un salto mortal y no voy a apartarme de mi “otro yo” hasta que no descubra el mensaje. Parece q...