Tutti gli articoli

· 7 min di lettura

Claude ha risolto in mezz’ora un mistero della NSA che durava da più di 25 anni (e la risposta era un orologio).

Il seme della curva P-256, un lungo numero fornito dalla NSA, con una freccia verso la data da cui è partito, il 16 agosto 1997 alle 01:52:34. Accanto la scritta «Claude · Anthropic, 16 ottobre», il titolo «Era un orologio.» e sotto «Il numero della NSA veniva dall’ora di un computer del 1997. Claude l’ha capito in mezz’ora».

C49D3608 86E70493 6A6678E1 139D26B7 819F7E90.

Detto così sembra la password del wifi di un albergo. Da quel numero, però, parte una delle curve matematiche che fanno da lucchetto a tanti dei siti che apri ogni giorno. L’ha fornito la NSA, l’agenzia di spionaggio elettronico americana, e per più di venticinque anni nessuno è riuscito a ricostruire da dove venisse.

Giovedì 16 ottobre Anthropic ha raccontato che Claude l’ha scoperto in meno di mezz’ora. E dopo tanti sospetti la risposta fa quasi sorridere: quel numero è venuto fuori dall’orologio di un computer, il 16 agosto 1997.

Vale la pena raccontarla per bene, questa storia. Perché quel lucchetto lo usi anche tu senza saperlo, e perché in fondo c’è una lezione che vale ancora oggi per chiunque abbia un sito o un’app.

Il numero dentro il lucchetto

Quando apri un sito e accanto all’indirizzo compare il lucchetto, sotto lavora la crittografia: calcoli che servono a dimostrare che il sito è proprio quello e a tenere privato quello che vi scambiate. Una delle famiglie di calcoli più usate è quella delle curve ellittiche, e lo standard più diffuso il NIST, l’ente americano che scrive le norme tecniche, l’ha adottato nel 2000, con un elenco di curve pronte all’uso.

Ognuna di quelle curve nasce da un numero di partenza, il «seme». Lo si passa in un frullatore matematico e ne esce uno dei parametri della curva. Il frullatore funziona in un senso solo, quindi nessuno può decidere a tavolino cosa ne uscirà. In teoria, però, chi sceglie il seme può provarne tanti, finché non esce una curva che gli fa comodo. Per questo conta sapere da dove viene. I semi delle curve del NIST li ha forniti la NSA, e la NSA non l’ha mai spiegato.

Le più usate sono P-256 e P-384, le curve dei certificati che proteggono buona parte del web, come scrive il crittografo Filippo Valsorda. Il numero in cima a questo articolo è il seme di P-256.

Un numero scelto da un’agenzia di spionaggio, senza spiegazioni, dentro il lucchetto di internet. Non serviva essere complottisti per farsi qualche domanda. Dopo le rivelazioni di Edward Snowden sui tentativi della NSA di indebolire gli standard di cifratura, le domande sono diventate sospetti: e se quei semi fossero stati scelti apposta, per lasciare una porta che solo la NSA sapeva aprire?

Schema della curva P-256. In alto il seme, il numero fornito dalla NSA, senza una spiegazione su da dove venga. Una freccia lo porta nel frullatore, che funziona in un senso solo; dal frullatore esce un parametro della curva P-256, che a sua volta protegge i certificati di buona parte del web. In fondo il dubbio: chi sceglie il seme può provarne tanti, finché non esce la curva che gli fa comodo.
Fig. 01 Dal seme al lucchetto. Il primo passo, da dove venga il seme, la NSA non l’ha mai spiegato.

«Date un aumento a Bob e Jerry»

Una spiegazione, a dire il vero, c’era. I semi li aveva generati Jerry Solinas, un matematico della NSA: il crittografo Alfred Menezes ricorda di averli ricevuti da lui nel 1997. Nel 2015 Solinas raccontò di averli ottenuti passando nel frullatore una frase spiritosa, qualcosa come «Give Bob and Jerry a raise», cioè «date un aumento a Bob e Jerry», oppure «Bob and Jerry rule». Il programma, aggiunse, l’aveva scritto un collega, Bob Reiter, che però non ricordava i dettagli nemmeno lui. E il computer di Solinas, nel frattempo, era stato sostituito, così la frase esatta era andata persa. Lui stesso ne aveva provate di simili, senza ritrovarla.

Negli anni ci hanno provato in tanti. Nel 2018 il ricercatore Steve Weis ha chiesto i documenti ufficiali: il NIST ha risposto che non ne aveva, e la NSA ha smesso di rispondere. Solinas è morto nel 2023, e quell’anno Valsorda ha messo in palio 12.288 dollari, il triplo se donati in beneficenza, per chi avesse ritrovato i semi. «Anche uno solo farebbe la storia», scriveva.

Confesso che a me la storia della frase piaceva parecchio. Il lucchetto di mezzo mondo appeso a una battuta tra colleghi che chiedono un aumento: più umano di così.

Linea del tempo in sei tappe. 1997: Jerry Solinas, matematico della NSA, genera i semi, e Alfred Menezes li riceve. 2000: il NIST mette le curve nello standard, senza spiegare i semi. 2015: Solinas dice che i semi venivano da una frase spiritosa, tipo «Give Bob and Jerry a raise», che però è andata persa. 2018: Steve Weis chiede i documenti e il NIST risponde che non ne ha. 2023: Solinas muore e Filippo Valsorda mette in palio una taglia da 12.288 dollari. 16 ottobre 2026, evidenziato: Claude trova la risposta in mezz’ora, e Anthropic lo racconta con il codice per rifarlo.
Fig. 02 Più di venticinque anni di domande, e una risposta in mezz’ora.

Mezz’ora e un orologio

Poi è arrivato Claude. Un dipendente di Anthropic ha chiesto a un modello interno di ricerca, di cui l’azienda non dice il nome, di capire come fossero stati generati i semi, senza dargli l’indizio della frase. Altri colleghi ci avevano già provato inseguendo proprio la frase, senza risultato.

Claude ha notato uno schema troppo regolare per essere un caso: in quattro semi su dieci, divisi in blocchi, la prima cifra binaria di ogni blocco era sempre zero. Da lì ha riconosciuto l’impronta di lrand48, un generatore di numeri che negli anni Novanta si trovava nelle librerie del linguaggio C, gli attrezzi di base di chi scriveva programmi. Un generatore così di casuale ha poco: parte da un numero iniziale e da lì fa sempre gli stessi passi. E il numero iniziale, in questo caso, era l’ora del computer.

Claude ha ricostruito lo stato interno del generatore, con un metodo che Anthropic definisce da manuale, e l’ha fatto girare all’indietro fino al punto di partenza. Per P-256 il punto di partenza è il 16 agosto 1997 alle 01:52:34, ora di Greenwich, e il seme pubblicato è il 1.842° candidato uscito da lì. Le altre curve principali tornano a date tra il maggio 1997 e l’aprile 1998.

Tutto in meno di mezz’ora. Nei suoi appunti di ragionamento, riportati da CoinDesk, a un certo punto Claude scrive: «Questo è sorprendente: risolve un mistero vecchio di 25 anni». Per una volta, l’entusiasmo era giustificato.

La frase spiritosa, insomma, non c’era. Solinas, a quasi vent’anni di distanza, ricordava un’altra cosa, e a chi non è mai capitato con una storia di vent’anni prima? Anthropic, nel suo resoconto, gli rende omaggio, e ricorda il buon umore con cui aveva preso l’essere diventato il cattivo di un meme.

Il codice per rifare tutti i passaggi è pubblico, e chiunque può controllarli. I 36.864 dollari della taglia, già triplicati, vanno all’Internet Security Research Group, l’organizzazione senza scopo di lucro che c’è dietro Let’s Encrypt, quella che regala i certificati del lucchetto a tantissimi siti.

Tabella delle cinque curve principali con l’orologio da cui è partito il seme di ciascuna, in ora di Greenwich. P-192: 18 maggio 1997, 14:45:34. P-521: 8 agosto 1997, 01:12:04. P-256, evidenziata: 16 agosto 1997, 01:52:34, con il seme pubblicato al 1.842° candidato. P-384: 30 agosto 1997, 14:50:08. P-224: 3 aprile 1998, 12:52:07. In fondo come l’ha trovato Claude: in quattro semi la prima cifra binaria di ogni blocco è sempre zero, è l’impronta di un generatore degli anni Novanta, e il calcolo all’indietro arriva fino all’ora del computer.
Fig. 03 Le cinque curve principali e l’ora da cui è partito il loro seme.

Allora il lucchetto è sicuro?

Sì, e da oggi ci si può fidare anche un po’ di più. Anthropic lo scrive chiaro: non è una falla nelle curve, e non apre nessun attacco nuovo. Semmai rassicura. Se i semi escono da un programma semplice, partito dall’orologio, che chiunque può rifar girare, l’idea di una porta segreta nascosta lì dentro diventa molto meno credibile. Non c’è niente da cambiare, né per te né per chi gestisce i siti.

Qualche angolo resta al buio. Il seme di una delle curve, la B-163, non torna con nessun metodo provato. Non si sa ancora da dove vengano altri numeri di P-256 e delle sue sorelle, i cosiddetti punti base. E non si sa perché il programma abbia saltato qualche candidato che avrebbe funzionato: per Anthropic sono troppo pochi per pensare a curve indebolite apposta.

A me basta così. In mezz’ora il sospetto di un complotto è diventato l’orologio di un computer, nell’agosto del 1997.

Quello che insegna un orologio del 1997

Per un seme pubblico, partire dall’orologio va benissimo: è proprio questo che oggi permette a tutti di controllarlo. Per un segreto è un disastro. Come nota CoinDesk, una chiave segreta creata con lrand48 si potrebbe ricostruire sapendo, più o meno, quando è stata creata. E l’ora, di solito, non è un segreto.

Se hai un sito o un’app fatti su misura, qui c’è la domanda da fare a chi li ha sviluppati. I codici che devono restare segreti, come i link per reimpostare la password o i codici mandati per email, come vengono generati? La risposta giusta è «con un generatore pensato per la sicurezza», quello che ogni linguaggio di programmazione moderno mette a disposizione. Quella sbagliata comincia con «partendo dall’ora…».

E poi c’è l’altra metà della storia. Un numero che per venticinque anni ha resistito a crittografi e curiosi, un’AI l’ha capito in mezz’ora, cercando schemi senza stancarsi. È una bella notizia per chi cerca risposte, e purtroppo anche per chi cerca il punto debole di un sistema fatto male. Io lo prendo come un motivo in più per fare quella domanda allo sviluppatore questa settimana, e non tra un anno.

Due colonne, lo stesso orologio in due storie. Un seme pubblico: partire dall’ora va bene, perché chiunque può rifare il calcolo e controllare, ed è così che oggi sappiamo da dove viene. Un codice segreto, evidenziato: partire dall’ora no, perché basta sapere più o meno quando è stato creato per ricostruirlo, e vale per i link per cambiare la password e per i codici mandati per email. In fondo la domanda da fare a chi ha fatto il tuo sito o la tua app: i codici segreti nascono da un generatore per la sicurezza?
Fig. 04 Lo stesso orologio: per un numero pubblico va bene, per un segreto no.

Quello che voglio lasciarti

Per anni intorno a quel numero sono girati sospetti di porte segrete e storie di frasi perdute. La risposta era più banale, l’orologio di un computer in un giorno d’agosto del 1997. E l’ha trovata un’AI che della frase spiritosa non sapeva niente, e quindi non l’ha cercata.

Il lucchetto dei siti che usi resta al suo posto, e non devi toccare niente. Se però hai un sito o un’app, chiedi come nascono i loro codici segreti: se la risposta comincia con «dall’ora…», hai appena trovato il tuo piccolo orologio del 1997.

Le informazioni vengono dal resoconto pubblicato da Anthropic il 16 ottobre, dall’articolo di CoinDesk del 17 ottobre e dalla pagina della taglia di Filippo Valsorda.

E tu, se avessi mezz’ora di Claude, quale mistero gli faresti risolvere?

Marco CEO@Neuracy