A signature can be verified exactly while the origin of its curve parameters remains unclear. The equation tells us how to calculate; it does not explain why its designer chose those constants.
Anthropic reported that the seeds for five NIST prime curves can be reproduced by a timestamp-initialized lrand48 generator. Its investigation concerns public parameter provenance, not recovery of ECDSA private keys. Research report, October 16, 2026.
Start with the curve parameters
: the field modulus , coefficients , base point , order and cofactor . None is a user's private key.
For P-256, the historical procedure fixes and uses a public 160-bit seed in a SHA-1-based calculation. It constructs an integer and checks
That is more specific than “hash the seed to get .” The published seed lets anyone verify the coefficient's relation to the hash calculation. It does not, by itself, explain how that seed was selected. FIPS 186-2, Appendices 6.4–6.5.
The first step was the provenance question. Recovering it does not reverse SHA-1. The base point has a separate selection process; it is not an output of this coefficient check.
The reported P-256 initializer is a Unix timestamp for 1997-08-16 01:52:34 UTC. Each candidate consumes 20 successive bytes; candidate 1,842 matches the published seed. Reproduction code.
The figure computes those bytes locally with exact integers. Select a candidate, then a byte to inspect the state that produced it. The coefficient check compares the selected seed with the fixed published ; it does not search for a new curve or test its order.
7EFBA1662985BE9403CB055C75D4F7E0CE8D84A9C5114ABCAF3177680104FA0DThe reproduction starts from , where is the Unix timestamp. For each output byte:
lrand48 returns the upper 31 bits of its 48-bit state. Shifting that result by another 23 bits retains its top byte. These are two descriptions of the same extraction, not two generator updates.
The article's public-domain reproduction code supplies the recurrence and replay inputs. Our implementation uses BigInt so intermediate products are exact.
A truncated output reveals only some state bits, but adjacent outputs still follow a shared recurrence. The Entropy
example makes that dependency visible with eight-bit states.
In the eight-bit teaching model, each square below is a possible initial state. Select how many consecutive outputs are known; only states producing the whole prefix remain dark. This enumerates 256 candidates, rather than running lattice reduction on the historical generator.
The report used lattice reduction to recover truncated generator states, then ran the recurrence backwards to find plausible initializers. LLL reduces a lattice basis; here the constraints come from generator outputs, not ECDSA signatures. Discovery method.
The demo above replays a known initializer. It does not perform that recovery. Reproduction and discovery are different computations.
If the visible byte is , write the state as , with . Write the multiplier and increment as and . Each missing suffix must satisfy the same recurrence as its neighbors:
The wrap count is an integer. Many consecutive bytes create linked integer equations with bounded unknown suffixes. This is the structure a lattice method can exploit; it is not a guarantee that any truncated generator is easy to recover.
B-163’s seed and several base points, including P-256’s, remain unexplained. P-256 candidate 876 also yields a prime-order curve. Why it was skipped, and how many runs were attempted, remain unknown. Open questions.
A matching byte sequence is reproducible evidence. The date's historical interpretation and the designer's complete selection process need additional evidence. A public recipe narrows the mystery; it does not prove that nobody searched over inputs, or that a curve is secure against every attack.
Entropy
asks whether a value must be unpredictable. ECDSA
distinguishes three uses: a public curve seed, a private scalar and a signing nonce.
Replaying the first reveals shared constants that were already public. It neither reveals a user's private scalar nor supplies the secret nonce needed to rearrange a signature into that key. That distinction is what makes weak historical parameter-generation randomness compatible with a discovery about provenance rather than a break of the signature scheme.