GPT-6 Astra solved a 1918 German cipher, then checked it against HMS Canterbury's logs
The keyword the model landed on isn't recorded as being in service until twelve days after the message went out, and Astra is the one who flagged that.
On September 17, 2026, a writer publishing as prinz posted a decryption. GPT-6 Astra had read a German radio message transmitted on November 27, 1918, one of the World War I messages sitting on Scienceblogs.de's list of 50 unsolved ciphers.
The messages use ADFGVX. Hundreds of them have been decoded already, some by the codebreaking expert George Lasry. Over a dozen have held out.
The list they sit on mixes the famous with the grim. It runs from the Voynich manuscript to cryptograms published by serial killers, and the German radio traffic is one set among 50.
- Model
- GPT-6 Astra
- Message transmitted
- November 27, 1918
- Cipher
- ADFGVX
- Key the model used
- TRUPPENVERSCHIEBUNG
- Posted
- Sep 17, 2026
What I didn't expect was the second half of the post. Astra went and checked its own answer against a ship's log, and the log agreed with it.
What the message says

Astra's plaintext runs to one line of German, and prinz gives it in English too. It's a sighting report about who had just turned up at Sevastopol.
AN ENGLISH CRUISER ARRIVED AT SEVASTOPOL ON THE ?4TH AN ALLIED SQUADRON FOLLOWS ON THE 26TH
That question mark is a character the decode didn't resolve. Then comes the check: HMS Canterbury reached Sevastopol on November 24, 1918, going by the ship's own logs, and an allied squadron followed on November 26. Both halves of the message land.
The key that shouldn't fit
The keyword Astra settled on is TRUPPENVERSCHIEBUNG, which prinz traces to pages 214 and 215 of J. Rives Childs's The History and Principles of German Military Ciphers, 1914-1918. Nineteen letters, rearranged alphabetically, then used to cut the message into columns.
The message runs to 170 characters, which the keyword splits into eight rows of 19 symbols and one row of 18. prinz works through the counting that turns the keyword's T into the 135th symbol of the message, and that symbol plus one more into a plain letter E, then breaks off with a one-word aside: "(Wow.)"
Here's the awkward part, and Astra raised it rather than prinz. That keyword is recorded as coming into use on December 9, 1918, and this message went out on November 27, 1918. Nobody knows why.
prinz doesn't push the result any harder than it deserves, which is unusual for this kind of post.
a minor (but I think really cool) result and illustration of the capabilities of this model
How much this proves
One message, one model, one person's account of it. prinz writes that they aren't aware of this message ever having been decoded before, which is a narrower claim than saying nobody has. No published verification by a cryptographer is attached to the post.
Over a dozen of the World War I ADFGVX messages on that list of 50 are still unsolved.