En cada estado posible, una máquina Enigma produce una permutación de las letras de la A a la Z. Y no cualquier permutación, sino una que intercambia pares de letras, por ejemplo, en un determinado escenario podría intercambiar la A y la Q, la B y la F, la C y la R y así sucesivamente. Una permutación de este tipo, que consiste enteramente en ciclos de longitud 2, se llama "Permutación Enigma".
Después de transmitir una letra, el estado de la máquina cambiaba de forma determinista, por lo que se utilizaba una permutación Enigma diferente. Es importante destacar que se puede suponer que un descifrador de códigos conoce todos los mensajes encriptados, porque se acaban de enviar por radio.
El teorema de Rejewski dice: "El compuesto de dos permutaciones Enigma cualesquiera consiste en ciclos disjuntos en pares de longitudes iguales". Como la longitud total de los ciclos es 26, se pueden tener, por ejemplo, dos ciclos de longitud 1, dos ciclos de longitud 5 y dos ciclos de longitud 7. Otro teorema bastante sencillo dice que una permutación M y una permutación S M S^-1 tienen las mismas características de ciclo.
Durante los primeros años, cada transmisión comenzaba poniendo la máquina en un estado inicial fijo (conocido por el emisor y el receptor, pero no por el descifrador de códigos), luego el emisor elegía un código de tres letras al azar y lo transmitía dos veces, luego el emisor y el receptor utilizaban ese código de tres letras para cambiar la configuración de la máquina. Después, cada mensaje se enviaba con una configuración diferente de la máquina.
Todas las máquinas enviaron las seis primeras letras con las mismas permutaciones P1, P2, P3, P4, P5, P6. Si el emisor transmitió ABC, y el receptor recibe RST XYZ, entonces la permutación P1 intercambia A y R, P4 intercambia A y X. El cracker conoce R y X, pero no A. Pero el cracker sabe que la permutación P1 P4 mapea R a X, porque P1 mapea la conocida R a una desconocida A, y P4 mapea la desconocida A a la conocida X. Si recibe suficientes mensajes, con diferentes letras aleatorias ABC, reúne suficiente información para encontrar la permutación completa P1 P4. Lo mismo para P2 P5 y P3 P6.
Ahora, cada una de estas permutaciones consiste, según el teorema de Rejewski, en ciclos de pares de longitudes iguales, cuyas longitudes suman 26 o las longitudes de una mitad de cada par suman 13. Eso da un patrón; en el ejemplo anterior el patrón sería (1, 5, 7). Y este patrón sólo depende de la configuración inicial del rotor, es independiente del tablero de conexiones (el segundo de los dos teoremas mencionados).
Con los 3 rotores iniciales que podían instalarse en 3! = 6 órdenes, y 26 x 26 x 26 rotaciones iniciales del rotor, había 105.456 configuraciones iniciales posibles, cada una de las cuales produciría 3 patrones para las permutaciones P1P4, P2P5 y P3P6.
Lo que hicieron los matemáticos polacos fue crear un índice: Para cada una de las 105.456 posiciones iniciales que encontraron durante meses trabajan los 3 patrones asociados a cada posición. Y con eso fue fácil encontrar las configuraciones iniciales del rotor para un día después de interceptar unos 100 mensajes. No todas las configuraciones crearon patrones únicos, pero normalmente un patrón sería producido por una o muy pocas configuraciones iniciales. Algunas configuraciones del rotor son malas noticias; por ejemplo, hay 313 configuraciones del rotor que producen tres pares de ciclos de longitud 13.
También se podría descubrir la configuración del tablero de conexiones: Conociendo los ajustes iniciales del rotor, podemos determinar la permutación P1' P4' que se habría producido sin el tablero de enchufe. También tenemos la permutación P1 P4 que se produjo con el plugboard. Estos pueden ser comparados, y tenemos la misma información para P2' P5' contra P2 P5 y P3' P6' contra P3 P6. Esto suele ser suficiente para determinar la configuración del tablero.
Al principio, los polacos podían descifrar los mensajes a mano. Esto dejó de funcionar cuando cambió el método de transmisión (no se transmitían 3 letras dos veces) y cuando se sustituyeron 3 rotores por 5, con 60 posibles opciones de rotores.
Los métodos posteriores se basaban sustancialmente en adivinar mensajes o partes de mensajes. Dado que se utilizaba la misma configuración inicial durante todo un día, si se descifraba un solo mensaje, se descifraban todos los mensajes del día (si no, todos los mensajes del día eran ilegibles). Una buena fuente de mensajes que se podían adivinar eran los informes meteorológicos: Como no eran muy secretos, se transmitían a través del país con un código fácilmente descifrable, por lo que se podían recuperar los informes meteorológicos exactos. Los mismos mensajes exactos se enviaban a los submarinos con el código enigma, por lo que era una buena fuente para conocer los textos de los mensajes.
Más tarde se introdujo un cuarto rotor para los mensajes de alto secreto. Eso habría sido indescifrable en su momento. Excepto que los ajustes de las máquinas de cuatro rotores eran los mismos que los de tres rotores, con otro anillo en 26 posiciones posibles. Así que después de descifrar el código de tres rotores, sólo se necesitaron 26 intentos para descifrar la máquina de cuatro rotores.
0 votos
Era una máquina de cableado duro con un grupo de permutación basado en engranajes. Tenía un sistema de permutación de reloj: Permuta las letras de forma cableada y cada clic de tecla desplaza esa permutación establecida un espacio. Después de 26 turnos en la primera marcha, da una vuelta a la segunda marcha. Después de 26 vueltas de la segunda marcha, da una vuelta a la tercera. Esto significa que cada vez que se pulsa una tecla se cambia el grupo de permutación, cada 26^2 se cambia de forma adicional, y cada 26^3 se cambia de forma adicional. Además, al final se intercambian los caracteres y se vuelve a pasar por los engranajes.
0 votos
Todo eso estaba conectado, pero luego había un conjunto de cambios de letra al principio de la elección del usuario, y la clave era de la elección del usuario. Se rompía tan fácilmente debido a muchas meteduras de pata por parte de los alemanes -incluso cuando elegían su clave de inicio (que son tres letras que se repiten, por ejemplo, gato -cat, que se encripta con los engranajes de arriba para, por ejemplo, axr-tgf), seleccionaban XXX-XXX, y esto daba grandes cantidades de información a los rompedores.
10 votos
Creo que se ha equivocado de pregunta. Un criptosistema ideal es un completamente intratable No hay ningún algoritmo para recuperar el texto plano a partir del texto cifrado que sea más eficiente que simplemente probar todas las claves posibles. ¿Qué es, entonces, lo que hizo que la máquina Enigma fuera tan susceptible para analizar que Bletchley Park fue capaz de construir una máquina electromecánica para descifrar los mensajes probando muchas menos de 159 quintillones de combinaciones?
1 votos
Aquí hay un podcast sobre la Enigma desde el punto de vista criptográfico: grc.com/sn/sn-490.htm (también encontrarás un PDF y archivos mp3) Se centran más en la fuerza cripográfica, más que en las matemáticas teóricas. Sin embargo, da una buena visión general sobre la complejidad del análisis en ese momento.