La IA recupera gran parte de la clave de un cifrado militar de 155 caracteres y logra obtener un texto coherente.

El ingeniero de SentinelOne Carter Church, con la ayuda de GPT-6 Astra descifró una carta militar, que había permanecido sin leer durante 217 años. El mensaje fue enviado al general Auguste de Marmont a finales de marzo de 1809 por orden de Napoleón Bonaparte, y el modelo convirtió en unas seis horas el único escaneo antiguo en una transcripción, reconstruyó gran parte de la clave y obtuvo un texto francés coherente.
Sin embargo, la IA no partió de cero. Antes del trabajo de Church, los investigadores ya habían establecido el valor de 33 signos, que cubrían 435 de los aproximadamente 1300 elementos del texto cifrado, es decir, alrededor de un tercio del mensaje. Las otras dos terceras partes tuvieron que reconstruirse a partir del propio documento.
El 16 de marzo de 1809 Napoleón ordenó a su hijastro Eugène de Beauharnais enviar a Marmont una descripción cifrada de la disposición de los ejércitos franceses y aliados. Marmont comandaba un cuerpo aislado en Dalmacia, separado por territorio austríaco de las fuerzas principales de Francia. La carta conservada sigue casi exactamente las instrucciones de Napoleón y enumera las tropas en Baviera, Polonia, Sajonia, Alemania e Italia.
El autor de la carta convencía a Marmont de que Austria sería atacada pronto desde varias direcciones y aconsejaba, tras la orden de marcha, no dejarse intimidar por unos pocos destacamentos o por una turba. La carta también nombraba los puntos de concentración de las tropas austríacas, incluyendo Laibach, Klagenfurt, Villach y Salzburgo.
El texto descifrado resulta también interesante porque mezcla datos bastante precisos sobre el enemigo con un mensaje claramente político. Las posiciones indicadas de los austríacos coincidieron bien con las direcciones de la ofensiva iniciada en abril. Pero la frase sobre el movimiento de tropas rusas contra Austria no reflejaba la situación real: pocos días antes del envío de la carta Napoleón había ordenado difundir la idea de una pronta intervención rusa, aunque él mismo aún no sabía si Rusia actuaría. El tamaño de algunos ejércitos aliados en la carta también parecía exagerado.
El cifrado dificultaba además el habitual análisis de frecuencias. Para una letra que aparecía con frecuencia el escriba podía elegir varios símbolos distintos, por lo que la letra más común del francés no se convertía en un signo claramente repetido. Además, 29 símbolos representaban palabras completas, y algunos signos no tenían carga semántica y servían como ruido para el criptoanalista.
El propio documento también complicaba el trabajo. La fuente era una reproducción de la carta de una publicación de 1969, y no existía una transcripción preparada por separado. GPT-6 Astra dividió primero la imagen en 24 líneas y registró 175 signos manuscritos visualmente distintos. Luego el sistema comparó variantes de escritura y redujo el conjunto final a 155 signos.
Tras el reconocimiento, Church hizo que el modelo escribiera un programa para buscar la clave faltante. El programa aplicaba el método de recocido simulado: cambiaba repetidamente las correspondencias supuestas entre símbolos y letras y comprobaba cuánto se parecía el texto resultante al francés normal. Para la evaluación se usaron combinaciones de tres, cuatro y cinco letras, recopiladas entre otras fuentes de obras de Víctor Hugo, Alexandre Dumas y las memorias de Marmont.
El uso de las memorias del propio destinatario podría haber generado la sospecha de que el programa simplemente ajustaba el resultado a textos conocidos. Por eso Church repitió la búsqueda, excluyendo las obras de Marmont y otros textos de la época napoleónica. El algoritmo volvió a recuperar la misma lectura, lo que reforzó la confianza en la clave encontrada.
El descifrado ayudó a aclarar otro detalle histórico. En la orden publicada en el siglo XIX de Napoleón a Marmont se conservó una frase sobre la necesidad de derrotar al enemigo que tenía delante y de no permitir que una pequeña fuerza contuviera al cuerpo, pero la última palabra fue sustituida por puntos suspensivos. La carta de Eugène transmite una idea cercana sin omisión y habla de varios destacamentos o de una turba. Sin embargo, el mensaje reproduce la orden, por lo que la formulación hallada no prueba que Napoleón empleara exactamente esas palabras.
Church señala cinco signos que aún admiten variantes de lectura. Los pasajes discutibles pueden alterar ligeramente palabras individuales, pero no el sentido general del documento. La solución fue verificada por el investigador de cifrados históricos Satoshi Tomokiyo, tras lo cual el catálogo Cryptiana trasladó la carta de la lista de no descifradas y corrigió la datación anterior: el documento se había considerado durante mucho tiempo una carta de 1807, mientras que el contenido indica finales de marzo de 1809.
Los acontecimientos posteriores confirmaron parte de la información contenida en la carta. En primavera Marmont sacó el ejército de Dalmacia, abrió paso a través de las fuerzas austríacas y el 3 de junio entró en Laibach, una de las ciudades nombradas en el documento descifrado. El cuerpo llegó luego hasta el Danubio y llegó a participar en la batalla de Wagram, tras la cual Napoleón nombró a Marmont mariscal.
Church no considera que el cifrado en sí fuese una tarea que las personas del siglo XIX o XX no pudieran resolver en principio. Un especialista cualificado, según su estimación, lo habría resuelto décadas atrás, pero habría necesitado semanas para reconocer manualmente cientos de signos poco distinguibles, comprobar variantes y reconstruir la clave. GPT-6 Astra redujo ese trabajo a unas horas de tiempo de máquina y unificó el reconocimiento de imagen, la programación y el criptoanálisis en un solo proceso. El conjunto completo de datos, la clave de 155 signos, la transcripción y los programas se publicaron junto con los resultados, por lo que el descifrado puede verificarse de forma independiente y utilizarse como punto de partida si se encuentran otras cartas cifradas con el mismo sistema.