Descifrando Enigma: Un Commodore 64 y la estadística

Fuentes: Breaking Enigma with Index of Coincidence on a Commodore 64

Este artículo de imapenguin.com explora una técnica para descifrar mensajes encriptados con la máquina Enigma, incluso sin tener una 'crib' (una parte conocida del texto original). La técnica, desarrollada por William Friedman en 1922, se basa en el 'Índice de Coincidencia' (IC), una medida estadística que evalúa si un texto se asemeja a un lenguaje natural o a ruido aleatorio. El IC calcula la probabilidad de que dos letras elegidas al azar en un texto sean iguales; el inglés y el alemán tienen valores típicos alrededor de 0.0667 y 0.0762 respectivamente, mientras que el texto aleatorio tiene un valor de 0.0385.

La clave está en que el IC no se ve afectado por la tabla de sustitución monoalfabética del plugboard de la Enigma. El plugboard simplemente reorganiza las letras, pero no altera las frecuencias relativas de las letras, y por lo tanto, no afecta al IC. Esto permite atacar primero los rotores (5.9 millones de combinaciones) y luego, una vez identificados, resolver el plugboard mediante análisis de frecuencias.

El artículo describe un escenario donde se intercepta un mensaje de un submarino alemán sin conocer su contenido. Se utiliza el IC para filtrar posibles configuraciones de la Enigma, buscando aquellas que produzcan un texto con un IC cercano al valor esperado para el alemán. Con solo 60 caracteres de texto cifrado, el proceso genera un gran número de candidatos (alrededor de 18,000), lo que requiere una inspección manual para identificar el mensaje legible. Se presenta pseudocódigo para la implementación en un Commodore 64, destacando que no se requiere el uso de la unidad de punto flotante del ordenador, lo que optimiza el proceso.

Finalmente, el artículo enfatiza que, con mensajes cortos, la técnica es susceptible a falsos positivos (decifrados que parecen aleatorios pero que casualmente tienen un IC alto). Para mensajes más largos (200+ caracteres), el IC se vuelve más fiable y el decifrado correcto suele tener el IC más alto. La técnica es una alternativa a otros métodos, como el 'brute-force' o el uso de una Bombe, especialmente cuando no se dispone de información previa sobre el contenido del mensaje.