Seguridad matemática
Para calcular la seguridad matemática, debemos encontrar todas las configuraciones diferentes posibles de la máquina. Por lo tanto, debemos considerar las siguientes propiedades de la máquina: la selección y el orden de los rotores, su cableado, la configuración del anillo en cada uno de los rotores, la posición inicial de estos rotores al comienzo del mensaje, el reflector y el configuración del tablero. Ahora, hay diferentes formas de calcular un gran total de esto. En esta publicación de NSA [2], se incluyeron todas las variaciones posibles del cableado en cada uno de los rotores y el reflector. Esto resulta en un astronómico 3 x 10114. Sin embargo, estas figuras engañosas representan todas las variaciones teóricamente posibles de la máquina.
Desafortunadamente para los alemanes, los descifradores de códigos aliados conocían la máquina, los rotores y el cableado interno de estos rotores. Por lo tanto, solo tenían que tener en cuenta las formas posibles reales de configurar la máquina, la configuración real de la llave o el espacio de la llave. Esto es lo que llamamos la seguridad práctica, que es mucho menos que la seguridad teórica en el caso de Enigma. Para los criptólogos alemanes, un solo rotor podría ser cableado en 4 x 1026 formas diferentes. La combinación de tres rotores y un reflector le proporciona rápidamente figuras astronómicas. Para los descifradores de códigos aliados, que conocían el escurrido de los rotores, solo había 26 variaciones diferentes para un solo rotor, es decir, las 26 posiciones que podía tener en la máquina. No tuvieron que buscar entre la inmensa cantidad de cables posibles. Los criptólogos alemanes cometieron un grave error al ignorar la ley de Auguste Kerckhoff de que la seguridad de un dispositivo nunca dependería del secreto del sistema (es decir, cableado del rotor, diseño), que de todos modos se verá comprometido tarde o temprano, pero solo en el secreto de la tecla (es decir, la selección del rotor y el panel de conexiones). En el interesante artículo de RA Ratcliff [3] para Cryptologia puedes leer lo peligroso que es confiar en la seguridad política.
Echemos un vistazo a todas las cosas que realmente podemos configurar en la máquina y que son desconocidas para el descifrador. En nuestro ejemplo, tomamos la Enigma Wehrmacht de tres rotores con el reflector B predeterminado y la selección de 5 rotores. Usamos 10 cables de enchufe en el panel de conexiones, la cantidad predeterminada de cables, emitidos con la máquina (no me pregunten por qué no proporcionaron 11 cables, lo que dio muchas más combinaciones posibles)
Para seleccionar 3 rotores de un posible 5, hay 60 combinaciones (5 x 4 x 3). Cada rotor, en otras palabras, su cableado interno, se puede configurar en cualquiera de las 26 posiciones. Por lo tanto, con 3 rotores hay 17.576 posiciones diferentes del rotor (26 x 26 x 26). El anillo en cada rotor sostiene el etiquetado del rotor (que no importa aquí) y una muesca que afecta el escalonamiento del rotor de la izquierda siguiente. Cada anillo se puede configurar en cualquiera de las 26 posiciones. Como no hay rotor a la izquierda del tercer rotor (el más a la izquierda), solo los anillos del rotor más a la derecha y el medio afectan el cálculo. Esto le da 676 combinaciones de anillos (26 x 26).
El tablero proporciona la mayor cantidad de configuraciones diferentes posibles. Para el primer cable, un lado puede tener cualquiera de las 26 posiciones y su otro lado cualquiera de las 25 posiciones restantes. Sin embargo, dado que una combinación y su reverso son idénticos (AB es lo mismo que BA) tenemos que ignorar todos los dobles en todas las combinaciones posibles para un cable, dando (26 x 25) / (1! X 21 ) o 325 formas únicas para establecer un cable Para dos cables, tenemos (26 x 25) para el primer cable y, dado que ya se usan dos enchufes (24 x 23) para el segundo cable. Ahora tenemos que tener en cuenta los dobles para dos cables, dando (26 x 25 x 24 x 23) / (2! X 22 ) = 44,850 maneras únicas de configurar dos cables. Para tres cables tenemos (26 x 25 x 24 x 23 x 22 x 21) / (3! X 23 ) = 3,453,450 combinaciones, y así sucesivamente. Por lo tanto, con los 10 cables predeterminados tenemos 150,738,274,937,250 combinaciones diferentes. ¡La fórmula, con n como la cantidad de cables, es 26! / (26 - 2 n )! · N ! · 2n
En total, esto da: 60 x 17,576 x 676 x 150,738,274,937,250 = 107,458,687,327,250,619,360,000 o 1.07 x 1023
Entonces, en la vida real, la máquina Enigma Wehrmacht se podía configurar en 1.07 x 1023 formas diferentes, que es comparable con una clave de 77 bits.
Hay algunos comentarios que debemos agregar a este número. En realidad, el período máximo de los rotores -el número de pasos antes de que la máquina se repita- es ligeramente inferior a 17,576. Esto es causado por la característica de doble paso del mecanismo de escalonamiento. El período real depende del tipo de rotor. Los tres rotores navales de doble muesca tendrán un período incluso más pequeño que los rotores Wehrmacht ya que producen más pasos dobles del rotor central. Sin embargo, el período máximo no forma parte de las variables que se pueden establecer y, por lo tanto, no influye en el espacio clave. La máquina Wehrmacht podría estar equipada con el reflector B o C. En general, las redes de radio siempre usaron el mismo reflector, ya que el uso de diferentes reflectores creó problemas logísticos, de procedimiento y prácticos. Sin embargo, si se tiene en cuenta, la elección entre el reflector B y C solo duplicaría el espacio clave.
La adición de un cuarto rotor para la Enigma Naval M4 para mejorar su seguridad fue una adición buena pero inútil. El cuarto rotor no móvil complicó la máquina solo por un factor de 26 y, junto con el reflector delgado, podría considerarse como un reflector ajustable con 26 posiciones, de las cuales los Aliados encontraron rápidamente el cableado (después de 10 meses de pánico). La introducción de 8 rotores navales en la Kriegsmarine M3 y más tarde en la M4 de cuatro rotores fue un enfoque mucho mejor. Aumentaron las combinaciones de rotor de 60 a 336, y aportaron una complejidad adicional con 3 rotores navales con muescas múltiples VI VII y VIII.
Calculemos ahora el tamaño de la clave práctica de la Enigma Kriegsmarine M4 de cuatro rotores. Esta máquina utiliza 3 rotores normales, seleccionados de un conjunto de 8 (tres con muescas dobles). Esto da 336 combinaciones de rotor (8 x 7 x 6). La M4 también tiene un cuarto rotor especial llamado Beta o Gamma (sin anillo), que nos da 2 opciones. Estos no son compatibles con los otros rotores y solo son adecuados como el cuarto rotor (la mayoría de la izquierda). Los 4 rotores se pueden configurar en cualquiera de las 456,976 posiciones (26 x 26 x 26 x 26). La M4 tenía un reflector b o c más pequeño, para permitir la colocación del cuarto rotor. No incluimos la elección del reflector, ya que en general nunca se cambió. De nuevo, solo se vieron involucrados dos anillos, ya que el tercer rotor no pisó el cuarto rotor que nunca se movió. En la M4 también se utilizaron 10 cables de enchufe.
En total, esto da: 336 x 2 x 456,976 x 676 x 150,738,274,937,250 = 31,291,969,749,695,380,357,632,000 o 3,1 x 1025, comparable con una clave de 84 bits.
La M4 es aproximadamente 291 veces más fuerte que la máquina Wehrmacht. Esto se debe a la mayor selección de rotores (ya disponible en la M3 antes de la guerra) y las posibles posiciones iniciales para 4 rotores en lugar de 3. Sin embargo, aunque el cuarto rotor aumentó el tamaño de la clave, no se pudo agregar a la complejidad del cifrado en sí, ya que no se pudo mover durante el proceso de cifrado. Una mejor solución habría sido volver a cablear completamente algunos de los rotores de forma regular. Un único cableado variable del rotor multiplicaría el espacio clave con no menos de 4 x 1026, que es mucho más que un reflector configurable con sus posibles variaciones de 7,8 x 1012. Un solo rotor práctico, de cambio diario, re-cableable, que tiene 4 x 1026 configuraciones posibles, habría sido mucho más efectivo que la sobreestimación del ajuste del tablero no movible diario con solo 2 x 1014 variaciones (el tablero siempre estaba en pares ) El uso de dicho rotor, por ejemplo junto con un reflector delgado tipo M4 y dos de los cuatro rotores normales, sería un verdadero desastre para los descifradores de códigos. Sin embargo, la introducción de rotores recargables durante la guerra sería engorroso y presentaría una pesadilla logística y financiera, al igual que resultó ser el reflector D re-ajustable. Demasiado poco y demasiado tarde. El reflector D asustó inicialmente a los descifradores de códigos, hasta que se dieron cuenta de que el reflector D se usaba simultáneamente con los reflectores predeterminados en las mismas redes de radio, debido a consideraciones prácticas. Este uso dual hizo posible descifrarlo a mano. Más sobre el reflector D y otros intentos en la página de historia de la máquina Enigma.
Cualquier criptoexperto también descartaría las 17.576 combinaciones de anillos. Incluso con ajustes de timbre completamente incorrectos, inicialmente comenzará con un texto plano correcto. Tan pronto como obtenga texto confuso, ajuste el anillo del rotor más a la derecha (1/26 de probabilidad de que tenga razón) y si tiene suerte no tendrá más problemas para los próximos 676 caracteres. Si tuviera menos suerte, tenía que ajustar el anillo del rotor central después de 26 letras. Todo hecho sobre la marcha. Desafortunadamente para los alemanes, el ingenioso diseño de la Bombe de Turing, con paquetes de rotor idénticos reflejados, evitaba la necesidad de buscar a través de la inmensa cantidad de configuraciones de tablero, tomando un atajo factor 2 x 1014 en el acceso directo a la vinculación de sus cunas (pieza conocida de texto plano y texto cifrado) a una configuración de rotor determinada.
Descifrar el encriptado de la Enigma fue, no obstante, un desafío enorme con un entorno clave que fue extraordinario en la era electromecánica de aquellos días. Una búsqueda exhaustiva de 1.07 x 10 23 configuraciones fue imposible en la década de 1940 y su clave comparable de 77 bits es incluso enorme para los estándares informáticos actuales. Para darte una idea del tamaño de ese número, con 1.07 x 1023 hojas de papel (0.0039 pulgadas cada una) puedes construir aproximadamente 70,000,000 de pilas de papel, cada una de ellas desde la Tierra hasta el Sol. Además, 1.07 x 1023 pulgadas es igual a 288,500 años luz. ¡Un número bastante grande! Los alemanes tenían razón al suponer que la Enigma era teóricamente irrompible. Sin embargo, el descifrado de códigos es más que tamaños y números de claves, seguridad teórica y búsqueda de la combinación correcta. Más sobre cómo los Aliados descifraron la Enigma en esta página.
Por Dirk Rijmenants [1]
- Dirk Rijmenants Technical Details of the Enigma Machine - Mathematical Security
- Publicación de NSA
- Artículo de RA Ratcliff para Cryptologia
- Journal of Young Investigators - An Examination of the Components and Mathematics of the Enigma Electromechanical Rotor Ciphers