blockchain that runs exactly as written when it is called, holding and moving funds according to its code, without an intermediary able to change the outcome.">smart contract holding reserves of two or more tokens, supplied by users, that a decentralized exchange uses to execute trades automatically at a price set by a formula.">pool diverge, compared with simply holding the same tokens in a wallet. It becomes permanent when the provider withdraws.">Il mistero dei «seed» delle curve NIST, i numeri dall’aria casuale da cui derivano P-256 e le altre curve ellittiche P del NIST, ha una risposta dopo più di vent’anni. Il 16 ottobre 2026 il Frontier Red Team di Anthropic ha comunicato che un modello di ricerca interno di Claude ha ricostruito in meno di mezz’ora come erano stati prodotti: venivano da un normale generatore di numeri casuali delle librerie C, lrand48, avviato con timestamp Unix del 1997 e del 1998. Non erano l’hash di una frase in inglese, come voleva il folklore dei crittografi. Filippo Valsorda, il crittografo che aveva lanciato una taglia pubblica sulla questione, ha riscritto il metodo da solo in Go e ha ottenuto gli stessi seed pubblicati.
Per chi possiede cripto, però, la curva ellittica di Bitcoin non c’entra: è una storia di fiducia in uno standard, non una falla di sicurezza. Le chiavi di Bitcoin ed Ethereum non stanno su nessuna curva NIST, quindi per wallet, dispositivi hardware e backup non cambia nulla. Il risultato pesa invece su P-256, la curva delle passkey e della verifica delle firme che i rollup e, da dicembre 2025, anche la mainnet di Ethereum mettono a disposizione degli smart wallet.
Prima un chiarimento di vocabolario, perché la parola confonde. Il «seed» di una curva è un numero dato in pasto a una procedura pubblica che restituisce i parametri della curva. Non ha niente a che vedere con la seed phrase di 12 o 24 parole che fa da backup a un wallet cripto. Nessuna seed phrase è stata violata, indovinata o esposta.
Come Claude ha ricondotto i seed delle curve NIST a un orologio del 1997
Secondo Anthropic, un dipendente ha chiesto al modello interno di capire come fossero stati generati i seed, senza dargli l’indizio del folklore, cioè che si trattasse dell’hash di una «passphrase umoristica». Il resoconto parla solo di «un modello di ricerca interno» e non ne fa il nome. Pubblica però alcuni estratti del ragionamento del modello, compreso un passaggio in cui si chiede se si trovi in un ambiente simulato o di test, prima di concludere che lo schema trovato è reale.
Il modello ha ipotizzato per prima cosa che il software avesse usato un generatore pseudocasuale incluso nelle librerie C degli anni Novanta, e ha scritto uno scanner per mettere alla prova i seed con quell’idea. Poi ha notato una regolarità: in quattro dei dieci seed il bit più alto di ogni parola a 32 bit era zero, in tutte e 20 le parole. È quello che ci si aspetta da lrand48, che tiene uno stato interno di 48 bit e ne restituisce solo 31 alla volta. Il modello ha provato tutti i 217 valori dei 17 bit nascosti e ha verificato che le parole successive coincidessero. Per i seed delle curve prime ha usato l’algoritmo di Lenstra-Lenstra-Lovász (LLL), il metodo da manuale basato sui reticoli per recuperare lo stato di un generatore congruenziale lineare troncato. Una volta ricostruiti gli stati, i valori di partenza si sono rivelati timestamp Unix.
La procedura ricostruita da Valsorda è semplice. Si chiama srand48 con l’ora Unix corrente, si estraggono byte con drand48, si prova ogni blocco di 20 byte come seed candidato e si tengono quelli che producono una curva valida secondo le regole dello standard ANSI X9.62. Ogni seed pubblicato occupa una posizione precisa in quella sequenza: per P-256, per esempio, è il candidato numero 1.842.

Cinque curve prime, cinque timestamp tra il 1997 e il 1998
Il codice di riproduzione di Anthropic indica un orario di avvio e un numero di candidato per ciascuna delle cinque curve prime che il NIST pubblicò nello standard FIPS 186-2 nel 2000. Tutti gli orari sono in UTC.
| Curva | Avvio del generatore (UTC) | Candidato pubblicato |
|---|---|---|
| P-192 | 18 maggio 1997, 14:45:34 | 139 |
| P-521 | 8 agosto 1997, 01:12:04 | 1.136 |
| P-256 | 16 agosto 1997, 01:52:34 | 1.842 |
| P-384 | 30 agosto 1997, 14:50:08 | 2.688 |
| P-224 | 3 aprile 1998, 12:52:07 | 7.026 |
Quattro curve binarie, B-233, B-283, B-409 e B-571, sembrano seguire lo stesso schema con una variante. I loro valori di partenza corrispondono a date del febbraio 1984, il che fa pensare che il programma abbia dimezzato l’orologio; raddoppiati, portano al 17 aprile 1998, due settimane dopo l’esecuzione per P-224. Anthropic presenta questa lettura con cautela. Il codice pubblicato copre i cinque seed delle curve prime e questi quattro delle curve binarie.
Il gruppo ha anche ricondotto il punto base di P-192, e quelli di cinque curve d’esempio dello standard ANSI X9.62 (prime192v2, prime192v3 e da prime239v1 a v3), al generatore casuale di FreeLIP, una libreria aritmetica degli anni Novanta, avviato con piccoli seed compresi tra 20000 e 20517. Anthropic ha rilasciato il codice con licenza di pubblico dominio CC0 e ha riconosciuto il merito, postumo, a Jerry Solinas, il matematico della NSA che fornì i seed e che è morto all’inizio del 2023.
Crittografia a curva ellittica: perché un seed preoccupava da 13 anni
La crittografia a curva ellittica permette a un wallet o a un browser di trasformare una chiave privata in una chiave pubblica, e di firmare messaggi che chiunque può verificare con quella chiave pubblica. La sicurezza dipende dalla curva stessa. Una curva con una debolezza nascosta permetterebbe a chi la conosce di risalire alle chiavi.
La soluzione adottata dal NIST nel 2000, sul modello del metodo ANSI X9.62, è stata la curva «verificabilmente casuale». I parametri si ottengono passando un seed nella funzione di hash SHA-1, così in teoria nessuno può aver scelto una curva su misura. Il punto debole era proprio il seed. La NSA non ha mai detto da dove venissero quei numeri. Se chi progettava la curva avesse potuto provare milioni di seed e tenere quello che dava una curva con un difetto noto solo a lui, la verifica avrebbe dimostrato poco.
Il sospetto è rimasto accademico fino a settembre 2013, quando i documenti di Snowden e il caso Dual_EC_DRBG hanno mostrato che uno standard per numeri casuali legato alla NSA era stato costruito con una probabile backdoor. Il NIST ha ritirato Dual_EC_DRBG nel 2014. Sulle mailing list di crittografia i seed inspiegati delle curve P sono diventati il bersaglio successivo. Gli sviluppatori di Bitcoin, dal canto loro, facevano notare che secp256k1 un seed non ce l’aveva proprio.
Si sono formati due schieramenti. Neal Koblitz e Alfred Menezes hanno sostenuto nel 2015 che una backdoor nascosta nella scelta del seed fosse poco plausibile. Daniel Bernstein, Tanja Lange e i loro coautori, con il lavoro «BADA55» sulle curve manipolabili, hanno mostrato come la libertà nella scelta del seed potesse in linea di principio nascondere una curva debole. Secondo Valsorda, il loro scenario presupponeva circa 70 bit di libertà nella scelta.
Solinas è morto all’inizio del 2023. Il 5 ottobre 2023 Valsorda ha aperto una taglia per chi avesse ricostruito l’origine dei seed, presto salita a 12.288 dollari, con l’importo triplicato se il vincitore lo avesse devoluto a un ente benefico statunitense. Solinas ricordava i seed come hash SHA-1 di una frase in inglese del tipo «Jerry deserves a raise» («Jerry merita un aumento»), aveva scritto allora Valsorda, ma nessuna delle frasi provate funzionava.
La verifica indipendente di Valsorda e la taglia finita all’ente di Let’s Encrypt
Valsorda scrive che la taglia è stata reclamata il 15 ottobre 2026 alle 01:07:51 UTC. La sua reimplementazione in Go riproduce i seed, ed è per ora l’unica verifica indipendente: non esiste ancora un articolo sottoposto a revisione paritaria. Nella sua lettura, la procedura applicava due regole di accettazione in più rispetto ai controlli ANSI X9.62, entrambe non documentate. Una l’ha individuata (scartare il candidato se la lunghezza in bit dell’ordine n della curva supera quella del primo p del campo). La seconda, scrive, «ci sfugge ancora», e la sua versione dell’algoritmo produce circa il doppio dei seed validi rispetto a quelli pubblicati.
Sulla vecchia teoria della backdoor è netto. «I risultati di questa settimana escludono completamente la tecnica descritta da Bernstein e Lange», ha scritto, aggiungendo che la NSA «avrebbe avuto appena 30 bit di libertà» nella scelta.
Sui soldi serve una correzione, perché alcuni dei primi articoli hanno sbagliato. La taglia era di Valsorda, finanziata con una raccolta pubblica, non un premio di Anthropic. Il team di Anthropic ha destinato il pagamento all’Internet Security Research Group (ISRG), l’organizzazione non profit che gestisce Let’s Encrypt. Secondo le regole della taglia, una donazione a un ente benefico triplica il premio, che è così arrivato a 36.864 dollari, come riportano entrambi i post.
La conclusione di Anthropic è esplicita: «Non si tratta di una rottura crittografica, di un nuovo attacco o di una debolezza delle curve ECDSA», si legge nel post, e «non c’è alcuna azione da intraprendere né nulla da fare in modo diverso».
secp256k1 vs secp256r1: perché le chiavi di bitcoin ed ether non sono toccate
Bitcoin firma le transazioni con ECDSA (e, da Taproot, anche con firme Schnorr) sulla curva ellittica secp256k1. Gli account Ethereum controllati da una chiave privata usano la stessa curva. secp256k1 viene da SEC 2, uno standard pubblicato nel 2000 dallo Standards for Efficient Cryptography Group (SECG), non dal NIST. La sua equazione è y² = x³ + 7. Sono costanti piccole quanto è possibile per una curva sicura di ordine primo che consenta anche un’accelerazione nota come endomorfismo GLV.
In secp256k1 non c’è alcun seed. Nella sua progettazione non è entrato nulla di casuale, quindi non c’è niente da spiegare. L’unico parametro di cui non è documentata l’origine è il punto generatore G. Quella scelta non incide sulla sicurezza: in un gruppo di ordine primo ogni generatore dà un problema del logaritmo discreto altrettanto difficile.
Bitcoin.com News l’ha riassunto in una riga la sera del 16 ottobre (ora della costa est degli Stati Uniti): la scoperta «non riguarda direttamente Bitcoin o Ethereum, che usano una curva ellittica diversa chiamata secp256k1». Solana e Cardano usano Ed25519, basata su Curve25519, che a sua volta non dipende dai seed del NIST.
Alcuni resoconti di questa settimana si sono spinti oltre, scrivendo che Satoshi Nakamoto scelse secp256k1 per sfiducia verso le curve NIST. Satoshi non ha mai spiegato pubblicamente quella scelta, quindi il movente è un’ipotesi, per quanto spesso venga ripetuta.
Anche i nomi aggiungono confusione. secp256r1, prime256v1 e NIST P-256 sono tre nomi della stessa curva. La «r» sta per parametri random (cioè derivati da un seed), la «k» di secp256k1 sta per Koblitz.
| secp256k1 | P-256 (secp256r1) | |
|---|---|---|
| Standard | SECG SEC 2 (2000) | NIST FIPS 186-2 (2000), ANSI X9.62 |
| Parametri | Piccole costanti fisse, y² = x³ + 7 | Derivati da un seed tramite SHA-1 |
| Seed | Nessuno | Da lrand48, avviato il 16 agosto 1997 |
| Uso principale nelle cripto | Chiavi degli account Bitcoin ed Ethereum | Passkey, chip sicuri, precompile P-256 |
Dove P-256 tocca le cripto: passkey e precompile dei layer 2
Fuori dalle blockchain P-256 è ovunque. Le passkey (FIDO2 e WebAuthn), cioè le credenziali che sostituiscono la password con Face ID, impronta o PIN del telefono, firmano per lo più con ES256, ovvero ECDSA su P-256. Il Secure Enclave di Apple, Android Keystore e molti moduli di sicurezza hardware (HSM) la supportano in modo nativo. Anche il lucchetto nel browser sul sito di un exchange spesso si appoggia a questa curva, così come molte delle passkey che banche e servizi online offrono ai clienti in Italia.
Per questo gli sviluppatori di Ethereum se ne occupano. Per consentire a un utente di approvare una transazione con Face ID o con l’impronta, uno smart wallet deve verificare on-chain una firma P-256, operazione lenta e costosa senza un aiuto dedicato. RIP-7212 ha aggiunto un precompile specifico sui rollup a 3.450 gas, e molte reti layer 2 lo hanno adottato dal 2024. EIP-7951 ha portato la stessa interfaccia sulla mainnet di Ethereum come P256VERIFY all’indirizzo 0x100. Costa 6.900 gas, il doppio rispetto ai rollup, dopo che i benchmark hanno mostrato che le verifiche P-256 erano molto più lente dell’esistente ECRECOVER. Corregge anche due casi limite (un controllo sul punto all’infinito e un confronto modulare del valore r) ed è attivo dall’aggiornamento Fusaka di dicembre 2025.
La questione dei seed delle curve NIST ha pesato su quel dibattito. Il 19 ottobre 2023 alcuni sviluppatori Ethereum hanno lanciato un’iniziativa per rimpinguare la taglia di Valsorda, raccogliendo donazioni in un multisig Safe 7 su 9 chiamato seeds-bounty.eth. Il loro documento spiegava che buona parte delle resistenze a EIP-7212 nasceva dal timore di una possibile backdoor, e che ritrovare i seed avrebbe ridotto le probabilità che esistesse, senza dimostrarne l’assenza.
Il risultato di questa settimana toglie gran parte di quell’obiezione. Non tutta, ed è qui che entrano in gioco gli scettici. Per i team di sicurezza, ha scritto Crypto Briefing, la posta in gioco è una questione «di fiducia più che di modifiche al codice». Nessun wallet, rollup o app deve essere aggiornato.

Greg Maxwell: conoscere il metodo non rende le curve rigide
La reazione più tagliente è arrivata da Greg Maxwell, sviluppatore di Bitcoin di lungo corso e coautore della libreria libsecp256k1, su Hacker News. Non ha contestato il risultato. Il suo punto riguardava il significato di «spiegato».
Una curva rigida è una curva in cui a chi l’ha progettata non restano scelte significative. «Il design di secp256k1 è rigido, o molto vicino a esserlo», ha scritto Maxwell. Sapere che P-256 viene da lrand48 e da un orologio non la rende rigida, secondo lui: lo schema descritto lasciava ai progettisti «20-25 bit di libertà, forse di più». E siccome l’origine dei seed è rimasta oscura così a lungo, sostiene, c’era ampio spazio per passare in rassegna i candidati. La stessa Anthropic osserva che nulla nei numeri indica quante esecuzioni siano state fatte.
Sulle cifre, Valsorda e Maxwell non sono lontani. Uno fissa il tetto a circa 30 bit, l’altro a 20-25 bit o qualcosa in più. Entrambi dicono che è troppo poco per il tipo di backdoor mirata teorizzata dieci anni fa, che richiedeva qualcosa come 70 bit.
I consigli di Maxwell vanno oltre i seed. «I nuovi sistemi sono per lo più PQ e idealmente ibridi PQ», ha scritto, dove PQ sta per post-quantistico. Per le curve ellittiche classiche ha indicato Curve448, e ha notato che secp256k1 ha vantaggi concreti di velocità ora che il brevetto GLV è scaduto. La maggior parte dei sistemi usa secp256k1 per compatibilità, ha aggiunto, perché Bitcoin l’ha usata per primo, e dubita che qualcuno passerà a P-256 per via di questa scoperta.
Ha anche messo in dubbio il modello dietro il risultato. Il 20 settembre, racconta, aveva proposto lo stesso enigma a un amico i cui crediti Anthropic stavano per scadere; l’agente dell’amico ha lavorato per ore senza trovare nulla di nuovo, e Maxwell ha definito la sua trascrizione «idiota». Ha ammesso che il successo potrebbe essere dipeso da un uso esperto dello strumento, poi ha scritto: «Però mi fa chiedere se l’azienda abbia degradato in modo invisibile le prestazioni del modello». Anthropic non ha risposto a questa osservazione in nulla di ciò che abbiamo letto.
Valsorda, dal canto suo, ora dice di consigliare le curve NIST rispetto a quelle basate su Curve25519, con una postilla asciutta sui tempi: «Giusto in tempo perché vengano ritirate a favore delle firme post-quantistiche».
Cosa resta ancora da spiegare
Anthropic e Valsorda elencano entrambi i problemi aperti, lasciati come sfida pubblica:
- Perché alcuni candidati validi sono stati scartati. Il candidato 876 dell’esecuzione per P-256 dà anch’esso una curva di ordine primo della dimensione giusta, eppure è stato pubblicato il 1.842; l’esecuzione per P-224 ha saltato tre curve di questo tipo. Anthropic dice che il numero è troppo piccolo per rendere plausibile che «siano state selezionate curve indebolite», mentre la reimplementazione di Valsorda trova circa il doppio dei seed validi rispetto a quelli pubblicati.
- La seconda regola di accettazione della procedura, non documentata.
- Il seed di B-163, che non corrisponde a nessuna delle ipotesi verificate.
- I punti base di P-224, P-256, P-384, P-521 e delle curve binarie.
- Quante esecuzioni abbia fatto la NSA, e se i timestamp siano stati scelti di proposito. Anthropic osserva che avrebbe senso solo se qualcuno avesse previsto di rendere pubblico il timestamp come prova di buona fede. È questa incognita a spiegare perché le stime sulla libertà residua divergono.
Alle 07:00 UTC del 17 ottobre non abbiamo trovato reazioni pubbliche di Bernstein, Lange o Matthew Green.
Una nota europea: le curve ANSSI e Brainpool
La Francia ha una propria curva a 256 bit, FRP256v1, pubblicata dall’agenzia per la sicurezza informatica ANSSI nel Journal officiel nell’ottobre 2011, anch’essa senza un metodo di generazione pubblicato. Le curve tedesche Brainpool, promosse dal BSI, sono state invece progettate per essere generate in modo verificabile e sono l’alternativa europea più citata. Per l’Italia non c’è un risvolto regolamentare: Consob, OAM e Banca d’Italia non hanno alcun ruolo in questa vicenda e non c’è un aspetto fiscale. Nulla cambia per chi usa wallet cripto o piattaforme regolamentate nell’Unione europea, comprese quelle iscritte al registro OAM o autorizzate secondo MiCA.
Il vero rischio di lungo periodo per ECDSA è quantistico, non i seed
La battuta di Valsorda sul pensionamento rimanda alla questione più grande. Un computer quantistico abbastanza potente romperebbe ECDSA su secp256k1 e su P-256 allo stesso modo, qualunque sia l’origine dei seed. Il NIST ha finalizzato il suo standard di firma post-quantistica ML-DSA (FIPS 204) nell’agosto 2024, e le curve P sono destinate a essere dismesse nel tempo. Gli sviluppatori di Bitcoin stanno ancora discutendo la loro migrazione, comprese le proposte legate a BIP-360.
Abbiamo fatto il punto su quella minaccia questa settimana nell’articolo sul risultato di Google nella correzione degli errori quantistici e su cosa significa per Bitcoin.
Nel breve periodo i problemi aperti sono tecnici: il seed di B-163, i candidati scartati e i punti base delle curve più grandi. Il codice di Anthropic è di pubblico dominio con licenza CC0, quindi chiunque può mettere alla prova nuove ipotesi sui numeri rimasti. Né il NIST né la NSA avevano risposto alle 07:00 UTC del 17 ottobre.
