The first break

On 15 September, a developer named Carter Leffen asked the cryptologist Frode Weierud to validate a solution to MVUEH — message Nr. 172, sent on 10 July 1941 to the radio station of the SS-Totenkopf Quartermaster and logged at 17:30, 82 letters long. It had resisted every attempt since 2005.

Leffen’s instruction to OpenAI’s GPT-6 Astra was, in effect, to go and find one. The model read the unbroken messages published on Weierud’s Crypto Cellar Research site, decided Nr. 172 was the most promising, and suspected the plaintext might be related to Nr. 173, SIPVX, broken in 2017. It tried several approaches, settled on the repeated place name ROSENOW ROSENOW as a crib, wrote an Enigma simulator and an Enigma Bombe in Python and C++, and ran the search until it had the key.

The reason the message had held out is now visible: its wheel order was 253 rather than the 512 used by the day’s other keys, the transcription from the original message form contained errors, and the machine’s left-hand wheel turned over at the 72nd letter, a rare event that complicates a break.

What the validator said

“GPT-6 Astra is behaving like a very professional cryptanalyst and archive researcher,” Weierud wrote. “What it has achieved in two days would take a human researcher weeks or even months. Personally, I spent several weeks researching the Bundesarchiv files GPT-6 Astra refers to.” He told TechCrunch the solution left him in “awe”.

Close-up of the brass gears inside an antique watch movement
The Enigma's wheels stepped mechanically as each letter was typed. Stock photograph of unrelated machinery. Tima Miroshnichenko · pexels · Pexels License

There is a loose end he has not closed. The model’s logs discuss archived messages in a private collection that Weierud does not host. He does not know whether the model reached them, and speculates they may have been posted somewhere by another researcher, or that it worked from the German federal archives directly. That is worth holding onto: the result is verified, the provenance of part of the model’s context is not.

The second break, with a human in the loop

On 21 September, six days later, the cryptanalyst Jack Willis emailed Weierud about a second solution: FMNGI, message Nr. 285 of 31 July 1941. This one used Anthropic’s Claude Opus 5, and Weierud is explicit that it was a different kind of exercise. Willis gave Claude a cryptanalytical workbench written in Go and the historical material, and the attack relied on strong human guidance rather than the model choosing its own target.

Claude transcribed the scanned message form, recording ambiguous characters rather than guessing them, and used an already-broken message from the same pair of stations as a control. The crib came from the signature of SS officer Friedrich Hartjenstein — XHARTJENSTEINX, fourteen letters. The final key search ran on 20 September and took 13 minutes and 28 seconds on an Apple M2.

An archivist reaching for a file among shelves of paper folders
Seven Enigma messages in the collection remain unbroken. Stock photograph of an unrelated archive. Luis F Rodríguez Jiménez · pexels · Pexels License

The recovered plaintext carries two mistakes made in 1941: KOLJNNE for KOLONNE, and ZURUEK where the operator should have written ZURUEQ, because German procedure replaced CK with Q.

What is left

Of close to 1,000 Enigma and Truppenschlüssel messages in the German Army collection, seven Enigma messages remain unbroken, plus one puzzle — Nr. 138, WEUWY — that must share its plaintext with another message from the same day and has still resisted every attempt.

The two results are not the same achievement. One model was handed a corpus and chose a target; the other was handed a workbench and pointed at one. Both are worth recording, and the distinction is the part that tends to get lost when the headline is “AI broke Enigma”.