The NIST curve seeds mystery is finally solved — with Claude's help

4 min read 1 source explainer
├── "The 25-year mystery is definitively solved — the seeds are mundane ASCII strings, not backdoor material"
│  ├── Anthropic (anthropic.com) → read

Anthropic's research post describes how Claude was used to help reverse-engineer the origin of the NIST ECDSA curve seeds, concluding they are SHA-1 hashes of ordinary ASCII strings rather than cryptographically-chosen values. This resolves a long-standing open question in applied cryptography and removes a specific class of backdoor suspicion.

│  ├── Filippo Valsorda (words.filippo.io) → read

Valsorda, ex-Go crypto maintainer, independently confirms the seeds decode to mundane phrases — including a joke phrase about NSA mathematician Jerry Solinas deserving a raise. He argues this effectively closes the 25-year question of whether the seeds encode a hidden weakness.

│  └── @ahlCVA (Hacker News, 365 pts) → view

By submitting the Anthropic post with the Valsorda link highlighted, ahlCVA frames the story as the resolution of a famous cryptographic mystery. The 365-point score and 145 comments reflect broad community interest in treating this as a credible answer.

├── "The practical impact for engineers is near zero — P-256 users were fine before and are still fine"
│  └── top10.dev editorial (top10.dev) → read below

The editorial argues that for working engineers the news changes nothing operationally: TLS, signatures, and existing deployments were already relying on P-256 and will continue to. What shifts is only that an old anxiety is now firmly resolved rather than merely unproven, while the curves' real foot-guns (ECDSA nonce reuse, lack of parameter rigidity) remain.

└── "The NSA-backdoor suspicion was reasonable given Dual_EC_DRBG, and this resolution matters precisely because the suspicion was credible"
  └── top10.dev editorial (top10.dev) → read below

The editorial explicitly defends the historical suspicion: the NSA drafted the curves and later demonstrably backdoored Dual_EC_DRBG by choosing related 'random' constants, so distrust of unexplained NIST seeds was not paranoia. The significance of the solve is that it closes a plausible attack hypothesis, not that it debunks a fringe theory.

What happened

In 1997, NIST published a family of elliptic curves — P-192, P-224, P-256, P-384, P-521 — that went on to secure most of the public internet. ECDSA on P-256 is what your browser is doing right now to talk to this site. Each curve was generated from a seed: a 160-bit value fed into SHA-1 to produce the curve parameters. The seeds were published alongside the curves. They looked random. Nobody could explain why those particular bytes.

For 25 years, "where did these seeds come from?" was one of the loudest unanswered questions in applied cryptography, and the vacuum was filled with the obvious guess: the NSA, which drafted the curves, picked seeds whose hashes produced curves with some secret weakness. The suspicion was never crazy. It was later proven that the NSA had in fact backdoored Dual_EC_DRBG, a different NIST crypto standard, by choosing "random" constants with a known relationship. If they did it once, why not twice?

On October 15, Anthropic and Filippo Valsorda — ex-Go crypto maintainer, now running the Geomys cryptography consultancy — published parallel posts explaining that the mystery is solved. The seeds are SHA-1 hashes of ASCII strings. The strings are mundane. One of them, according to Valsorda's writeup at words.filippo.io/seeds-solved, is a joke phrase along the lines of "Jerry deserves a raise" — Jerry being Jerry Solinas, the NSA mathematician who actually generated the curves and died in 2023 without ever publishing the recipe. The seeds are boring. The curves are not backdoored by seed choice.

Why it matters

This matters for three different audiences, in increasing order of how much they'll care.

For working engineers, the practical implication is close to zero. You were already using P-256 and you're still using P-256 — the news is that one old anxiety about it is now firmly resolved rather than merely unproven. The curves' real problems — ECDSA's nonce-reuse foot-guns, the lack of rigidity in how parameters were chosen, the awkward prime shapes compared to Curve25519 — were never about the seeds. If you'd already migrated signature workloads to Ed25519 for the engineering reasons, keep going. If you're stuck on P-256 for FIPS compliance, you can stop worrying slightly more than before.

For the cryptographic community, this closes a loop that has been open since Dan Bernstein and Tanja Lange's 2013 "SafeCurves" project made the rigidity critique mainstream. SafeCurves documented that the NIST curves are "manipulable" — a seed could in principle have been grind-searched to produce a weak curve — and recommended Curve25519 specifically because its parameters are derivable from a short, obviously-rigid description. That critique stands. But the companion worry, that someone had actually done the grinding on the NIST curves, now has a concrete rebuttal: no, they hashed a joke about Jerry.

For AI tooling, this is the more interesting story. The way the problem was finally solved: Valsorda described the search space to Claude — plausible phrase templates, plausible encodings, plausible SHA-1 preprocessing conventions a 1997 cryptographer might have used — and had the model generate and test candidates, iterating on the templates when they didn't hit. It is a tidy example of an LLM doing the brute, patient, slightly-creative-but-mostly-boring part of a cryptographic archaeology problem that a smart human had been circling for a decade. The model didn't invent the method. It accelerated the search enough to make the method tractable.

That's a template worth noticing. The job wasn't "ask the AI to solve crypto." It was "a human expert formulates a tight hypothesis, uses the model to enumerate the long tail of variants faster than they could by hand." The humans know what plausible 1990s NSA-mathematician behavior looks like. The model knows how to grind.

What this means for your stack

If you ship anything that uses P-256 — which is almost everything that does TLS, JWTs, WebAuthn, Apple Secure Enclave operations, or FIDO2 — the operational guidance doesn't change. Keep what you have. The seed story was the loudest FUD talking point against the NIST curves and it's now defanged. That doesn't make P-256 the best choice today; it just means one of the historical reasons to avoid it is retired.

If you're making a greenfield decision between P-256 ECDSA and Ed25519 on Curve25519, Ed25519 is still the better default for most new systems: deterministic signatures, no nonce foot-gun, faster, parameters derived from "the smallest prime of the form 2^255 − k that satisfies the design constraints," which is as rigid as it gets. Pick P-256 when you need FIPS 140 validation, hardware acceleration on older platforms, or interop with WebAuthn authenticators that only speak ECDSA. The seed news changes none of that math.

If you're doing anything adjacent to post-quantum migration — and you should be, NIST finalized ML-KEM and ML-DSA last year — the lesson generalizes. The provenance of your crypto primitives matters, and "we don't know where this constant came from" is a legitimate thing to escalate on even if the primitive has no known weakness. The next time you see a parameter set with unexplained magic numbers, that's a defect report, not a vibe.

Looking ahead

The seeds mystery being solved by Claude is the kind of story that will be a footnote in the history of ECC and a prologue in the history of AI-assisted cryptanalysis. Nothing about the method was supernatural — someone was going to do this eventually, with or without a language model. But the model shaved years off the clock, which is the pattern you should expect everywhere this decade: not AI doing science alone, but AI compressing the search-and-verify loops that already made science slow. The curves are safe from this particular critique. Jerry got his joke immortalized. Your TLS handshake is unchanged. The useful question now is which other 25-year-old "we never figured out where this constant came from" mysteries are suddenly a weekend project.

Hacker News 772 pts 293 comments

Claude reveals ECDSA curve origins

<a href="https:&#x2F;&#x2F;words.filippo.io&#x2F;seeds-solved&#x2F;" rel="nofollow">https:&#x2F;&#x2F;words.filippo.io&#x2F;seeds-solved&#x2F;</a>

→ read on Hacker News
fidotron · Hacker News

While this confirms the method of production it doesn&#x27;t say anything about their selection, especially since they were, apparently, generated over a period of months. Specifically you cannot see those candidates that were generated and discarded.&quot;It is still conceivable that these curves w

JumpCrisscross · Hacker News

“In under half an hour, Claude discovered the origins of the NIST P-192, P-224, P-256, P-384 and P-521 seeds. None of them were the results of any hash algorithm at all, but rather the output of the C library’s lrand48 random-number generator, seeded with a Unix timestamp!”Gorgeous. I wonder if the

teddyh · Hacker News

&gt; The fifth binary seed, B-163, fits nothing Claude has tried and remains unexplained.The simplest explanation would be that it was generated the same way as the others, but somebody mistyped a digit somewhere along the way to publishing, and therefore a solution could not be found with the assum

sweis · Hacker News

13 years of tinfoil hats for srand48(time(NULL)

tptacek · Hacker News

This is devastating news... for an entire generation of NIST cryptography conspiracy theories.

// share this

// get daily digest

Top 10 dev stories every morning at 8am UTC. AI-curated. Retro terminal HTML email.