Et spørsmål som har stått åpent siden 2000

Anthropic meldte 16. oktober at en intern forskningsmodell av Claude på under en halvtime rekonstruerte metoden bak frøene til fem av NISTs elliptiske kurver: P-192, P-224, P-256, P-384 og P-521. Frøene er ikke hashverdier, slik den mest utbredte forklaringen hevdet. Ifølge Anthropics tekst er de utdata fra lrand48, slumptallgeneratoren i C-standardbiblioteket, startet med et Unix-tidsstempel.

Frøene betyr noe fordi kurvene som bygges av dem bærer ECDSA, signaturordningen som brukes i TLS, ved kodesignering og i kryptolommebøker. NIST vedtok ECDSA i 2000 gjennom FIPS 186-2 og publiserte for hver kurve et frø der hashverdien låser en av kurvens koeffisienter. NSA leverte frøene uten å forklare hvor de kom fra, og det ga rom for mistanken om at noen hadde søkt til de fant en kurve med en svakhet bare de kjente.

Hva modellen gjorde

Anthropic beskriver at modellen begynte med å prøve om frøene lignet utdata fra generatorer som fantes på 1990-tallet. Noen av dem hadde nuller i alle de øvre bitene, et kjennetegn på lrand48. Deretter gjenskapte den generatorens indre tilstand for primkurvenes frø ved hjelp av gitterreduksjon.

En håndskrevet ligning på en gul lapp festet til en tavle
Anthropic opplyser at modellen gjenskapte generatorens tilstand med gitterreduksjon. Illustrerende arkivbilde. MART PRODUCTION · pexels · Pexels License

De gjenskapte starttilstandene er klokkeavlesninger. 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 kjøringen, 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 17. april 1998, men først når tidsstempelet halveres, noe som tyder på at programmet som laget dem delte klokkeverdien.

Modellen fant også kilden til seks basispunkter, for P-192 og fem nærliggende kurver, i slumptallgeneratoren i FreeLIP, Arjen Lenstras pakke for aritmetikk med lange heltall, med frøene 20000, 20420, 20507, 20509, 20512 og 20517.

Hva den gamle forklaringen sa

Den ledende teorien kom fra Jerry Solinas, NSA-matematikeren som arbeidet med kurvene. I 2015 sa han at frøene var hashverdier av en spøkefull frase, noe i retning av “gi Bob og Jerry lønnsøkning”, og at en kollega hadde skrevet koden. Ingen arkiver fra tiden var å finne, og Solinas døde i 2023. Anthropic opplyser at egne ansatte fulgte sporet uten resultat før de la problemet fram for en modell.

Hva som fortsatt er åpent

Anthropics tekst lister opp det modellen ikke løste: basispunktene for P-224, P-256, P-384, P-521 og NISTs binære kurver, det femte binære frøet B-163, og hvorfor noen gyldige kandidater ble forbigått, blant dem kandidat 876 for P-256.

En stabel trykte tekniske dokumenter på et bord
NIST publiserte frøene i 2000 uten å forklare opphavet. Illustrerende arkivbilde. Tima Miroshnichenko · pexels · Pexels License

Selskapet er tydelig på at dette “ikke er et kryptografisk brudd, et nytt angrep eller en svakhet i ECDSA-kurvene”, og skriver at lesere ikke trenger å gjøre noe. Resultatet gjør etter selskapets mening en bevisst bakdør klart mindre sannsynlig, fordi frøene ble laget på en svært enkel måte og få kandidater ble forbigått. Samtidig legger det til at det ikke kan utelukkes at enkelte tidsstempler ble valgt for en egenskap ved kurven som kom ut.

Hva man bør følge

Anthropic publiserte Python-kode som gjenskaper frøene og de seks basispunktene, under CC0, slik at påstanden kan kontrolleres av den som vil kjøre den. Teksten beskriver ingen egen uavhengig gjennomgang. Belønningen på 36 864 dollar for svaret, organisert av Filippo Valsorda, går til Internet Security Research Group. De gjenstående basispunktene og frøet B-163 er det neste som faller, eller ikke.