¿Cuánto tiempo tardaría Enigma en romper con la tecnología moderna y los usuarios colectivos de Internet?

Hay dos métodos básicos para descifrar Enigma:

1) Ataque de texto sin formato conocido (o adivinado). El método fue desarrollado por Alan Turing y otros en 1940, basándose en trabajos anteriores de matemáticos polacos. Se realizó con el famoso Turing Bombe.

Para un sistema Enigma de 3 rotores (Army & Luftwaffe), tomó 20 minutos x 60 posibles selecciones de 3 rotores de 5. Sin embargo, tenía algunas limitaciones (como fallar cuando hubo un escalón del rotor central en el medio del texto simple adivinado).

Para un sistema Enigma de 4 rotores (Marina), el tiempo requerido fue de aproximadamente 2 órdenes de magnitud más (aunque Estados Unidos ayudó y produjo rápidas bombas de 4 rotores).

Un simulador de software del Turing Bombe, que escribí en Java, lleva unas pocas decenas de segundos para una carrera de 3 rotores. Y un par de horas para el 4 rotores (en una PC con 4 núcleos).

Pero la principal limitación es que necesita saber / adivinar alguna parte de los mensajes. Los británicos fueron muy buenos durante la guerra.

2) El método más general es para el caso en el que no se conoce texto sin formato: ataque solo de texto cifrado. Se basa en un algoritmo de escalada, desarrollado en 1995 y perfeccionado unos años más tarde. Implementé una versión mejorada de este algoritmo en Java en una PC, y toma alrededor de un día completo para un mensaje de 3 rotores, para una sola ronda de todas las configuraciones posibles del rotor. El problema con este algoritmo es que se pueden necesitar varias rondas para un mensaje con <100 letras y letras confusas.

Para el mensaje de 4 rotores, estamos hablando de al menos 100 veces este número. Es por eso que el Proyecto de ruptura de mensajes M4 distribuido M4 se lanzó en 2006, para descifrar un par de mensajes históricos sin resolver. Dos de ellos se resolvieron en unos pocos meses, utilizando miles de PC que realizan el algoritmo en tiempo de inactividad, cada uno cubriendo una cierta parte del espacio de teclas.

Asumiré que estás preguntando cuánto tiempo tomaría ejecutar un ataque de fuerza bruta en el “espacio de teclas” de Enigma, ya que ya ha sido descifrado. Por “agrietado” o “roto” quiero decir que es posible recuperar el texto sin formato de un mensaje sin tener que probar todas las posibilidades.

Enigma ya está roto

No piense que las bombas de Turing solían buscar todas las configuraciones posibles de Enigma. En el momento en que se configuró un bombe para funcionar, los criptógrafos ya habían (a) determinado qué rotores se utilizaron y en qué orden, y también habían descubierto varias limitaciones entre las configuraciones de los rotores.

Solo cuando habían reducido las cosas lo suficiente, establecieron las bombas.

Un ataque de fuerza bruta

Ahora, incluso para un ataque ingenuo en todo el espacio de teclas, necesitamos definirlo un poco. Por ejemplo, el panel de conexiones agregó enormemente al espacio de teclas, pero hizo poco en términos de criptografía. Nadie atacaría esa parte del sistema a través de un ataque de fuerza bruta.

Que rotores

Dejando eso de lado, echemos un vistazo al espacio de teclas para un Enigma de tres rotores (ejército). (La armada alemana usó una máquina de cuatro rotores y luego cinco). Creo que había cinco rotores posibles para elegir. Entonces, ¿qué rotores es

[matemáticas] \ binom {5} {3} = 10 [/ matemáticas]

Orden de rotores

Luego está el orden de los tres rotores elegidos, 6.

Configuraciones de timbre

Luego están los ajustes del anillo. (Aquí es donde un rotor en particular dispararía al siguiente rotor y era ajustable). Entonces, esto debería ser 26 ^ 3.

Configuración de inicio

Finalmente está la configuración de inicio, que será otro 26 ^ 3.

Agregándolo todo

Entonces tenemos 10 veces 6 veces 26 ^ 6. (Si no he olvidado nada, y teniendo en cuenta que estoy ignorando deliberadamente la placa de enchufe), y eso da como resultado 2 ^ 34.

Entonces, en términos modernos (si no he pasado por alto algo), Enigma tenía una clave de 34 bits. (Nuevamente, ignorando el tablero)

Cuánto tiempo

Ahora suponga que tiene en su computadora de escritorio que puede probar 1,000 “configuraciones” por segundo. (Tenga en cuenta que algunas suposiciones de contraseñas de escritorio de gama alta pueden verificar decenas de millones de contraseñas por segundo, pero aquí soy muy conservador porque probar una configuración individual será más complicado para Enigma).

Eso funciona alrededor de tres semanas bajo los supuestos que he dado (y esto es para una sola computadora de escritorio).

No necesitarías todo el Internet.

Primero: ¿Qué software estás usando?

¿Estás utilizando el CWB (Banco de trabajo de criptanalista) de Bob Baldwin? No he hablado con Bob en años. Tal vez algo en GCHQ? Tal vez tienes el tuyo?

Me he tomado el tiempo de visitar los Archivos Nacionales de EE. UU., Y solía tener Ultra sin procesar. Tengo mensajes de prueba reales. Lo dejé en el viejo trabajo. Así que conozco características que la mayoría de las personas, los aficionados, no conocen. También he hablado con profesionales. Una sola computadora en estos días es suficiente.

Puntos eliminados si tengo que dar metadatos de cuna (como “¿cuándo?”). Estoy en contacto con David Kahn y Whit Diffie (acabo de cenar con él y su esposa hace un par de semanas (si alguna vez necesitas que te lleven a un hospital, puedo recomendarte a Whit (solo me llevó a mi auto una vez)) )

También admitiré ser la mula, para John Gilmore, de media docena de copias de cada libro de EFF Deep Crack para la CIA y la NSA, las bibliotecas, la tienda de regalos (quería una fuente confiable que pudiera llevar dichos libros adentro, y quizás convencer a sus tiendas de regalos para que vendan el libro Deep Crack). Se sientan en sus respectivas bibliotecas, y puedo asegurarles que estaban allí en estantes sin clasificar. Puedes ver una copia, entre semana, en la biblioteca de la Natl. Crypto Museum. Esa es una que traje. Se negaron a vender los libros y también apreciaron las muestras de chips de rechazo (de todos modos, es más un motor DES). Tienen sus propios métodos y hardware, gracias.

Si quieres averiguarlo, aprende tú mismo el marco de Cryptol, ¡hacer exactamente eso es uno de los ejercicios tutoriales!