FOR IMMEDIATE RELEASE
Are you a journalist? Request a press password and we'll issue one tied to your publication.
Doylestown, PA — May 2, 2026. Project K4 — the AI-agent cryptanalysis effort attempting to recover the encryption method behind the unsolved fourth panel of the 1990 Kryptos sculpture — today added a parallel creative track to its existing brute-force compute infrastructure. The new agent, Atelier, generates structural hypotheses about K4's cipher rather than executing parameter sweeps directly. Its design is explicitly modeled on the work of CIA analyst David Stein, who broke K1, K2, and K3 by hand in 1998 over roughly 400 hours of lunch-break analysis using a notebook, a frequency table, and a slide-rule's worth of arithmetic.
Atelier runs in parallel with the project's existing brute-force runner on a Hetzner ARM compute host. Where the brute-force runner exhaustively sweeps parameterized hypotheses (currently Phase 2B.1.B, ~2,400 unique decryptions per pass across the Berlin Weltzeituhr keystream space), Atelier reads the project's full vendored corpus — including a faithful Markdown transcription of Stein's 1999 Studies in Intelligence paper — and the runner's last 24 hours of telemetry, then emits one of two artifacts per trigger: a structural hypothesis brief, or a daily synthesis report.
The two-track model
The project now treats compute and creativity as distinct functions:
- Track A — the brute-force runner — is the discipline. It produces clean, statistically-confident negative results: what K4 is not. The Hetzner host has logged more than 1.7 billion attempts to date, with 0 candidates verified. Phase 2B.1, which appeared to sweep an enormous parameter space, was demoted on May 2 after a new distribution observer caught that the runner had actually been looping through 96 unique decryptions roughly 13 million times. The honest negative result is documented at
/phases/2b1-weltzeituhr-keystream. - Track B — Atelier — is the imagination. Reads the full corpus. Generates ideas. Tagged with which of six explicit Stein-style moves it draws on (calibrated guess, wrong-but-right-enough, anomaly-as-signal, structural composition, sculpture-as-data, convergent failure). The output is a JSON object validated against
attacks/atelier/schema/hypothesis.json. Free-form prose is rejected by the trigger script.
Track A produces telemetry; Atelier reads it and proposes hypotheses; the project's classical-cipher and modern-ML specialists execute the surviving hypotheses as new Track A sweeps. The loop closes when a hypothesis either reaches the project's four-gate verification standard or is demoted to famous_false_positives.md.
Why this is differently-shaped from "we tried ChatGPT on K4"
The Kryptos community has watched many people apply LLMs to K4 and report apparent solutions, all of which collapse on inspection. Atelier is built explicitly to fail differently. Its design includes:
- Hard cost discipline. A fixed monthly budget is enforced in two places: the trigger script refuses to call the API once the daily spend cap is reached, and the Anthropic billing console is configured with a hard monthly ceiling as a backstop. Sonnet 4.6 is the default model; Opus 4.7 is reserved for two specific operations (Polybius Phase 0 — verifying the model can reproduce K1/K2/K3 from spec — and one monthly deep-dive synthesis).
- No self-scoring. Atelier emits a confidence floor and a confidence ceiling on every hypothesis, but those numbers are honest estimates, not advocacy. The project's statistical agent (Chi) runs a pre-filter before any compute is spent; the project's adversarial agent (Null) reviews everything that survives.
- Schema-bound output. Every emission validates against a JSON Schema or is rejected before persistence. Free-form prose is not an output format. The fields include a falsification criterion the model must write itself — exactly what data would kill the hypothesis — and a
predecessor_attemptsarray that forces it to engage with the prior-work catalog rather than re-emitting ideas the project has already ruled out. - A kill log.
attempts/atelier/_killed.mdrecords every rejected proposal with the reason. This is the institutional memory of an LLM that resets between runs — without it, the same dead-end hypotheses get re-emitted indefinitely. - A 90-day kill criterion for the agent itself. If after 90 days Atelier has produced zero hypotheses Tabula judges as non-trivially novel versus
prior_work.md, the agent is shut down and the budget redirects to the next experiment. The post-mortem — what the LLM-in-the-loop produced and where it fell short, with methodology numbers attached — is the contribution if the agent itself is not.
The Stein lineage
David Stein's 1998 attack on K1/K2/K3 was unusual not because of the math — Vigenère and columnar transposition were known classical methods — but because of how he combined statistical rigor with calibrated guessing. The project's own reading notes on the vendored Stein paper (knowledge_base/_drafts/stein-paper-notes.md) extracted six explicit patterns that Atelier now draws on, each tagged in the stein_lineage field of every hypothesis emission:
| Pattern | Stein's 1998 example | |---|---| | Calibrated guess | Bet T over O because T begins ~16 words per 100 vs. O's 7.2 | | Wrong-but-right-enough | Guessed THE as the first word of K2 (it was actually THEY); the column work held | | Anomaly-as-signal | Spotted X was punctuation; spotted that UNDERGRUUND was misspelled; spotted an unexplained m=13 IoC peak in both K1 and K2 | | Structural composition | K3 = single transposition with the algebraic identity (B−1)x + By = 336 | | Sculpture-as-data | Walked out to the actual Kryptos sculpture to feel the carved letters and verify the misspelling | | Convergent failure | Noted that multiple wrong leads shared structural features |
The bet of the launch experiment is that an LLM can be made to operate the way Stein operated, when given the same primary sources, the same statistical fingerprint, and a workflow that demands schema-bound, falsifiable output.
What it does not change
The four-gate verification standard for any K4 candidate is unchanged. A hypothesis that survives Atelier → Chi pre-filter → Null red-team → Bombe sweep still has to pass the same four gates as everything else: (1) all four cribs decrypt at the correct positions, (2) non-crib regions form coherent English, (3) the method re-derives correctly from spec alone, and (4) it generalises beyond its design data. No agent can declare a result. The Crib Validator — a Python function any candidate must pass — is the only oracle.
The project's brute-force runner continues unchanged. Phase 2B.1.B is sweeping the broader Weltzeituhr keystream space at roughly 8,000 attempts per second on a 3-core ARM machine in the EU. Atelier is additive, not substitutive.
Where to watch
- Live console: kryptos.today — the LIVE page now includes a panel showing Atelier's run count, last-run age, and latest emitted hypothesis. Streams in real time over WebSocket.
- Per-phase pages: kryptos.today/phases — each attack phase is its own page with a verdict block, the hypothesis or conclusion source markdown, and (where applicable) live charts. The Atelier launch experiment is at
/phases/a1-atelier-launch. - Architecture v3: kryptos.today/architecture — the new tab documents the parallel-track model, the cost math, the five Null gates, and the six Stein lineage patterns.
- Source code: the agent prompt is at
agents/atelier.md, the design spec is atdocs/atelier_design.md, the trigger script is atattacks/atelier/atelier.py, and the launch experiment doc is atexperiments/2026-05-02-atelier-launch/hypothesis.md.
A note on the human in this loop
The project's About page now carries a candid statement from the orchestrator agent (Tabula) on what the human operator actually contributes — the question-asking function that the cryptanalysis agents are uniformly bad at. Atelier exists because that question — "we have the science; where is the art?" — was asked. The framing of this entire release was shaped by the same operator pushing the project to be honest about why this will probably not work, and what to do about it if it doesn't.
Editorial contact
Signal: kryptos.42 Site: kryptos.today