El método de parrilla ( en polaco : metoda rusztu ), [1] en criptología , fue un método utilizado principalmente al principio, antes de la llegada del ciclómetro , por los matemáticos-criptólogos de la Oficina de Cifrado Polaca ( Biuro Szyfrów ) para descifrar los cifrados de la máquina Enigma alemana . [2] La máquina de cifrado de rotor Enigma cambia caracteres de texto simple en texto cifrado utilizando una permutación diferente para cada carácter, y así implementa un cifrado de sustitución polialfabética .
La marina alemana comenzó a utilizar máquinas Enigma en 1926; se llamaba Funkschlüssel C ("Radio cifra C"). [3] Para el 15 de julio de 1928, [4] el ejército alemán ( Reichswehr ) había presentado su propia versión de la Enigma: la Enigma G ; una Enigma I revisada (con tablero de conexiones ) apareció en junio de 1930. [5] La Enigma I utilizada por el ejército alemán en la década de 1930 era una máquina de 3 rotores. Inicialmente, solo había tres rotores etiquetados I , II y III , pero podían organizarse en cualquier orden cuando se colocaban en la máquina. El criptólogo polaco Marian Rejewski identificó las permutaciones del rotor por L , M y N ; el cifrado producido por los rotores se alteraba a medida que se encriptaba cada carácter. La permutación más a la derecha ( N ) cambiaba con cada carácter. Además, había un tablero de conexiones que realizaba algunas codificaciones adicionales.
El número de posibles cableados de rotor diferentes es:
El número de posibles cableados diferentes del reflector es: [6]
Una forma quizás más intuitiva de llegar a esta cifra es considerar que una letra puede conectarse a cualquiera de las 25. Eso deja 24 letras para conectar. La siguiente letra elegida puede conectarse a cualquiera de las 23. Y así sucesivamente.
El número de posibles cableados diferentes del tablero de conexiones (para seis cables) es: [7]
Para cifrar o descifrar, el operador realizó las siguientes configuraciones de clave de la máquina: [8]
A principios de la década de 1930, los alemanes distribuyeron una lista mensual secreta de todos los ajustes diarios de la máquina. Los alemanes sabían que sería una tontería cifrar el tráfico del día utilizando la misma clave, por lo que cada mensaje tenía su propia "clave de mensaje". Esta clave de mensaje era la posición inicial del rotor elegida por el remitente (por ejemplo, YEK). La clave del mensaje tenía que ser transmitida al operador del destinatario, por lo que los alemanes decidieron cifrarla utilizando la configuración terrestre diaria preestablecida del día ( Grundstellung ). El destinatario utilizaría la configuración diaria de la máquina para todos los mensajes. Establecería la posición inicial del rotor de la Enigma en la configuración terrestre y descifraría la clave del mensaje. A continuación, el destinatario establecería la posición inicial del rotor en la clave del mensaje y descifraría el cuerpo del mensaje.
El sistema Enigma se utilizaba en las comunicaciones por radio, por lo que, en ocasiones, las letras se corrompían durante la transmisión o la recepción. Si el destinatario no tenía la clave del mensaje correcta, no podía descifrar el mensaje. Los alemanes decidieron enviar la clave del mensaje de tres letras dos veces para evitar errores de transmisión. En lugar de cifrar la clave del mensaje "YEK" una vez y enviar la clave cifrada dos veces, los alemanes duplicaron la clave del mensaje a "YEKYEK" ("clave duplicada"), cifraron la clave duplicada con la configuración de tierra y enviaron la clave duplicada cifrada. De este modo, el destinatario podía reconocer una clave de mensaje ilegible y, aun así, descifrar el mensaje. Por ejemplo, si el destinatario recibía y descifraba la clave duplicada como "YEKYEN", podía probar con ambas claves de mensaje "YEK" y "YEN"; una produciría el mensaje deseado y la otra produciría un galimatías.
La clave duplicada cifrada fue un gran error criptográfico porque permitió a los criptoanalistas conocer dos cifras de la misma letra, con tres lugares de diferencia, para cada una de las tres letras. Los descifradores de códigos polacos explotaron este error de muchas maneras. Marian Rejewski utilizó la clave duplicada y algunas claves diarias conocidas obtenidas por un espía, para determinar el cableado de los tres rotores y el reflector. Además, los descifradores de códigos a menudo no elegían claves aleatorias seguras, sino que elegían claves débiles como "AAA", "ABC" y "SSS". Los polacos utilizaron más tarde las claves débiles duplicadas para encontrar las claves diarias desconocidas. El método de la parrilla fue una explotación temprana de la clave duplicada para recuperar parte de los ajustes diarios. El ciclometro y la bomba criptológica fueron explotaciones posteriores de la clave duplicada.
Frode Weierud proporciona el procedimiento, las configuraciones secretas y los resultados que se utilizaron en un manual técnico alemán de 1930. [9] [10]
Configuración diaria (secreto compartido): Orden de ruedas: II I III Fecha de emisión: 24 13 22 (XMV) Reflector: A Tablero de conexiones: AM, FI, NV, PS, TU, WZ Fecha de inicio: 06 15 12 (FOL)Clave de mensaje elegida por el operador: ABLCifrado que comienza con FOL: PKPJXIMensaje a enviar y grupos de 5 letras de texto claro resultantes: Feindliche Infanteriekolonne beobachtet. Entrada sur de Bärwalde. Finaliza 3 km al este de Neustadt. FÁCIL LLENADO DE ERIEK OLONN EBEOB AQTET XANFA NGSUE DAUSG ANGBA ERWAL DEXEN DEDRE IKMOS TWAER Ciudad de TSNEUMensaje 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, "90" es el número de caracteres cifrados con la clave del mensaje y "341" es un indicador del sistema que le dice al destinatario cómo se cifró el mensaje (es decir, utilizando Enigma con una determinada clave diaria). Las primeras seis letras del cuerpo ("PKPJXI") son la clave duplicada ("ABLABL") cifrada utilizando la configuración de la clave diaria y comenzando 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 Enigma no tiene números, puntuación ni diéresis . Los números se deletreaban con todas las letras. La mayoría de los espacios se ignoraban; se utilizaba una "X" para un punto. Las diéresis utilizaban su ortografía alternativa con una "e" al final. Se utilizaron algunas abreviaturas: se utilizó una "Q" para "CH".
Cuando Rejewski comenzó su ataque en 1932, encontró obvio que las primeras seis letras eran la clave duplicada cifrada. [11]
La configuración de la clave diaria y la configuración básica permutarán los caracteres de la clave del mensaje de diferentes maneras. Esto se puede demostrar cifrando seis letras iguales para las 26 letras:
AAAAAA -> ¡PUUJJN!BBBBBB -> TKYWXVn.º 1 -> KZMVVYDDDDDD -> XMSRQKEEEEEE -> RYZOLZFFFFFF -> ZXNSTUGGGGGG -> QRQUNTHHHHHH -> SSWYYSIIIIII -> WNOZPLJJJJJJ -> MQVAAXKKKKKK -> CBTTSDLLLLLL -> OWPQEIMMMMMMM -> JDCXUONNNNNN -> YIFPGAOOOOOO -> LPIEZMPPPPPP -> AOLNIWQQQQQQ -> GJGLDRRRRRRR -> EGXDWQSSSSSS -> HHDFKHTTTTTT -> BVKKFGUUUUUU -> VAAGMFVVVVVV -> UTJCCBWWWWWW -> ILHBRPXXXXXX -> DFRMBJAAAAA -> NEBHHCZZZZZZ -> FCEIOE
A partir de esta información, se pueden encontrar las permutaciones para cada una de las seis claves de mensajes. Etiquete cada permutación como ABCDEF . Estas permutaciones son secretas: el enemigo no debería conocerlas.
Observe que las permutaciones son productos de 13 transposiciones disjuntas . [ Se necesita más explicación ] En el caso de la permutación A , no solo cambia "A" por "P", sino que también cambia "P" por "A". Esto permite que la máquina encripte y desencripte mensajes.
Augustin-Louis Cauchy introdujo la notación de dos líneas en 1815 y la notación cíclica en 1844. [12] [13] [14]
Rejewski hizo un descubrimiento increíble. Sin conocer la configuración del tablero de conexiones, las posiciones del rotor, la configuración de los anillos o la configuración de la base, pudo encontrar todas las claves de mensajes diarios. Todo lo que necesitaba eran suficientes mensajes y algunos empleados de código que utilizaran claves de mensajes no aleatorias.
La clave del mensaje tiene tres caracteres, por lo que la clave duplicada tiene seis caracteres. Rejewski etiquetó las permutaciones de los caracteres sucesivos de la clave del mensaje como ABCDEF . No sabía cuáles eran esas permutaciones, pero sí sabía que las permutaciones A y D cifraban la misma letra de la clave del mensaje, que B y E cifraban la misma letra y que C y F cifraban la misma letra. Si p i son las letras de texto simple (desconocidas) de la clave del mensaje y c i son las letras de texto cifrado correspondientes (conocidas), entonces
Las ecuaciones se pueden multiplicar posteriormente por D , E y F respectivamente para simplificar los lados derechos:
Los valores de texto simple son desconocidos, por lo que esos términos simplemente se eliminan para dejar:
Las ecuaciones anteriores describen un camino a través de las permutaciones. Si c 1 pasa por el inverso de A , entonces produce p 1 . Si ese carácter pasa por D , entonces el resultado es c 4 .
Rejewski también sabía que las permutaciones de Enigma eran inversas entre sí: el cifrado y el descifrado de Enigma eran idénticos. Eso significa que AA = I , donde I es la permutación identidad. En consecuencia, A = A −1 . Por lo tanto:
Las ecuaciones anteriores muestran la relación entre los caracteres clave duplicados. Aunque Rejewski no conocía las permutaciones individuales ABCDEF , un único mensaje le indicó cómo caracteres específicos fueron permutados por las permutaciones compuestas AD , BE y CF .
A partir de muchos mensajes, Rejewski pudo determinar completamente las permutaciones compuestas. En la práctica, se necesitaban alrededor de 60 mensajes para determinar las permutaciones. [15]
Rejewski registró las tres permutaciones con una notación cíclica que llamó característica. Rejewski (1981, p. 217) da un ejemplo:
En esta notación, el primer ciclo de permutación AD asignaría d a v, v a p, p a f, ..., y a o, y o se convertiría en d.
Marks y Weierud dan un ejemplo de Alan Turing que muestra que estos ciclos pueden completarse cuando alguna información está incompleta. [16]
Además, las permutaciones de Enigma eran transposiciones simples, lo que significaba que cada permutación ABCDEF solo transponía pares de caracteres. Esos pares de caracteres tenían que provenir de ciclos diferentes de la misma longitud. Además, cualquier emparejamiento entre dos ciclos determinaba todos los demás pares en esos ciclos. En consecuencia, las permutaciones A y D tenían que transponer a y s porque (a) y (s) son los únicos ciclos de longitud uno y solo hay una forma de emparejarlos. Hay dos formas de hacer coincidir (bc) y (rw) porque b debe emparejarse con r o w. De manera similar, hay diez formas de hacer coincidir los ciclos restantes de diez caracteres. En otras palabras, Rejewski ahora sabía que solo había veinte posibilidades para las permutaciones A y D . De manera similar, había 27 candidatos para B y E , y 13 candidatos para C y F . [17]
En este punto, los polacos aprovecharían las debilidades en la selección de claves de mensajes por parte de los encargados de codificar para determinar cuáles eran las candidatas correctas. Si los polacos podían adivinar correctamente la clave de un mensaje en particular, esa suposición anclaría dos ciclos en cada una de las tres características.
Los polacos interceptaron muchos mensajes; necesitarían unos 60 mensajes en la misma clave diaria para determinar la característica, pero podrían tener muchos más. Al principio, Rejewski había identificado los seis caracteres que componían la clave del mensaje. [18] Si los encargados de codificar elegían claves de mensajes al azar, entonces no se esperaría ver mucha correlación en los seis caracteres cifrados. Sin embargo, algunos encargados de codificar eran perezosos. ¿Qué sucedería si, de cien mensajes, hubiera cinco mensajes de cinco estaciones diferentes (es decir, cinco encargados de codificar diferentes) que usaran la misma clave de mensaje "PUUJJN"? [19] El hecho de que todos ellos llegaran a la misma clave sugiere que usaban una clave muy simple o muy común. Los polacos llevaban un registro de las diferentes estaciones y de cómo esas estaciones elegían las claves de los mensajes. Al principio, los encargados de codificar a menudo usaban claves simples como "AAA" o "BBB". [20]
El resultado final fue que sin conocer la configuración del tablero de conexiones de la Enigma, las posiciones del rotor o la configuración de los anillos, Rejewski determinó cada una de las permutaciones ABCDEF y, por lo tanto, todas las claves de los mensajes del día. [21] [22]
Inicialmente, Rejewski utilizó el conocimiento de las permutaciones ABCDEF (y un manual obtenido por un espía francés) para determinar el cableado del rotor. Después de aprender el cableado del rotor, los polacos utilizaron las permutaciones para determinar el orden del rotor, las conexiones del tablero de conexiones y los ajustes de los anillos mediante pasos adicionales del método de la rejilla.
Usando la clave diaria del manual técnico de 1930 mencionado anteriormente, entonces (con suficientes mensajes) Rejewski pudo encontrar las siguientes características:
Aunque teóricamente existen 7 billones de posibilidades para cada una de las permutaciones ABCDEF , las características anteriores han reducido las permutaciones A y D a solo 13 posibilidades, B y E a solo 30 posibilidades, y C y F a solo 20 posibilidades. La característica para CF tiene dos ciclos singleton, (e) y (z) . [23] Esos ciclos singleton deben emparejarse en las permutaciones individuales, por lo que la característica para CF implica que la "E" y la "Z" se intercambian tanto en la permutación C como en la F.
El emparejamiento de "E" y "Z" se puede comprobar en las permutaciones originales (secretas) dadas arriba.
Rejewski sabría ahora que los indicadores con el patrón "..E..E" eran de una clave de mensaje de "..Z"; de manera similar, un indicador de "..Z..Z" era de una clave de mensaje de "..E". En el tráfico del día, podría encontrar indicadores como "PKZJXZ" o "RYZOLZ"; ¿podría uno de estos indicadores ser la clave de mensaje común (perezosa) "EEE"? La característica limita el número de permutaciones posibles a un número pequeño, y eso permite algunas comprobaciones simples. "PKZJXZ" no puede ser "EEE" porque requiere que "K" y "E" se intercambien en B , pero tanto "K" como "E" son parte del mismo ciclo en BE : (kxtcoigweh) . [24] Las letras intercambiables deben provenir de ciclos distintos de la misma longitud. La clave repetitiva también podría confirmarse porque podría descubrir otras claves repetitivas. [24]
El indicador "RYZOLZ" es un buen candidato para la clave de mensaje "EEE", y determinaría inmediatamente ambas permutaciones A y D. Por ejemplo, en AD , la clave de mensaje asumida "EEE" requiere que "E" y "R" se intercambien en A y que "E" y "O" se intercambien en D.
Si "E" se intercambia con "R" en A (observe que un carácter proviene del primer ciclo en AD y el otro carácter proviene del segundo ciclo), entonces la letra que sigue a "E" (es decir, "D") se intercambiará con la letra que precede a "R" (es decir, "X").
Esto se puede continuar para obtener todos los caracteres para ambas permutaciones.
Esta notación característica es equivalente a las expresiones dadas para las permutaciones A y D de 1930 dadas anteriormente, ordenando los ciclos de modo que la letra más antigua sea la primera.
La clave del mensaje adivinado de "EEE" que produce el indicador "RYZOLZ" también determinaría el emparejamiento de los 10 ciclos de longitud en la permutación BE .
Esto determina la mayor parte de B y E , y solo quedarían tres variaciones posibles de ese par (ujd) y (mqa) . Todavía hay 20 variaciones posibles para C y F. En este punto, los polacos podrían descifrar todas las primeras y cuartas letras de las claves diarias; también podrían descifrar 20 de las 26 letras segunda y quinta. La creencia de los polacos en estas permutaciones podría comprobarse observando otras claves y viendo si eran claves típicas utilizadas por los empleados de códigos.
Con esa información, podrían buscar y encontrar otras claves de mensajes probablemente débiles que determinarían el resto de las permutaciones ABCDEF . Por ejemplo, si los polacos tenían un indicador "TKYWXV", podrían descifrarlo como "BB.BB"; al verificar los ciclos de CF , se revelaría que el indicador es consistente con la clave de mensaje "BBB".
Rejewski modeló la máquina como una permutación hecha a partir de permutaciones del tablero de conexiones ( S ), el cableado del teclado/lámparas a los rotores ( H ), los tres rotores ( LMN ) y el reflector ( R ). La permutación para cada posición de la clave duplicada era diferente, pero estaban relacionadas por una permutación P que representaba un solo paso de un rotor ( P es conocida). Rejewski asumió que los rotores izquierdo y medio no se movían mientras se encriptaba la clave duplicada. Las seis letras de la clave duplicada, en consecuencia, se ven en las permutaciones ABCDEF: [25]
Rejewski simplificó estas ecuaciones creando Q como un reflector compuesto a partir del reflector real y dos rotores más a la izquierda:
La sustitución produce:
El resultado son seis ecuaciones con cuatro incógnitas ( SHNQ ). [26] Rejewski tenía una máquina Enigma comercial y al principio pensó que H sería la misma. En otras palabras, Rejewski supuso que
Más tarde, Rejewski se dio cuenta de que esa suposición era errónea. Rejewski entonces adivinó (correctamente) que H era simplemente la permutación identidad:
Aún quedan tres incógnitas. Rejewski comenta:
Tener las claves diarias significaba que ahora se conocía S. Las permutaciones conocidas se movieron al lado izquierdo de las ecuaciones mediante premultiplicación y posmultiplicación.
Las permutaciones P más a la izquierda y más a la derecha del lado derecho (que también eran conocidas) se movieron hacia la izquierda; los resultados recibieron los nombres de variable UVWXYZ :
Luego Rejewski multiplicó cada ecuación por la siguiente:
A continuación, Rejewski eliminó la subexpresión común ( Q P −1 Q P ) sustituyendo su valor obtenido del producto anterior. [27]
El resultado es un conjunto de cuatro ecuaciones con una sola incógnita: NPN −1 .
Para el ejemplo de 1930 anterior,
ABCDEFGHIJKLMNOPQRSTUVWXYZ Un ptkxrzqswmcojylagehbvuidnf B ukzmyxrsnqbwdipojghvatlfec C uymsznqwovtpcfilgxdkajhrbe D jwvrosuyzatqxpenldfkgcbmhi Y jxvqltnypaseugzidwkfmcrbho F nvykzutslxdioamwrqhgfbpjce
se transforman en las permutaciones UVWXYZ :
ABCDEFGHIJKLMNOPQRSTUVWXYZ U gkvlysarqxbdptumihfnoczjew En gnfmycaxtrzsdbvwujliqophek W uekfbdszrtcyqxvwmigjaopnlh X jelfbdrvsaxctqyungimphzkow Y ltgmwycsvqxadzrujohbpiekfn De mskpiyuteqcravzdjlbhgnxwfo
y luego se multiplica para producir los cinco productos sucesivos:
ABCDEFGHIJKLMNOPQRSTUVWXYZ UV = azoselgjuhnmwiqdtxcbvfkryp = (a)(e)(g)(y)(hj)(rx)(bzpdscoqt)(flmwkniuv) VW = sxdqlkunjihgfeopatyrmvwzbc = (o)(p)(v)(w)(ij)(rt)(asybxzcdq)(elgumfkhn) WX = pbxdefiwgmlonkhztsrajyuqcv = (b)(d)(e)(f)(gi)(rs)(apzvycxqt)(hwujmnklo) XY = qwaytmoihlkgbjfpzcvdusnxre = (k)(p)(u)(x)(hi)(sv)(aqzetdyrc)(bwnjlgofm) YZ = rhuaxfkbnjwmpolgqztsdeicyv = (f)(j)(q)(y)(bh)(st)(arzvexcud)(gkwinolmp)
Ahora el objetivo es encontrar el mapa de preservación de estructura única que transforma UV en VW, VW en WX, WX en XY y XY en YZ. Se encuentra por suscripción de notación de ciclo. [ aclaración necesaria ] Cuando UV se mapea en VW , el mapa debe coincidir con ciclos de la misma longitud. Eso significa que (a)
en UV debe mapearse a uno de (o)(p)(v)(w)
en VW . En otras palabras, a
debe mapearse a uno de opvw
. Estos se pueden probar a su vez.
UV = (a)(e)(g)(y)(hj)(rx)(bzpdscoqt)(flmwkniuv) VW = (o) (p)(v)(w)(ij)(rt)(asybxzcdq)(elgumfkhn) VW = (o)(p)(v)(w)(ij)(rt)(asybxzcdq)(elgumfkhn) WX = (b)(d)(e)(f)(gi)(rs)(apzvycxqt)(hwujmnklo) WX = (b)(d)(e)(f)(gi)(rs)(apzvycxqt)(hwujmnklo) XY = (k)(p)(u)(x)(hi)(sv)(aqzetdyrc)(bwnjlgofm) XY = (k)(p)(u)(x)(hi)(sv)(aqzetdyrc)(bwnjlgofm) YZ = (f)(j)(q)(y)(bh)(st)(arzvexcud)(gkwinolmp)
Pero a
debe asignarse lo mismo o
en cada emparejamiento, por lo que también se determinan otras asignaciones de caracteres:
UV = (a)(e)(g)(y)(hj)(rx)(bzpdscoqt)(flmwkniuv) VW = (o) (p)(v)(w)(ij)(rt)(asybxzcdq)(elgumfkhn) VW = (o)(p)(v)(w)(ij)(rt)(asybxzcdq)(elgumfkhn) WX = (b)(d)(e)(f)(gi)(rs)(apzvycxqt) WX = (b)(d)(e)(f)(gi)(rs)(apzvycxqt)(hwujmnklo) XY = (dembwnjlg) (k)(p)(u)(x)(hi)(sv)(aqzetdyrc) XY = (k)(p)(u)(x)(hi)(sv)(aqzetdyrc)(bwnjlgofm) YZ = (olmpgkwin) (f)(j)(q)(y)(bh)(st)(arzvexcud)
En consecuencia, se descubren y son consistentes las asignaciones de caracteres para sybxzcdq
, pzvycxqt
, y qzetdyrc
. Esas asignaciones se pueden aprovechar:
UV = (a)(e)(g)(y)(hj)(rx)(bzpdscoqt)(flmwkniuv) VW = (o)(p) (w) (ij)(umfkhnelg)(xzcdqasyb) (v)(rt) VW = (o)(p)(v)(w)(ij)(rt)(asybxzcdq)(elgumfkhn) WX = (f)(b) (ig)(ohwujmnkl)(pzvycxqta) (d)(e)(rs) WX = (b)(d)(e)(f)(gi)(rs)(apzvycxqt)(hwujmnklo) XY = (u)(k)(p) (ih)(dembwnjlg) (x)(sv)(aqzetdyrc) XY = (k)(p)(u)(x)(hi)(sv)(aqzetdyrc)(bwnjlgofm) YZ = (f) (j) (hb)(olmpgkwin)(udarzvexc) (q)(y)(st)
Que determina el resto del mapa y suscribe consistentemente:
UV = (a)(e)(g)(y)(hj)(rx)(bzpdscoqt)(flmwkniuv) VW = (o)(p)(v)(w)(tr)(ij)(umfkhnelg)(xzcdqasyb) VW = (o)(p)(v)(w)(ij)(rt)(asybxzcdq)(elgumfkhn) WX = (e)(f)(b)(d)(sr)(ig)(ohwujmnkl)(pzvycxqta) WX = (b)(d)(e)(f)(gi)(rs)(apzvycxqt)(hwujmnklo) XY = (u)(k)(p)(x)(vs)(ih)(ofmbwnjlg)(tdyrcaqze) XY = (k)(p)(u)(x)(hi)(sv)(aqzetdyrc)(bwnjlgofm) YZ = (q)(f)(y)(j)(ts)(hb)(olmpgkwin)(udarzvexc)
El mapa resultante con suscripciones sucesivas:
Mapa resultante: ABCDEFGHIJKLMNOPQRSTUVWXYZ ounkpxvtsrqzcaeflihgybdjwm = (aoepfxjrishtgvbuywdkqlzmcn) UV = (a)(e)(g)(y)(hj)(rx)(bzpdscoqt)(flmwkniuv) VW = (o)(p)(v)(w)(tr)(ij)(umfkhnelg)(xzcdqasyb) WX = (e)(f)(b)(d)(gi)(sr)(ycxqtapzv)(jmnklohwu) XY = (p)(x)(u)(k)(vs)(hi)(wnjlgofmb)(rcaqzetdy) YZ = (f)(j)(y)(q)(bh)(ts)(darzvexcu)(inolmpgkw)
El mapa nos da NPN −1 , pero también es conjugado (preserva la estructura). En consecuencia, los 26 valores posibles para N se encuentran suscribiendo P de 26 maneras posibles.
El modelo anterior ignoró la posición del anillo (22) y la posición del fondo (12) del rotor derecho, ambas conocidas porque Rejewski tenía las llaves diarias. La posición del anillo tiene el efecto de contrarrotar el tambor en 21; la posición del fondo lo hace avanzar en 11. En consecuencia, la rotación del rotor es -10, que también es 16.
ABCDEFGHIJKLMNOPQRSTUVWXYZRecto ounkpxvtsrqzcaeflihgybdjwmGpsquvbyxwortzmcekdafnljih desplazado = (agbpcsdqeufvnzhyixjwlrkomt)Suscríbete a P de diferentes maneras: (abcdefghijklmnopqrstuvwxyz) (bcdefghijklmnopqrstuvwxyza) * cableado real del rotor (cdefghijklmnopqrstuvwxyzab) ... (zabcdefghijklmnopqrstuvwxy)Rotor * ABCDEFGHIJKLMNOPQRSTUVWXYZ bdfhjlcprtxvznyeiwgakmusqo
La parrilla física [ aclaración necesaria ] se utilizó para determinar tanto el rotor más a la derecha, su posición inicial y las configuraciones del tablero de conexiones.
Rejewsky observó que S está cerca de la permutación identidad (a principios de la década de 1930, solo 12 de las 26 letras se vieron afectadas por el tablero de conexiones). Movió todo, excepto Q, al lado izquierdo de las ecuaciones mediante premultiplicación o posmultiplicación. El sistema de ecuaciones resultante es:
En este punto, Q es desconocido, pero es el mismo para cada ecuación. Rejewski no conoce N , pero sabe que es uno de los rotores (I, II y III), y conoce el cableado para cada uno de esos rotores. Solo había tres rotores y 26 posibles rotaciones iniciales. En consecuencia, solo hay 84 valores posibles para N. Rejewski puede observar cada valor posible para ver si la permutación Q es consistente. Si no hubiera steckers ( S fuera la identidad), entonces cada ecuación produciría el mismo Q.
En consecuencia, hizo una hoja inferior para cada rotor posible (tres hojas). Cada hoja inferior constaba de 31 líneas (26 + 5 para hacer seis líneas contiguas). Cada línea contenía la permutación escalonada de un rotor conocido. [28] Por ejemplo, una hoja inferior adecuada para el rotor III es,
A principios de la década de 1930, el orden de los rotores era el mismo durante un mes o más, por lo que los polacos generalmente sabían qué rotor estaba en la posición más a la derecha y solo necesitaban usar una hoja inferior. Después del 1 de noviembre de 1936, el orden de los rotores cambiaba todos los días. Los polacos podían usar el método del reloj para determinar el rotor más a la derecha, por lo que la parrilla solo tendría que examinar la hoja inferior de ese rotor. [29]
Para la hoja superior, Rejewski escribió las seis permutaciones A a F.
A: abcdefghijklmnopqrstuvwxyz srwivhnfdolkygjtxbapzecqmu(..abertura......................)...F: abcdefghijklmnopqrstuvwxyz wxofkduihzevqscymtnrglabpj(..abertura......................)
Había seis ranuras para que las permutaciones en la hoja inferior se vieran en el lugar correcto.
La hoja superior se deslizaría entonces por todas las posiciones posibles del rotor N y el criptoanalista buscaría coherencia con alguna permutación desconocida pero constante Q. Si no hay una Q coherente , se prueba con la siguiente posición.
Esto es lo que mostraría la parrilla para las permutaciones anteriores en su alineación constante:
A: abcdefghijklmnopqrstuvwxyz ptkxrzqswmcojylagehbvuidnf17 fpjtvdbzxkmoqsulyacgeiwhnr (visible a través de la ranura)B: abcdefghijklmnopqrstuvwxyz ukzmyxrsnqbwdipojghvatlfec18 oisucaywjlnprtkxzbfdhvgmqe (visible a través de la ranura)C: abcdefghijklmnopqrstuvwxyz ueymsznqwovtpcfilgxdkajhrbe19 hrtbzxvikmoqsjwyaecguflpdn (visible a través de la ranura)D: abcdefghijklmnopqrstuvwxyz jwvrosuyzatqxpenldfkgcbmhi20 qsaywuhjlnprivxzdbftekocmg (visible a través de la ranura)E: abcdefghijklmnopqrstuvwxyz jxvqltnypaseugzidwkfmcrbho21 rzxvtgikmoqhuwycaesdjnblfp (visible a través de la ranura)F: abcdefghijklmnopqrstuvwxyz nvykzutslxdioamwrqhgfbpjce22 ywusfhjlnpgtvxbzdrcimakeoq (visible a través de la ranura)
En la permutación A , el criptoanalista conoce ese (c k)
intercambio. Puede ver cómo el rotor III desordenaría esas letras mirando la primera línea (el alfabeto en orden) y la línea visible a través de la ranura. El rotor se asigna c
a j
y se asigna k
a m
. Si ignoramos los steckers por el momento, eso significa que la permutación Q intercambiaría (j m)
. Para que Q sea consistente, debe ser el mismo para las seis permutaciones ABCDEF .
Observa la rejilla cerca de la permutación D para comprobar si su Q también se intercambia (j m)
. A través de la ranura, busca la letra j
y mira en la misma columna dos líneas por encima para encontrar h
. Eso nos dice que el rotor, cuando ha avanzado tres posiciones, ahora se asigna h
a j
. De manera similar, el rotor avanzado se asignará y
a m
. Observando la permutación D , se intercambia (h y)
, por lo que las dos pruebas son consistentes.
De manera similar, en la permutación A , el (d x)
intercambio y implican que (t h)
hay intercambio en Q . Si observamos la permutación E , (e l)
el intercambio y también implican que (t h)
hay intercambio en Q .
Todas estas pruebas serían coherentes si no hubiera steckers, pero los steckers confunden el asunto al ocultar dichas coincidencias. Si alguna de las letras involucradas en la prueba está steckerizada, entonces no parecerá una coincidencia.
El efecto de la permutación del rotor se puede eliminar para dejar la Q implícita en las permutaciones ABCDEF . El resultado (junto con el valor real de Q ) es:
-: ABCDEFGHIJKLMNOPQRSTUVWXYZP(R): vyzrilptemqfjsugkdnhoaxwbcPregunta(B): myqvswpontxzaihgcuejrdfkblQ(C): vcbrpmoulxwifzgeydtshakjqnQ(D): kyirhulecmagjqstndopfzxwbvQ(E): vemgbkdtwufzcxrysoqhjainplQ(F): wvlrpqsmjizchtuefdgnobayxkP: vyqrpkstnmfzjiuecdghoaxwbl (el criptoanalista desconoce esta pregunta real)
La mayoría de las letras en una permutación implícita son incorrectas. Un intercambio en una permutación implícita es correcto si dos letras no están steckerizadas. Aproximadamente la mitad de las letras están steckerizadas, por lo que la expectativa es que solo una cuarta parte de las letras en una permutación implícita sean correctas. Varias columnas muestran correlaciones; la columna A
tiene tres v
caracteres e (a v)
intercambio en la Q real ; la columna D
tiene cuatro r
caracteres e (d r)
intercambio en Q. [30 ]
Rejewski (1981, p. 222) describe la posibilidad de escribir las seis Q implícitas para las 26 posibles posiciones del rotor. Rejewski afirma: "Si la permutación S fuera realmente la identidad, entonces... para una [posición inicial] particular obtendríamos el mismo valor para todas las expresiones Q y de esta manera encontraríamos la posición del tambor N. Sin embargo, la permutación S existe, por lo que para ninguna [posición inicial] las expresiones Q serán iguales entre sí, pero entre ellas habrá una cierta similitud para una [posición inicial] particular, ya que la permutación S no cambia todas las letras".
Rejewski afirma que escribir todas las Q posibles "sería demasiado laborioso", por lo que desarrolló el método de la rejilla (grid). [28] "A continuación, la rejilla se mueve a lo largo del papel en el que están escritas las conexiones del tambor hasta que llega a una posición en la que aparecen algunas similitudes entre las diversas expresiones Q ... De esta manera, la configuración del tambor N y los cambios resultantes de la permutación S se encuentran simultáneamente. Este proceso requiere una concentración considerable ya que las similitudes que mencioné no siempre se manifiestan de manera distinta y pueden pasarse por alto muy fácilmente". [28] La referencia no describe qué técnicas se utilizaron. Rejewski afirmó que el método de la rejilla requería pares de letras sin steckers. [31]
La permutación A tiene los intercambios (ap)(bt)(ck)...
. Si asumimos que el intercambio (ap)
no está steckerizado, eso implica que Q intercambia (fl)
. Las otras cinco permutaciones BCDEF se pueden verificar rápidamente para un par no steckerizado que sea consistente con el intercambio de Q(fl)
, esencialmente verificando la columna F
para otras filas con l
sin calcular la tabla completa. No se encuentra ninguno, por lo que (ap)
tendría al menos un stecker, por lo que se abandona la suposición de que no está steckerizado. Se puede suponer que el siguiente par no está steckerizado. El intercambio (bt)
implica que Q intercambia (pg)
; eso es consistente con (lw)
en B , pero esa suposición no funciona porque t
y w
están steckerizados.
A: b↔t B: l↔w C: k←t D: x→m E: m→u F: j←x ↓ ↓ ↓ ↓ * ↑ ↑ * ↑ * * ↑ por favor, lea esto ↓ ↓ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑P: p↔gp↔gp↔gp↔gp↔gp↔gLa suposición (b)(t) no incrustada en S conduce a la suposición (l)(w) no incrustada en S C encuentra stecker (kx) D encuentra stecker (zm) E encuentra stecker (fu) F encuentra (j)
Seguir esas conjeturas conduce en última instancia a una contradicción:
A: f↔z B: m→d C: p←l D: f→s E: p!x F: ↓ ↓ ↑ * * ↑ ↑ * ↑ ↑ umzyrluark ↓ ↓ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑P: e↔qe↔qe↔qe↔qe↔qe↔qLa explotación (fz) en A conduce a un intercambio (eq) en Q B encuentra (dy) steckered C encuentra (pr) steckered D encuentra (como) steckered E encuentra (px) steckered - ¡pero p ya está steckered a r! Error
El tercer intercambio (ck)
implica Q intercambios (jm)
; esta vez la permutación D con un no steckered (hy)
sería consistente con Q intercambios (jm)
.
A: c↔k B: C: D: h↔y E: F: ↓ ↓ ↑ ↑ ckixnjhyuigu ↓ ↓ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑Q: j↔mj↔mj↔mj↔mj↔mj↔mLa suposición de (c)(y) no incrustada en S conduce a la suposición de (h)(y) no incrustada en S
En este punto, la suposición es que las letras chky
no están steckerizadas. A partir de esa suposición, todos los steckers se pueden resolver para este problema en particular. Los intercambios conocidos (supuestos) en S se utilizan para encontrar intercambios en Q , y esos intercambios se utilizan para ampliar lo que se sabe sobre S .
Al usar esas letras no stecker como semillas se encuentra (hy)
intercambio en E e implica (kf)
que está en Q ; de manera similar, (cy)
se intercambia en F e implica (uo)
que está en Q. Al examinar (uo)
las otras permutaciones, (tu)
se encuentra un stecker.
A: B: C: D: E: h↔y F: ↓ ↓ jaosivvshywe ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↓ ↓ ↑ ↑Q: k↔fk↔fk↔fk↔fk↔fk↔fexplotar (hy) en EA: B: C: t←k D: E: F: c↔y * ↑ ↓ ↓ viejoaukfwmjcy ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↓ ↓ ↑ ↑P: u↔ou↔ou↔ou↔ou↔ou↔oexplotar (cy) en F muestra que (tu) están en S
Eso añade letras tu
a las semillas. Esas letras también eran desconocidas anteriormente, por lo que se puede obtener más información revisando: S también tiene (g)(if)(x)
.
A: c↔k B: f→x C: D: h↔y E: t→f F: g←t ↓ ↓ ↑ * ↑ ↑ ↑ * * ↑ ckixnjhyuigu ↓ ↓ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑Q: j↔mj↔mj↔mj↔mj↔mj↔mSaber (tu) en S conduce a (g)(si) en Sentonces (si) en S se puede utilizar para encontrar (x) en S
Revisar (kf)(uo)
en Q brinda más información:
A: B: o←p C: f→n D: n→p E: h↔y F: z→e * ↑ ↑ * ↑ * ↓ ↓ ↑ * jaosivvshywe ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↓ ↓ ↑ ↑Q: k↔fk↔fk↔fk↔fk↔fk↔fexplotar (si) en S conduce a (nv) en S (nv) en S conduce a stecker (ps) (ps) en S conduce a (o) (wz) en S conduce a (e)A: o→l B: C: t←k D: i→z E: F: c↔y ↑ * * ↑ ↑ * ↓ ↓ viejoaukfwmjcy ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↓ ↓ ↑ ↑P: u↔ou↔ou↔ou↔ou↔ou↔oexplotar (si) en S conduce a stecker (wz) en S (o) en S conduce a (l) en S
Otra revisión explota al máximo (jm)
:
A: c↔k B: fx C: v→j D: h↔y E: t→f F: g←t ↓ ↓ ↑ * ↑ * ↑ ↑ ↑ * * ↑ ckixnjhyuigu ↓ ↓ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑Q: j↔mj↔mj↔mj↔mj↔mj↔mSaber (nv) en S conduce a (j) en S
Ese añadido lo completa aún más:
A: j→m B: o←p C: f→n D: n→p E: h↔y F: z→e ↑ * * ↑ ↑ * ↑ * ↓ ↓ ↑ * jaosivvshywe ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↓ ↓ ↑ ↑Q: k↔fk↔fk↔fk↔fk↔fk↔fexplotar (j) en S conduce a (am) en SA: o→l B: d←m C: t←k D: i→z E: a↔j F: c↔y ↑ * * ↑ * ↑ ↑ * ↑ ↑ ↓ ↓ viejoaukfwmjcy ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↓ ↓ ↑ ↑P: u↔ou↔ou↔ou↔ou↔ou↔oexplotar (j)(am) en S conduce a (d) en SQ = ( (fk)(jm)(ou)... ) faltan 10 emparejamientosS = ( (am)(c)(d)(fi)(g)(h)(j)(k)(l)(nv)(o)(ps)(tu)(wz)(x)(y)... ) 22 caracteres hasta el momento: falta beqr He encontrado los 6 steckers, por lo que (b)(e)(q)(r)
Ahora se conoce todo S después de examinar 3 intercambios en Q. El resto de Q se puede encontrar fácilmente.
Cuando se encuentra una coincidencia, el criptoanalista aprendería tanto la rotación inicial de N como la permutación del tablero de conexiones ( Stecker ) S. [28]
En este punto, no se conocen las posiciones del rotor para la permutación Q. Es decir, no se conocen las posiciones iniciales (y posiblemente el orden) de los rotores L y M. Los polacos aplicaron fuerza bruta probando todas las posiciones iniciales posibles ( 26 2 = 676 ) de los dos rotores. [28] Con tres rotores, saber cuál rotor estaba en la posición N significaba que solo había dos formas posibles de cargar los otros dos rotores.
Más tarde, los polacos elaboraron un catálogo de todas las permutaciones de Q. El catálogo no era muy grande: había seis combinaciones posibles de dos rotores izquierdos con 26 2 = 676 configuraciones iniciales, por lo que el catálogo tenía 4.056 entradas. Después de utilizar la parrilla, los polacos buscaban Q en el catálogo para conocer el orden y las posiciones iniciales de los otros dos rotores. [29]
Al principio, los alemanes cambiaban el orden de los rotores con poca frecuencia, por lo que los polacos solían saberlo antes de empezar a trabajar. El orden de los rotores cambiaba cada trimestre hasta el 1 de febrero de 1936. Después, cambiaba cada mes hasta el 1 de noviembre de 1936, cuando se cambiaba a diario. [29]
El criptoanalista ya conocía el tablero de conexiones, el orden de los rotores y la posición absoluta de los rotores para la clave duplicada, pero no conocía la posición del anillo. También sabía cuál debía ser la posición de la clave del mensaje, pero esa posición era inútil sin conocer la posición del anillo. La posición del anillo podía ser cualquier cosa, y eso significaba que los polacos no sabían cómo posicionar los rotores para el cuerpo del mensaje. Todo el trabajo hasta ese momento se había centrado en explotar la clave duplicada. Para determinar la posición del anillo, la atención se desplazó ahora al mensaje real.
En este caso, los alemanes cometieron otro error. Cada mensaje empezaba normalmente con el texto "ANX", que en alemán significaba "a:", y la "X" significaba espacio. Los polacos también aplicaron la fuerza bruta. Para encontrar los valores que daban "ANX", tuvieron que recorrer hasta 26 3 = 17.576 configuraciones. Una vez encontrados, el criptoanalista utilizaba la configuración absoluta de los rotores para determinar la configuración del anillo. De este modo, se recuperaba la clave diaria completa.
Más tarde, los polacos perfeccionaron la técnica de búsqueda por fuerza bruta. Examinando algunos mensajes, pudieron determinar la posición del rotor más a la derecha; por lo tanto, sólo habría que probar 676 posiciones de rotor. Rejewski ya no recuerda cómo funcionaba este truco. [32]
Marian Rejewski describe el método de la parrilla como "manual y tedioso" [2] y, al igual que la posterior bomba criptológica, como "basado... en el hecho de que las conexiones de los enchufes [en el conmutador o "tablero de conexiones" de la Enigma] no cambiaban todas las letras". Sin embargo, a diferencia de la bomba, "el método de la parrilla requería pares de letras sin cambios [en lugar de] sólo letras sin cambios". [31]
Inicialmente, el tablero de conexiones solo intercambiaba seis pares de letras, lo que dejaba más de la mitad del alfabeto sin verse afectado por la permutación S. El número de steckers cambió el 1 de agosto de 1936; entonces se podían intercambiar de cinco a ocho pares de letras. [33] Los caracteres extra intercambiados redujeron la eficacia del método de la cuadrícula, por lo que los polacos comenzaron a buscar otros métodos. El resultado fue el ciclometro y el catálogo de tarjetas correspondiente; ese método era inmune a los steckers.
El método de la parrilla se aplicó en diciembre de 1938 para trabajar en el cableado de dos rotores Enigma recién introducidos por los alemanes (esto fue posible gracias a que una red del Sicherheitsdienst , si bien había introducido los nuevos tambores IV y V, continuó utilizando el antiguo sistema para cifrar las claves de mensajes individuales). [34]
El 15 de septiembre de 1938, la mayoría de las redes alemanas dejaron de cifrar la clave duplicada con una configuración común (la configuración de tierra). Los polacos habían podido aprovechar todos los mensajes de una red utilizando la misma configuración de máquina para cifrar la clave duplicada. Ahora la mayoría de las redes dejaron de hacerlo; en su lugar, el operador elegiría su propia configuración de tierra y la enviaría sin cifrar al destinatario. [35] Este cambio frustró el método de la parrilla y el catálogo de tarjetas del ciclómetro. Una red, la red Sicherheitsdienst (SD), continuó utilizando una configuración de tierra común, y esa red se utilizó para aplicar ingeniería inversa a los nuevos rotores (IV y V) que se introdujeron. [36] El tráfico de la red SD estaba doblemente codificado, por lo que el método ANX no funcionaría. [37] El método de la parrilla a veces fallaba después de que los alemanes aumentaran el número de conexiones del tablero de conexiones a diez el 1 de enero de 1939. Cuando la red SD cambió al nuevo protocolo de clave de mensaje el 1 de julio de 1939, el método de la parrilla (y el método del ciclómetro) ya no eran útiles. [36]
A continuación se muestra un ejemplo del procedimiento de mensaje nuevo para un mensaje del 21 de septiembre de 1938. [38]
2109 -1750 - 3 TLE - FRX FRX - 1TL -172=HCALN UQKRQ AXPWT WUQTZ KFXZO MJFOY RHYZW VBXYS IWMMV WBLEBDMWUW BTVHM RFLKS DCCEX IYPAH RMPZI OVBBR VLNHZ UPOSY EIPWJTUGYO SLAOX RHKVC HQOSV DTRBP DJEUK SBBXH TYGVH GFICA CVGUVPreguntas frecuentes Preguntas frecuentes
El "3 TLE" (en alemán Teile , partes) indica que es un mensaje de 3 partes; el "1TL" (en alemán Teil , parte) indica que ésta es la primera parte; el "172" indica que hay 172 caracteres en el mensaje (incluida la clave del mensaje). Para este mensaje, la configuración terrestre "FRX" se transmite dos veces en claro; la configuración terrestre debería ser diferente para cada mensaje en la red. En consecuencia, los polacos no pudieron encontrar las sesenta claves de mensaje necesarias cifradas con la misma configuración terrestre. Sin el mismo volumen de mensajes con clave, no pudieron determinar la característica, por lo que no pudieron determinar las permutaciones ABCDEF ni utilizar la rejilla. Para este mensaje, se utilizaron las configuraciones diarias (orden del rotor, tablero de conexiones y configuraciones del anillo) con "FRX" para descifrar los primeros seis caracteres ("HCALN U") para obtener la clave de mensaje duplicada ("AGIAGI").
Para descifrar estos mensajes, los polacos utilizaron otras técnicas para explotar la clave del mensaje duplicado.
utilizó su notación de permutación (en la que los arreglos se escriben uno debajo del otro y ambos están encerrados entre paréntesis) por primera vez en 1815.
De esta manera, un conocimiento preciso de las preferencias de los criptógrafos junto con el teorema sobre el producto de transposiciones nos permite encontrar la única solución real.
D
intercambios es accidental debido a un doble stecker que asigna un intercambio diferente.