Et spørgsmål, der har stået åbent siden 2000
Anthropic meddelte den 16. oktober, at en intern forskningsmodel af Claude på under en halv time rekonstruerede metoden bag frøene til fem af NISTs elliptiske kurver: P-192, P-224, P-256, P-384 og P-521. Frøene er ikke hashværdier, som den mest udbredte forklaring hævdede. Ifølge Anthropics tekst er de output fra lrand48, tilfældighedsgeneratoren i C-standardbiblioteket, startet med et Unix-tidsstempel.
Frøene betyder noget, fordi kurverne, der bygges af dem, bærer ECDSA, den signaturordning, der bruges i TLS, ved kodesignering og i kryptopengepunge. NIST vedtog ECDSA i 2000 med FIPS 186-2 og offentliggjorde for hver kurve et frø, hvis hashværdi låser en af kurvens koefficienter. NSA leverede frøene uden at forklare, hvor de kom fra, og det gav plads til mistanken om, at nogen havde søgt, indtil de fandt en kurve med en svaghed, kun de kendte.
Hvad modellen gjorde
Anthropic beskriver, at modellen begyndte med at prøve, om frøene lignede output fra generatorer, der fandtes i 1990’erne. Nogle af dem havde nuller i alle de øverste bit, et kendetegn for lrand48. Derefter genskabte den generatorens indre tilstand for primkurvernes frø ved hjælp af gitterreduktion.

De genskabte starttilstande er urvisninger. P-192 og to nærliggende kurver fører til 1997-05-18 14:45:34, P-521 til 1997-08-08 01:12:04, P-256 til 1997-08-16 01:52:34 og kandidat nummer 1.842 i den kørsel, P-384 til 1997-08-30 14:50:08 og P-224 til 1998-04-03 12:52:07. NISTs fire binære kurver lander den 17. april 1998, men først når tidsstemplet halveres, hvilket tyder på, at programmet, der lavede dem, delte urværdien.
Modellen fandt også kilden til seks basispunkter, for P-192 og fem nærliggende kurver, i tilfældighedsgeneratoren i FreeLIP, Arjen Lenstras pakke til aritmetik med lange heltal, med frøene 20000, 20420, 20507, 20509, 20512 og 20517.
Hvad den gamle forklaring sagde
Den førende teori kom fra Jerry Solinas, NSA-matematikeren, der arbejdede med kurverne. I 2015 sagde han, at frøene var hashværdier af en spøgefuld sætning, noget i retning af “giv Bob og Jerry en lønforhøjelse”, og at en kollega havde skrevet koden. Ingen arkiver fra perioden kunne findes, og Solinas døde i 2023. Anthropic oplyser, at virksomhedens egne medarbejdere fulgte sporet uden held, før de lagde problemet frem for en model.
Hvad der stadig er åbent
Anthropics tekst opregner det, modellen ikke løste: basispunkterne for P-224, P-256, P-384, P-521 og NISTs binære kurver, det femte binære frø B-163, og hvorfor nogle gyldige kandidater blev sprunget over, blandt dem kandidat 876 til P-256.

Virksomheden er klar i sin melding: dette “er ikke et kryptografisk brud, et nyt angreb eller en svaghed i ECDSA-kurverne”, og læserne behøver ikke gøre noget. Resultatet gør efter virksomhedens vurdering en bevidst bagdør væsentligt mindre sandsynlig, fordi frøene blev lavet på en meget simpel måde, og få kandidater blev sprunget over. Samtidig tilføjer den, at det ikke kan udelukkes, at enkelte tidsstempler blev valgt for en egenskab ved den kurve, der kom ud.
Hvad man skal følge
Anthropic offentliggjorde Python-kode, der genskaber frøene og de seks basispunkter, under CC0, så påstanden kan kontrolleres af enhver, der vil køre den. Teksten beskriver ingen egen uafhængig gennemgang. Dusøren på 36.864 dollar for svaret, organiseret af Filippo Valsorda, går til Internet Security Research Group. De resterende basispunkter og frøet B-163 er det næste, der falder, eller ikke falder.