Anthropic says an internal research model recovered, in under half an hour, how the seeds of NIST P-192/224/256/384/521 were produced: lrand48 output seeded with Unix timestamps from 1997–98, not a hashed phrase. Bounty organizer Filippo Valsorda independently reproduced it in Go; the $36,864 bounty goes to ISRG. This is not a break and no action is needed.
Key Takeaways
- ✓P-256 seed = candidate #1842 after
srand48(871696354)(1997-08-16 01:52:34 UTC), per Anthropic - ✓Tell: 4 of 10 seeds had the top bit clear in all twenty 32-bit words (≈1/5810 by chance), the fingerprint of lrand48's 31-of-48-bit output
- ✓Prime-curve seeds use
lrand48() >> 23; truncated LCG state recovered with LLL lattice reduction; all 10 init times fall May 1997–Apr 1998 - ✓Bounty claimed 2026-10-15 01:07:51 UTC, tripled to $36,864 and donated to ISRG; Filippo Valsorda reproduced it in Go
- ✓Still open: the B-163 seed, base points of P-224/256/384/521, and why viable candidates (e.g. P-256 #876) were skipped

Turn your technical choice into a development budget
Compare 40 dev plans & simulate token costs vs $20/mo subscriptions
Project Links & Resources
Direct AccessIn-Depth Technical Analysis
In FIPS 186-2 (2000), NIST published the P-192/224/256/384/521 curves, whose coefficient b is derived by SHA-1 from a 20-byte seed supplied by the NSA without explanation, fueling 25 years of backdoor suspicion. Anthropic reports that an internal research model, asked without hints, found the answer in under half an hour: it guessed the generator was a 1990s C-library PRNG, scanned 34 generator/slice combinations, noticed four seeds had the top bit clear in every 32-bit word (about 1/5810 by chance), identified lrand48, recovered the truncated lrand48() >> 23 state with LLL lattice reduction, and stepped it back to srand48 form. Every prime-curve init value is a Unix timestamp between May 1997 and April 1998; P-256 is candidate #1842 after srand48(871696354), i.e. 1997-08-16 01:52:34 UTC. Filippo Valsorda reproduced it independently in Go, and we reproduced the P-256 seed locally from Anthropic's published Python in about 5 ms. The model also explained base points for P-192 and five ANSI X9.62 example curves (FreeLIP RNG), but B-163's seed, the P-224/256/384/521 base points, and why some viable candidates were skipped remain open. The $36,864 bounty, claimed on 2026-10-15, goes to ISRG. Anthropic stresses this is not a cryptographic break; no action is needed, and the result makes a hidden weakness less plausible.
Benchmark side-by-side against alternatives, or calculate monthly token cost vs subscription break-even.
Discussion & Comments
0Sign in to join the discussion
Connect with AI developers to exchange benchmark insights.