Articulo de referencia

Contador kilométrico de bicicleta

El ciclometro , ideado a mediados de la década de 1930 por Rejewski para catalogar la estructura cíclica de las permutaciones de Enigma , se muestra en la parte superior los dos...

El ciclometro , ideado a mediados de la década de 1930 por Rejewski para catalogar la estructura cíclica de las permutaciones de Enigma , se muestra en la parte superior los dos bancos de rotores, uno de ellos con la tapa abierta; debajo, a la izquierda, el reóstato, y a la derecha, el conjunto de lámparas e interruptores etiquetados con las letras correspondientes.

El ciclómetro era un dispositivo criptológico diseñado, "probablemente en 1934 o 1935", por Marian Rejewski de la sección alemana (BS-4) de la Oficina Polaca de Cifrado , para catalogar la estructura cíclica de las permutaciones de Enigma , facilitando así el descifrado del texto cifrado alemán de Enigma . [ 1 ]

Junto con la posterior bomba criptológica de Rejewski , puede considerarse una precursora de la Bombe , que más adelante en la guerra ayudaría a descifrar los códigos de Enigma en Bletchley Park , Inglaterra.

Utilizando dibujos realizados por Rejewski, Hal Evans y Tim Flack en el Departamento de Ingeniería de la Universidad de Cambridge , en 2019 construyeron una versión funcional del ciclómetro. [ 2 ]

Historia

Mensaje de ejemplo

Enigma , una máquina de rotor electromecánica con sistema de codificación que consta de tambor de entrada, tres rotores y reflector. Este modelo militar también dispone de un panel de conexiones.

Fede Weierud proporciona el procedimiento, los ajustes secretos y los resultados que se utilizaron en un manual técnico alemán de 1950. [ 3 ] [ 4 ]

Clave diaria (secreto compartido): Orden de las ruedas: II I III Ringstellung : 24 18 22 (XMV) Reflector: A Panel de conexiones: AM, FI, NV, PS, TU, WZ Grundstellung: FOL Clave de mensaje elegida por el operador: ABL Cifrado a partir de FOL: PKPJXI Mensaje en texto plano a enviar y texto plano resultante: Feindliche Infanteriekolonne beobachtet. Anfang Südausgang Bärwalde. Ende drei km ostwärts Neustadt. FEIND LIQEI NFANT ERIEK OLONN EBEOB AQTET XANFA NGSUE DAUSG ANGBA ERWAL DEXEN DEDRE IKMOS TWAER TSNEU STADT Mensaje resultante: 1035 – 90 – 341 – PKPJX IGCDS EAHUG WTQGR KVLFG XUCAL XVYMI GMMNM FDXTG NVHVR MMEVO UYFZS LRHDR RXFJW CFHUH MUNZE FRDIS IKBGP MYVXU Z 

La primera línea del mensaje no está cifrada. El "1035" es la hora, el "90" es el número de caracteres cifrados con la clave del mensaje y el "341" es un indicador del sistema que le indica al destinatario cómo se cifró el mensaje (es decir, usando Enigma con una clave diaria específica). Las primeras seis letras del cuerpo ("PKPJXI") son la clave duplicada ("ABLABL") cifrada usando la configuración de clave diaria y comenzando el cifrado en la configuración básica "FOL". El destinatario descifraría las primeras seis letras para recuperar la clave del mensaje ("ABL"); luego configuraría los rotores de la máquina en "ABL" y descifraría los 90 caracteres restantes. Nótese que Enigma no tiene números, puntuación ni diéresis. Los números se escribían con letras. La mayoría de los espacios se ignoraban; se usaba una "X" para el punto. Las diéresis usaban su ortografía alternativa con una "e" al final. Se usaban algunas abreviaturas: se usaba una "Q" para "CH".

Marian Rejewski

Marian Rejewski , ca. 1932

Durante sus estudios de matemáticas en la Universidad de Poznań , la Oficina Polaca de Cifrado lo reclutó, junto con otros estudiantes de matemáticas, entre ellos Jerzy Różycki y Henryk Zygalski , para un curso de criptología patrocinado por la Oficina. Posteriormente, la Oficina contrató a algunos de los estudiantes para trabajar a tiempo parcial en una oficina local provisional. Tras graduarse en la Universidad de Poznań, Rejewski completó el primer año de un curso de estadística actuarial de dos años en la Universidad de Gotinga y luego regresó a Poznań. En septiembre de 1932, él, Różycki y Zygalski se trasladaron a Varsovia para trabajar a tiempo completo en la Oficina de Cifrado.

En diciembre de 1932, la Oficina de Cifrado encargó a Rejewski que trabajara en la máquina de cifrado alemana Enigma. La Oficina había intentado, sin éxito, descifrarla. En pocas semanas, Rejewski logró reconstruirla. Los procedimientos de mensajes de la Enigma alemana utilizaban configuraciones diarias comunes y secretas, pero también requerían que un operador de cifrado eligiera una clave de mensaje individual de tres letras. Así, un operador podía elegir "ABL" como clave de mensaje. Esta clave se utilizaba para establecer la posición inicial de los rotores al cifrar o descifrar el mensaje.

La elección de una clave de mensaje individual era una medida de seguridad: evitaba que todos los mensajes del día se enviaran con la misma clave polialfabética, lo que los habría hecho vulnerables a un ataque polialfabético. Sin embargo, el remitente debía comunicar la clave al destinatario para que este pudiera descifrar el mensaje. La clave se cifraba primero utilizando la Grundstellung del día (una posición inicial secreta de los rotores de la Enigma, por ejemplo, "FOL").

Las comunicaciones a veces se distorsionaban, y si la clave del mensaje también se distorsionaba, el destinatario no podía descifrarlo. Por consiguiente, los alemanes tomaron la precaución de enviar la clave del mensaje dos veces; si se distorsionaba, el destinatario debería poder encontrar la clave. Aquí cometieron un error crucial. En lugar de enviar la clave del mensaje cifrada (por ejemplo, "PKP") dos veces para obtener "PKP PKP", la duplicaron (por ejemplo, "ABL ABL"), cifraron la clave duplicada para obtener ("PKP JXI") y enviaron la clave duplicada cifrada. Ese error permitió a Rejewski identificar seis permutaciones secuenciales de la Enigma y aprovechar el conocimiento de que cifraban la misma clave del mensaje.

Con la ayuda de una máquina Enigma comercial, materiales alemanes obtenidos por el espía francés Hans-Thilo Schmidt y de descifradores alemanes que eligieron claves débiles, Rejewski logró realizar ingeniería inversa del cableado de los rotores y el reflector de la Enigma. Posteriormente, la Oficina de Cifrado construyó varias réplicas polacas de la Enigma que podían utilizarse para descifrar mensajes alemanes.

Característica

El procedimiento alemán que enviaba una clave doble cifrada fue el error que le dio a Rejewski una vía de acceso. Rejewski consideraba que la Enigma permutaba las letras del texto plano en texto cifrado. Para cada posición de carácter en un mensaje, la máquina utilizaba una permutación diferente. [ 5 ] Sean ABCDEF las permutaciones respectivas para la primera a la sexta letra. Rejewski sabía que la primera y la cuarta letra eran iguales, la segunda y la quinta eran iguales, y la tercera y la sexta eran iguales. Rejewski podía entonces examinar el tráfico de mensajes del día; con suficiente tráfico, podía reconstruir las permutaciones compuestas.

Por ejemplo, para la clave diaria en un manual técnico de 1930, entonces (con suficientes mensajes) Rejewski pudo encontrar las siguientes características:

AD=(pjxroquctwzsy)(kvgledmanhfib)Bmi=(kxtcoigweh)(zvfbsylrnp)(ujd)(mqa)doF=(yvxqtdhpim)(skgrjbcolw)(un)(fa)(e)(z){\displaystyle {\begin{aligned}AD&={\texttt {(pjxroquctwzsy)(kvgledmanhfib)}}\\BE&={\texttt {(kxtcoigweh)(zvfbsylrnp)(ujd)(mqa)}}\\CF&={\texttt {(yvxqtdhpim)(skgrjbcolw)(un)(fa)(e)(z)}}\\\end{alineado}}}

La notación es la notación cíclica de Cauchy . Al examinar el tráfico del día, Rejewski observaba que si la "p" era la primera letra del indicador, la "j" sería la cuarta. En otro indicador, la "j" sería la primera letra y la "x" la cuarta. Rejewski continuaba siguiendo las letras. Finalmente, aparecía un mensaje cuya primera letra era "y" y la cuarta letra volvía a ser "p". Se realizaban las mismas observaciones para la segunda y la quinta letra; normalmente se repetían varios ciclos.

Método de parrilla

Rejewski podría usar esta información del ciclo y algunos hábitos descuidados de los codificadores para descifrar las permutaciones individuales ABCDEF usando el método de la rejilla , pero ese método era tedioso. Después de usar la rejilla, los polacos sabrían el rotor más a la derecha y su posición, las conexiones del panel de conexiones y Q (la permutación del reflector y los otros dos rotores). Para obtener la llave diaria, los polacos aún tendrían mucho trabajo por hacer, y ese trabajo podría implicar probar todos los órdenes y posiciones posibles para los dos rotores de la izquierda para encontrar la posición para la Grundstellung. Los polacos comenzaron a usar un catálogo Q para facilitar parte del método de la rejilla; ese catálogo tenía 4056 entradas (26 × 26 × 6). Para encontrar los ajustes del anillo, el método de la rejilla podría requerir probar 17 576 posibilidades.

El método de la parrilla funcionó bien hasta el 1 de octubre de 1936, día en que los alemanes dejaron de usar seis steckers (conexiones de tablero) y comenzaron a usar de cinco a ocho steckers. [ 6 ] Más steckers podrían frustrar el método de la parrilla.

Duración de los ciclos

En lugar de indexar el catálogo según los ciclos reales, los polacos optaron por indexarlo según la duración de los ciclos. Si bien el tablero de conexiones modificaba la identidad de las letras en la permutación, no alteraba la duración de los ciclos.

Resulta que hay 101 patrones posibles para las longitudes de ciclo de una permutación de indicador. [ 7 ] Con las tres permutaciones en la característica, hay aproximadamente un millón de combinaciones posibles de longitud de ciclo ( 101 3 =1 030 301 ). En consecuencia, las longitudes de ciclo podrían usarse como una función hash en una tabla hash de las 105 456 combinaciones posibles. Los polacos observarían el tráfico del día, recuperarían la característica del indicador y luego buscarían en el catálogo de tarjetas. Las probabilidades serían altas de que solo una (o tal vez unas pocas) tarjetas tuvieran esas longitudes de ciclo.

El resultado sería el orden adecuado de los rotores y la posición de todos ellos sin mucho esfuerzo. El método era más sencillo que el de la parrilla y funcionaría incluso con muchos operarios.

Recuperación del panel de conexiones

El catálogo no reveló la configuración del panel de conexiones. Para seis conectores ( steckers ), existen aproximadamente 100 mil millones de posibles combinaciones. [ 8 ] Probarlas todas es inviable. Sin embargo, el criptógrafo podría encontrar la característica para ese orden de rotor sin un panel de conexiones, usar esa característica básica en un ataque de texto plano conocido y luego determinar la configuración del panel de conexiones comparándola con la característica diaria. [ 9 ]

A partir de cierto tráfico diario, el criptoanalista calcularía la característica.

AD=(pjxroquctwzsy)(kvgledmanhfib)Bmi=(kxtcoigweh)(zvfbsylrnp)(ujd)(mqa)doF=(yvxqtdhpim)(skgrjbcolw)(un)(fa)(e)(z){\displaystyle {\begin{aligned}AD&={\texttt {(pjxroquctwzsy)(kvgledmanhfib)}}\\BE&={\texttt {(kxtcoigweh)(zvfbsylrnp)(ujd)(mqa)}}\\CF&={\texttt {(yvxqtdhpim)(skgrjbcolw)(un)(fa)(e)(z)}}\\\end{alineado}}}

En el método de la parrilla, la característica anterior se resolvería para las permutaciones individuales ABCDEF y luego se realizaría una búsqueda laboriosa. En cambio, se calcularían las longitudes de ciclo emparejadas de la característica:

Año 13 d. C. BE: 10 3 CF: 10 2 1 

Esas longitudes se consultarían en el catálogo de fichas, y se encontraría una entrada que indicaría el orden de las ruedas (II, I, III) y la posición inicial de cada rueda.

El catálogo de tarjetas no incluía la característica real: el ciclómetro solo indicaba la pertenencia a un ciclo; no especificaba el orden de las letras en un ciclo. Después de encontrar una entrada en el catálogo, el criptoanalista calculaba la característica sin steckers (solo la configuración del catálogo). El criptoanalista puede determinar cada una de las permutaciones individuales A* B* C* D* E* F* configurando una Enigma con el orden de ruedas y las posiciones iniciales dadas. El criptoanalista presiona ay mantiene presionado; la lámpara correspondiente se enciende y se anota; sin soltar la primera letra, el criptoanalista presiona by luego suelta la primera letra; eso impide que la máquina avance los rotores y enciende la lámpara correspondiente a b. Después de mapear todo A , el criptoanalista puede pasar a B y las otras permutaciones. El criptoanalista recupera la característica sin steckers:

AD=(jxroqtcuzwpys)(kngledamvhifb)Bmi=(kxucofgzeh)(wnibpylrvs)(aqm)(dtj)doF=(colzpkgrjb)(ynxqudhsfa)(vt)(mi)(e)(w){\displaystyle {\begin{aligned}A^{*}D^{*}&={\texttt {(jxroqtcuzwpys)(kngledamvhifb)}}\\B^{*}E^{*}&={\texttt {(kxucofgzeh)(wnibpylrvs)(aqm)(dtj)}}\\C^{*}F^{*}&={\texttt {(colzpkgrjb)(ynxqudhsfa)(vt)(mi)(e)(w)}}\\\end{alineado}}}

Luego , las dos características se utilizan para resolver la permutación de Stecker S.

Para este ejemplo, hay seis steckers , y afectarían a 12 caracteres. Observando los ciclos CF , los ciclos del panel de conexiones (un)(fa) deben transponerse con los ciclos no steckerados (vt)(mi) . Ninguna de las letras es igual, por lo que todas esas ocho letras están steckeradas. Observando los ciclos singleton de CF y C*F* se muestra no solo que "e" no está steckerada, sino también que "w" y "z" están steckeradas juntas. [ 10 ] Por lo tanto, diez de las doce letras steckeradas se identifican rápidamente. La mayoría de las otras 16 letras, como "b", "d", "g" y "l", probablemente no estén steckeradas. La notación de ciclo de A*D* , B*E* y C*F* se puede reorganizar para que coincida con los caracteres no steckerados probables. (La letra inicial de la notación de un ciclo no es significativa: dentro de un ciclo, las letras deben mantener la misma secuencia, pero pueden rotarse. Por ejemplo, (dtj) es lo mismo que (tjd) , que a su vez es lo mismo que jdt ).

AD=(pjxroquctwzsy)(kvgledmanhfib)AD=(sjxroqtcuzwpy)(kngledamvhifb)Bmi=(kxtcoigweh)(zvfbsylrnp)(ujd)(mqa)Bmi=(kxucofgzeh)(wnibpylrvs)(tjd)(aqm)doF=(yvxqtdhpim)(skgrjbcolw)(un)(fa)(e)(z)doF=(ynxqudhsfa)(pkgrjbcolz)(tv)(im)(e)(w){\displaystyle {\begin{aligned}AD&={\texttt {(pjxroquctwzsy)(kvgledmanhfib)}}\\A^{*}D^{*}&={\texttt {(sjxroqtcuzwpy)(kngledamvhifb)}}\\BE&={\texttt {(kxtcoigweh)(zvfbsylrnp)(ujd)(mqa)}}\\B^{*}E^{*}&={\texttt {(kxucofgzeh)(wnibpylrvs)(tjd)(aqm)}}\\CF&={\texttt {(yvxqtdhpim)(skgrjbcolw)(un)(fa)(e)(z)}}\\C^{*}F^{*}&={\texttt {(ynxqudhsfa)(pkgrjbcolz)(tv)(im)(e)(w)}}\\\end{aligned}}}

En este punto, los posibles steckers se pueden leer a partir de las diferencias en las dos primeras líneas; también se puede comprobar su consistencia de intercambio. El resultado es

PS TU WZ NV AM FI 

Estos conectores coinciden con el ejemplo de Enigma de 1930.

El único secreto que queda son las posiciones de los anillos ( Ringstellung ).

Construyendo el catálogo

El ciclómetro se utilizó para elaborar un catálogo de la longitud y el número de ciclos en las "características" para las 17.576 posiciones de los rotores para una secuencia dada de rotores. Dado que existían seis secuencias posibles, el "catálogo de características" resultante, o " catálogo de fichas ", comprendía un total de (6) (17.576) = 105.456 entradas. [ 11 ]

La utilidad del catálogo de tarjetas , escribe Rejewski, era independiente del número de conexiones que los alemanes utilizaban en sus máquinas Enigma (y de la reconstrucción de las claves de mensaje). La preparación del catálogo «fue laboriosa y duró más de un año, pero cuando estuvo listo... las claves diarias [podían obtenerse] en unos quince minutos». [ 12 ]

Sin embargo, el 1 de noviembre de 1937, los alemanes cambiaron el "tambor inversor" o " reflector ". [ 13 ] Esto obligó a la Oficina de Cifrado a comenzar de nuevo con un nuevo catálogo de fichas, "una tarea", escribe Rejewski, "que consumió, debido a nuestra mayor experiencia, probablemente algo menos de un año". [ 14 ]

Pero entonces, el 15 de septiembre de 1938, los alemanes cambiaron por completo el procedimiento para cifrar las claves de los mensajes, y como resultado el método del catálogo de tarjetas se volvió completamente inútil. [ 14 ] Esto impulsó la invención de la bomba criptológica de Rejewski y las hojas perforadas de Zygalski . [ 15 ]

Véase también

  • Bomba criptológica : una máquina diseñada alrededor de octubre de 1938 por Marian Rejewski para facilitar la recuperación de las claves de Enigma.
  • Bombe : una máquina, inspirada en la "bomba (criptológica)" de Rejewski, que fue utilizada por criptólogos británicos y estadounidenses durante la Segunda Guerra Mundial.
  • Criptoanálisis de la Enigma y la máquina Enigma .
  • Hojas de Zygalski : inventadas alrededor de octubre de 1938 por Henryk Zygalski y llamadas "hojas perforadas" por los polacos, hicieron posible la recuperación de la clave de cifrado completa de la máquina Enigma.

Notas

  1. Marian Rejewski , "Resumen de nuestros métodos para reconstruir ENIGMA y reconstruir claves diarias...", pág. 242.
  2. Evans, Henry A. (2019): Recreación del ciclometro polaco y su papel en la resolución de Enigma. Tesis de maestría en ingeniería, Universidad de Cambridge.
  3. "CryptoCellar de Frode Weierud | Mensaje de prueba de Enigma de 1930" . Archivado del original el 30/10/2014 . Consultado el 07/10/2014 ., citando 1930 "Schlüsselanleitung zur Chiffriermachine Enigma I" ["Instrucciones para el uso de claves en la máquina Cypher 'Enigma I'"]
  4. Se puede comprobar con un simulador. Por ejemplo, http://people.physik.hu-berlin.de/~palloks/js/enigma/enigma-u_v20_en.html Seleccione Enigma I, elija el reflector A (en ese momento, los alemanes solo tenían un reflector), configure el orden de las ruedas (II, I, III), configure los anillos (24, 13, 22), configure los enchufes (AM, FI, NV, PS, TU, WZ), active el panel de conexiones y configure los talones a la posición de tierra ("FOL"). Al escribir ABLABL en el cuadro de entrada debería producirse PKPJXI como salida.
  5. Las permutaciones estarían determinadas por el panel de conexiones, el orden de los rotores, las posiciones de los rotores y el reflector. El rotor derecho (y posiblemente otros rotores) se movía por cada carácter cifrado, y ese movimiento modificaba la permutación.
  6. Rejewski 1981 , pág. 224 
  7. La característica es de 26 letras, pero los ciclos en la característica deben emparejarse, por lo que la pregunta es cuántos patrones hay para 13 letras: el número de maneras de particionar 13 objetos indistinguibles. Véase "a(n) = número de particiones de n (los números de partición)" https://oeis.org/A000041 ; "Función de partición P(n)", que indica "da el número de maneras de escribir el entero n como una suma de enteros positivos, donde el orden de los sumandos no se considera significativo", http://mathworld.wolfram.com/PartitionFunctionP.html ; Partición (teoría de números)
  8. Rejewski 1981 , pág. 216 
  9. Rejewski (1981 , p. 225) afirma: «Cuando se preparaban los seis ficheros de tarjetas, encontrar la clave diaria era una tarea sencilla que apenas tomaba 10 o 15 minutos. Se leían las posiciones de los tambores de la tarjeta, se leía el orden de los tambores de la caja de donde se extraía la tarjeta, y se obtenía la permutación S comparando las letras de los ciclos de la característica con las letras de los ciclos de las permutaciones AD , BE , CF , que se encontraban al teclearlas en la máquina». Rejewski dice que no obtenían la información de la tarjeta, sino del duplicado. Eso parece improbable. El ciclómetro proporcionaría rápidamente la información, y esta podría estar en la tarjeta. 
  10. Si se insertara la letra "e", debería emparejarse con "w" en una transposición y con "z" en otra; pero "e" no puede emparejarse con dos letras diferentes, por lo que "e" no puede insertarse.
  11. Marian Rejewski , "La solución matemática del cifrado Enigma", págs. 284-287.
  12. Marian Rejewski , "Resumen de nuestros métodos...", pág. 242.
  13. Rejewski 1981 , pág. 225 
  14. 1 2 Rejewski, "Resumen de nuestros métodos...", pág. 242.
  15. Rejewski, "Resumen de nuestros métodos...", págs. 242–43.

Referencias

  • Władysław Kozaczuk , Enigma : Cómo se descifró el cifrado alemán y cómo lo leyeron los aliados en la Segunda Guerra Mundial , editado y traducido por Christopher Kasparek, Frederick, MD, University Publications of America, 1984, ISBN 0-89093-547-5.
  • Rejewski, Marian (julio de 1981), "Cómo los matemáticos polacos descifraron el enigma", Annals of the History of Computing , 3 (3), IEEE: 213–234 , doi : 10.1109/MAHC.1981.10033 , S2CID 15748167 
  • Marian Rejewski , "Resumen de nuestros métodos para reconstruir ENIGMA y reconstruir las claves diarias, y de los esfuerzos alemanes para frustrar esos métodos", Apéndice C de Władysław Kozaczuk , Enigma: Cómo se rompió el cifrado de máquina alemán y cómo lo leyeron los aliados en la Segunda Guerra Mundial , 1984, págs.  241-245.
  • Marian Rejewski , "La solución matemática del cifrado Enigma", Apéndice E de Władysław Kozaczuk , Enigma: Cómo se descifró el cifrado de máquina alemán y cómo lo leyeron los aliados en la Segunda Guerra Mundial , 1984, págs.  272-291.
  • "El doble enigma polaco"
  • Acerca de Enigma (Agencia de Seguridad Nacional) Archivado el 14 de abril de 2004 en Wayback Machine
  • "La filtración del código Enigma" de Jan Bury
  • El "Enigma" y la inteligencia
  • "Descifrado de códigos y armas secretas en la Segunda Guerra Mundial" Por Bill Momsen
  • Breve historia de la tecnología informática, 1930 a 1939
  • Kuhl, Alex (octubre de 2007), "Catálogo de Rejewski" (PDF) , Cryptologia , 31 (4), Taylor & Francis: 326–331 , doi : 10.1080/01611190701299487 , S2CID 14254844 , archivado del original (PDF) el 24 de julio de 2015. 
Obtenido de " https://en.wikipedia.org/w/index.php?title=Cyclometer&oldid=1306970916 "