Astra decoded a WWI cipher that resisted 108 years. The key it used was not in service that day
GPT-6 Astra decoded a 1918 ADFGVX message whose key entered service twelve days later. The cross-check is a ship's log, and nobody else has reproduced it.

On September 17, a Substack author writing as prinz published a small, specific claim: OpenAI's GPT-6 Astra had read a German radio message from the First World War that had defeated codebreakers for 108 years. The post gave a full German plaintext and, unusually, an independent thing to check it against — the logbook of a Royal Navy cruiser. Tom's Hardware followed on September 19 with a headline declaring the code cracked "for the first time", and the Hacker News thread drew roughly 390 points and some 180 comments. The Reddit thread that carried it to r/singularity sat near 1,700 points. What the amplification flattened is the part worth reading: the key Astra used was not in service on the day the message was sent, and no one outside the original post has reproduced the decryption.
What the message was, and what Astra says it read
ADFGVX was Germany's field cipher in the last year of the war, and it works in two stages. Each letter or digit becomes a pair of symbols drawn from the six letters A, D, F, G, V and X through a keyed 6x6 square; the resulting stream is then scrambled by a second, columnar transposition key. Knowing the first key is useless without the second, which is why the French cryptanalyst Georges Painvin needed weeks to break it in 1918.
This message is one of the survivors of a set of German radio cryptograms that Klaus Schmeh's Cipherbrain blog lists as still unsolved. Hundreds of messages from that set have been decoded, including work by the codebreaking researcher George Lasry; more than a dozen had not been, and this one — transmitted 27 November 1918, listed at page 217 — was among them. Astra's published German reads:
EIN ENGLISCHER KREUZER EINLIEG X SEWASTOPOL X S4STEN X EIN GESCHWADER DER X ALLIIERTEN FOLGT 26STEN X
Rendered in English, that is "AN ENGLISH CRUISER ARRIVED AT SEVASTOPOL ON THE ?4TH AN ALLIED SQUADRON FOLLOWS ON THE 26TH". The question mark is in the translation as published: the ciphertext read as S4STEN leaves one digit unresolved, and the post does not settle which date it should be.
The key that should not have been in use
Astra's key was TRUPPENVERSCHIEBUNG, a word described on pages 214-215 of J. Rives Childs's "The History and Principles of German Military Ciphers, 1914–1918". The method has a fiddly first step: the key's letters must be reordered alphabetically, since T is the 16th letter of the alphabet, R the 13th, and so on, before the reordered word is written horizontally across the ciphertext in rows of 19. With 170 symbols in the message, that is eight rows of 19 plus one row of 18, which leaves 18 columns of nine symbols and one column — the G column — holding eight.
Here the post's own explanation becomes the story. Astra's hypothesis is that "TRUPPENVERSCHIEBUNG" entered service as a key on 9 December 1918, twelve days after this message went out on 27 November. The post states plainly that the reason for the discrepancy is unknown. So the model's success is not that it broke a key nobody had; it is that it tried a key from the wrong period, which is precisely what a systematic human search of that day's keys would have skipped.
The logbook check is the strongest part
Astra then did something models rarely do unprompted: it looked for corroboration. The cruiser named in the plaintext, HMS Canterbury, appears in the ship's original logs as arriving at Sevastopol on 24 November 1918, and an allied squadron arriving on 26 November. Both dates line up with the decrypted text, including the frustrating ?4TH.
That is the best evidence in the piece, and it should be stated at its real strength: it is consistent with the plaintext, not a proof of it. A message about fleet movements in the Black Sea in late November 1918 is exactly the sort of text a plausible-sounding decryption should produce, and the logbook is public and searchable. The check rules out an incoherent output. It does not rule out a coherent output from the wrong key.
The author's own framing is notably careful. He writes that he is "not aware of this particular message having ever been decoded before", and calls it "a minor (but I think really cool) result". There is no OpenAI involvement, no peer review, no published transcript of the model's session or prompts, and no independent cryptographic verification. One commenter on the Hacker News thread, eis, asked Astra to describe the source pages it had cited, and reports that the model could not, and could not find the book online either.
The list was public, and the gaps were clerical
The most useful context comes from the puzzle list itself. Cipherbrain's page, credited to Lasry, says the known-key reference "contains most certainly all the keys used during the period", and then names the real difficulty: understanding "how the cryptograms were mutilated or affected, probably by reception problems, or maybe even by wrong transmission or encoding." The unsolved residue was never a cryptographic wall. It was a paperwork problem.
Hacker News reached the same reading, with one member of the thread taking it further. Commenter Legend2440 summarised the case as the operator having used a key from the wrong day, and also having mistyped it — meaning, in that commenter's telling, that Astra "didn't need to brute-force the entire key, just pick the correct one from the list and identify the typo", adding that a dedicated human analyst could have done it too. YeGoblynQueenne pushed back immediately: the post documents the wrong-day key and says nothing about a mistyping. Treat the typo as a plausible inference from the thread, not a documented fact — but treat the shape of it as the point. The search space was small, public, and already narrowed by people who had done the boring work.
What several people are now doing by hand
The thread also showed this was not a lone event. Commenter aaymeloglu pointed Astra and another model, Fable, at a batch of unsolved ciphers after an earlier puzzle post and published a repository of near-complete readings — a 1635 Habsburg correspondence, a 1589 Venetian dispatch read from a surviving key, a 1644 passage in which George Lasry and Norbert Biermann had got there first. "Agents just eat these things," he wrote, and reported "plenty of low hanging fruit". Others built solvers: dbourdeau a general cipher-solver, simonklee a project on the Farnese letter.
The cautionary note in the same thread is the one worth keeping. Commenter 93po described spending an hour on a previous cipher solution while ChatGPT told him "the solution is disputed online". The dispute traced back to another AI agent's notes, which had mis-read source passages that continued onto the following page. "Annoying that ChatGPT can cite sources like this without being able to properly weigh their reliability," he wrote.
What would settle it
Three things. An independent cryptanalyst reproducing the decryption from the ciphertext, the key and the method — the arithmetic is checkable in an afternoon, and no one has published that check. The model's full session, published, so the reasoning can be audited rather than inferred from a write-up. And a test on a cipher where no key list exists, which is the only version of this claim that would say something about cryptanalysis rather than about searching a document.
Until then the honest reading is the one this site reached about Astra's Factorio run: a real-looking result, single-sourced, self-reported, with the interesting question left open. Commenter lhoff supplied the scale of the alternative: nobody has broken modern asymmetric encryption this way. The gap between a 1918 field cipher with a published key list and an elliptic curve is the gap between exhausting a small remaining gap and doing something new.


