OpenAI GPT–6 Astra breaks Enigma message that has resisted solution since 2005
TL;DR Highlight
GPT–6 Astra broke the Enigma message MVUEH, unsolved since 2005, in two days
Who Should Read
Backend developers curious how LLM agents write code and run tools to solve long-running problems
Core Mechanics
- The MVUEH message was broken
- The 10 July 1941 Enigma message MVUEH (Nr. 172) had resisted solution since 2005.
- On 15 September 2026, Carter Leffen sent his break to the author for validation.
- The key differed from the daily key
- Other messages that day used wheel order 512, but MVUEH used 253.
- Transcription errors and a left-wheel turnover at the 72nd letter also made it harder to break.
- Astra picked the target itself
- Leffen only asked it to try breaking any unbroken messages on the site.
- Astra chose Nr. 172 as most promising and suspected its plaintext related to Nr. 173 (SIPVX).
- ROSENOW ROSENOW was the crib
- A crib is a word you guess appears in the plaintext.
- Astra used it, wrote Python and C++ code for an Enigma simulator and Bombe, and found the key.
- Logs show archive research
Community Reactions
- Opinion that "entirely on its own" is overstated
- Commenters noted it wrote Python and C++ simulators, which sits oddly with that claim.
- They asked how novel that software was and how much of the break it did.
- Opinion stressing the human role
- One commenter said the two-day collaboration shows the importance of a human in the loop.
- Another complained that articles ignore the person driving such breakthroughs.
- Experience reproducing it with another model
- One commenter said Gemini 3.8 flash decrypted the ciphertext in about 45 minutes in an unsteered run.
- Opus was still running a roughly 100-minute script.
- Counterargument about open-source reuse
- Critics said Astra just used existing open-source Enigma simulators and Bombes and tried many cribs.
- Some argued training data helped it guess cribs.
How to Apply
- Give an agent an open-ended goal
- Spend 30 minutes today handing an unsolved bug or log problem to an agent, including target selection.
- Keep the instruction simple: pick the most promising item and explain why.
- Make the agent build its own verification tools
- Have it write a simulator or script to test hypotheses and keep run logs.
- Read the logs afterwards to check the assumptions it used.
- Define the success check first
- State the done criterion in the prompt before starting, such as matching a re-encrypted result.
- Require the agent to verify and report whether it passes.
Try It
# Paste into Claude or ChatGPT as is (simplified version of the article's method)
You are a cryptanalysis researcher. Solve the problem below.
Problem: {{description of the unsolved problem}}
Materials: {{logs, messages, data}}
Steps:
1. Pick the single most solvable item and explain why.
2. List 3 hypotheses about likely plaintext clues (the equivalent of cribs).
3. Write a short Python script to test the hypotheses.
4. Define the done criterion first, then check whether the result meets it.
Next: afterwards, ask it to separate the assumptions used from the failed attempts.Terminology
Related Papers
Same Simulation, Different Evidence: Where Retrieved Tool Output Costs LLM Agents Accuracy
Saving long tool output to files cut GPT-5.1 accuracy by 11.3 points; naming the authoritative file restored it.
Fake News, Real Crashes: Information Injection Attacks on LLM Financial Trading Agents
Fake headlines hijacked LLM trading agents 62% of the time versus 14% for prompt injection.
Harness Engineering 101: The LLM is the brain, the harness is the body
An agent is a loop managing a JSON array; 16 chapters build one from scratch
Harness2 by Google Research – Recursive Agent Harnessing
Recursively refining the harness with fixed model weights raised benchmark scores by up to 11.8 points.
Ousted Savannah police officer gave ICE agent husband access to Flock system
A police officer shared her Flock login with her ICE-agent husband; an audit found 983 searches and she was fired
Tmux and Claude Code: Sessions, Send-Keys, and the Ceiling
Running Claude Code agents in tmux works well, but limits appear around four agents.