El ciclómetro era un dispositivo criptológico diseñado, "probablemente en 1934 o 1935", por Marian Rejewski de la sección alemana de la Oficina Polaca de Cifrado (BS-4), para catalogar la estructura del ciclo de las permutaciones Enigma , facilitando así el descifrado del Enigma alemán. texto cifrado . [1]
Junto con la bomba criptológica posterior de Rejewski , puede verse como un predecesor de la Bomba que ayudaría a descifrar los cifrados Enigma más adelante en la guerra en Bletchley Park en Inglaterra.
Utilizando dibujos hechos por Rejewski, Hal Evans y Tim Flack en el Departamento de Ingeniería de la Universidad de Cambridge , construyeron en 2019 una versión funcional del ciclómetro. [2]
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 Ringtellung : 24 18 22 (XMV) Reflector: Un Enchufes: AM, FI, NV, PS, TU, WZ Norma básica: FOLClave de mensaje elegida por el operador: ABLCifrado comenzando con FOL: PKPJXIMensaje de texto sin cifrar para enviar y texto sin cifrar 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 ESTADÍSTICAMensaje 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. "1035" es la hora, "90" es el número de caracteres cifrados bajo la clave del mensaje y "341" es un indicador del sistema que le dice al destinatario cómo se cifró el mensaje (es decir, usando Enigma con una determinada clave diaria). Las primeras seis letras del cuerpo ("PKPJXI") son la clave duplicada ("ABLABL") cifrada utilizando la configuración de clave diaria e iniciando el cifrado en la configuración básica/Grundstellung "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. Observe que el Enigma no tiene números, puntuación ni diéresis. Los números estaban escritos. La mayoría de los espacios fueron ignorados; se utilizó una "X" durante un período. Las diéresis utilizaron su ortografía alternativa con una "e" al final. Se utilizaron algunas abreviaturas: se utilizó una "Q" para "CH".
Durante los estudios de matemáticas de Marian Rejewski en la Universidad de Poznań , la Oficina Polaca de Cifrado lo reclutó a él y a otros estudiantes de matemáticas, entre ellos Jerzy Różycki y Henryk Zygalski , para tomar un curso sobre criptología patrocinado por la Oficina. Posteriormente, la Oficina contrató a algunos de los estudiantes para trabajar a tiempo parcial en una oficina local temporal de la Oficina. Después de graduarse de la Universidad de Poznań, en la Universidad de Göttingen, Rejewski completó el primer año de un curso de estadística actuarial de dos años y luego regresó a Poznań. En septiembre de 1932, él, Różycki y Zygalski fueron a Varsovia para trabajar a tiempo completo en Cipher Bureau.
En diciembre de 1932, la Cipher Bureau encargó a Rejewski que trabajara en la máquina de cifrado alemana Enigma. La Oficina había intentado, sin éxito, romperlo. Al cabo de unas semanas, Rejewski logró reconstruir la máquina. Los procedimientos de mensajes alemanes de Enigma utilizaban configuraciones de máquina diarias secretas y comunes, pero también requerían que un empleado de cifrado eligiera una clave de mensaje individual de tres letras. Por lo tanto, un empleado podría elegir "ABL" como clave del mensaje. La clave de mensaje se utilizó para establecer la posición inicial de los rotores al cifrar o descifrar el mensaje.
La elección de una clave de mensaje individual fue una medida de seguridad: evitaba que todos los mensajes del día se enviaran utilizando la misma clave polialfabética, lo que habría hecho que los mensajes fueran vulnerables a un ataque polialfabético. Sin embargo, el remitente necesitaba comunicar la clave del mensaje al destinatario para que este último pudiera descifrar el mensaje. La clave del mensaje se cifró primero utilizando el Grundstellung del día (una posición inicial secreta de los rotores del Enigma, por ejemplo, "FOL").
En ocasiones, las comunicaciones eran confusas y, si la clave del mensaje estaba confusa, el destinatario no podría descifrar el mensaje. En consecuencia, los alemanes tomaron la precaución de enviar la clave del mensaje dos veces; si hubo un error, el destinatario debería poder encontrar la clave del mensaje. Aquí los alemanes cometieron un error crucial. En lugar de enviar la clave del mensaje cifrado (p. ej., "PKP") dos veces para obtener "PKP PKP", duplicaron la clave del mensaje (p. ej., "ABL ABL"), cifraron la clave duplicada para obtener ("PKP JXI") y envió la clave duplicada cifrada. Ese error permitió a Rejewski identificar seis permutaciones secuenciales del Enigma y explotar el conocimiento de que cifraban la misma clave de mensaje.
Con la ayuda de una máquina Enigma comercial, materiales alemanes obtenidos por el espía francés Hans-Thilo Schmidt y cifradores alemanes que eligieron claves débiles, Rejewski pudo realizar ingeniería inversa en el cableado de los rotores y el reflector de la Enigma. Luego, la Cipher Bureau construyó varios dobles polacos de Enigma que podrían usarse para descifrar mensajes alemanes.
El procedimiento alemán que envió una clave duplicada cifrada fue el error que le dio a Rejewski una entrada. Rejewski consideraba que Enigma permutaba las letras de texto plano en texto cifrado. Para cada posición de carácter en un mensaje, la máquina utilizó una permutación diferente. [5] Sean ABCDEF las permutaciones respectivas para las letras primera a sexta. Rejewski sabía que la primera y la cuarta letra eran iguales, la segunda y la quinta letras eran iguales y la tercera y sexta letras eran iguales. Luego, Rejewski podría examinar el tráfico de mensajes del día; con suficiente tráfico podría reconstruir las permutaciones compuestas.
Por ejemplo, para la clave diaria en un manual técnico de 1930, entonces (con suficientes mensajes) Rejewski podría encontrar las siguientes características:
La notación es la notación del ciclo de Cauchy . Al examinar el tráfico del día, Rejewski se daría cuenta de que si "p" fuera la primera letra del indicador, entonces "j" sería la cuarta letra. En otro indicador, "j" sería la primera letra y "x" sería la cuarta letra. Rejewski seguiría siguiendo las letras. Eventualmente, habría un mensaje cuya primera letra fuera "y" y la cuarta letra regresaría a "p". Las mismas observaciones se harían para la segunda y quinta letras; normalmente habría varios ciclos.
Rejewski podía utilizar la información de este ciclo y algunos hábitos descuidados de los codificadores para descubrir las permutaciones individuales ABCDEF utilizando el método grill , pero ese método era tedioso. Después de usar la parrilla, los polacos conocerían el rotor más a la derecha y su posición, las conexiones del tablero de enchufes y Q (la permutación del reflector y los otros dos rotores). Para conseguir la llave diaria, los polacos todavía tendrían mucho trabajo por hacer, y ese trabajo podría implicar probar todos los órdenes y posiciones posibles para los dos rotores izquierdos para encontrar la posición para el Grundstellung. Los polacos empezaron a utilizar un catálogo Q para facilitar parte del método de la parrilla; ese catálogo tenía 4.056 entradas (26 × 26 × 6). Para encontrar los ajustes del anillo, el método de la parrilla podría requerir probar 17.576 posibilidades.
El método de la parrilla funcionó bien hasta el 1 de octubre de 1936, el 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.
En lugar de indexar el catálogo por los ciclos reales, los polacos optaron por indexar el catálogo por la duración de los ciclos. Aunque el tablero cambió la identidad de las letras en la permutación, no cambió la duración de los ciclos.
Resulta que hay 101 patrones posibles para la duración de los ciclos de una permutación de indicadores. [7] Con las tres permutaciones en la característica, hay alrededor de un millón de posibles combinaciones de longitud de ciclo ( 101 3 = 1,030,301 ). En consecuencia, las longitudes de los ciclos podrían usarse como una función hash en una tabla hash de las 105.456 combinaciones posibles. Los polacos mirarí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 buenas de que solo una (o tal vez unas pocas) tarjetas tuvieran esa duración de ciclo.
El resultado sería el orden apropiado de los rotores y las posiciones de todos los rotores sin mucho trabajo. El método era más simple que el método de la parrilla y funcionaría cuando había muchos steckers.
El catálogo no reveló la configuración del panel de conexiones. Para seis enchufes ( steckers ) existen alrededor de 100 mil millones de disposiciones posibles. [8] Probarlos todos 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 claro conocido y luego determinar la configuración del panel de conexiones comparándolas con la característica diaria. [9]
A partir de un tráfico diario, el criptoanalista calcularía la característica.
En el método grill, la característica anterior se resolvería para las permutaciones individuales ABCDEF y luego se haría una búsqueda laboriosa. En lugar de ello, se calcularían las duraciones de los ciclos pareados de la característica:
ANUNCIO: 13SER: 10 3FC: 10 2 1
Esas longitudes se buscarí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 sólo indicaba la pertenencia a un ciclo; no especificaba el orden de las letras en un ciclo. Después de encontrar una entrada de catálogo, el criptoanalista calcularía 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 un Enigma en el orden de rueda y las posiciones iniciales dados. Luego, el criptoanalista lo presiona a
y lo mantiene presionado; se enciende la lámpara correspondiente y se anota; sin soltar la primera letra, el criptoanalista presiona b
y luego suelta la primera letra; que 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 no modificada:
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. Mirando los ciclos CF , los ciclos del tablero (un)(fa) deben transponerse con los ciclos no rectificados (vt)(mi) . Ninguna de las letras es igual, por lo que las ocho letras están intercaladas. Al observar los ciclos únicos de CF y C*F* se muestra no sólo que "e" no está enlazada, sino también que "w" y "z" están enlazadas juntas. [10] Así, diez de las doce letras con puntas se identifican rápidamente. La mayoría de las otras 16 letras, como "b", "d", "g" y "l", probablemente no estén entrelazadas. La notación cíclica de A*D* , B*E* y C*F* se puede reorganizar para que coincida con los caracteres probablemente no modificados. (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 es lo mismo que jdt . )
En este punto, los potenciales steckers se pueden leer a partir de las diferencias en las dos primeras líneas; También se puede comprobar la coherencia del intercambio. El resultado es
PS TU WZ NV AM FI
Estos steckers coinciden con el ejemplo de Enigma de 1930.
El único secreto que queda son las posiciones de los anillos ( Ringstellung ).
El ciclómetro se utilizó para preparar 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 determinada de rotores. Dado que había seis secuencias posibles, el "catálogo de características" resultante, o " catálogo de tarjetas ", 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 utilizadas por los alemanes en sus máquinas Enigma (y de la reconstrucción de las claves de mensajes). La preparación del catálogo "fue laboriosa y llevó más de un año, pero cuando estuvo listo... las claves diarias [se pudieron obtener] en unos quince minutos". [12]
Sin embargo, el 1 de noviembre de 1937 los alemanes cambiaron el "tambor inverso" o " reflector ". [13] Esto obligó a Cipher Bureau a empezar de nuevo con un nuevo catálogo de tarjetas, "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 estimuló la invención de la bomba criptológica de Rejewski y las hojas perforadas de Zygalski . [15]