Modele și platforme AI
Anthropic afirmă că Claude a identificat originea semințelor curbelor ECDSA ale NIST într-un generator de numere aleatoare din anii 1990

Pe 16 octombrie 2026, Anthropic’s Frontier Red Team a raportat într-o publicație de cercetare că un model intern de cercetare Claude a identificat originea semințelor curbelor ECDSA ale NIST: acestea proveneau de la generatorul de numere aleatoare lrand48 din biblioteca C, inițializat cu marcaje temporale Unix. Astfel, a fost elucidată proveniența unor valori pe care NSA le furnizase fără explicații, o întrebare rămasă fără răspuns până atunci.
Semințele NSA fără explicație
ECDSA este cel mai utilizat standard de criptografie cu curbe eliptice. NIST l-a adoptat în 2000, ca parte a Standardului de semnătură digitală FIPS 186-2, care enumeră curbe eliptice standard de diferite dimensiuni și niveluri de securitate. Pentru curbele definite peste corpuri prime și binare, specificația a publicat un parametru-sămânță, a cărui valoare hash definește coeficientul b al curbei. NSA a furnizat aceste semințe fără explicații sau justificări, iar articolul reproduce ca exemplu sămânța P-256, C49D3608 86E70493 6A6678E1 139D26B7 819F7E90 — o valoare publicată fără nicio informație despre proveniența ei.
Neal Koblitz și Alfred Menezes au rezumat controversa în lucrarea „A Riddle Wrapped in an Enigma”, iar ulterior, întrebarea a dus la o investigație de amator asupra originii semințelor și la oferirea unei recompense celui care le-ar fi putut descoperi. Potrivit explicației considerate cel mai plauzibile, Jerry Solinas, angajat al NSA de multă vreme, generase semințele ca hash al unei fraze de acces umoristice. Într-o declarație din 2015, reprodusă în articol, Solinas și-a amintit: „Mesajul era cam de genul «Dați-le o mărire lui Bob și lui Jerry» sau «Bob și Jerry sunt tari» sau ceva de felul acesta.” El a spus că Bob Reiter a scris codul și că nu au putut fi găsite arhive din acea perioadă. Solinas a murit în 2023, iar ceilalți colegi nu au răspuns, astfel că întrebarea privind modul în care au fost generate semințele a rămas deschisă.
Cum a recuperat Claude semințele
Mai mulți angajați Anthropic încercaseră fără succes să descopere semințele pornind de la indiciul despre fraza de acces umoristică, care, după cum precizează articolul, s-a dovedit a fi greșit. În octombrie 2026, un angajat Anthropic a întrebat un model intern de cercetare dacă ar putea afla cum fuseseră generate semințele, fără a-i indica indiciul vehiculat. Anthropic relatează că, în mai puțin de jumătate de oră, Claude a identificat originea semințelor NIST P-192, P-224, P-256, P-384 și P-521: acestea erau rezultate ale generatorului de numere aleatoare lrand48 din biblioteca C, inițializat cu un marcaj temporal Unix, fără să fie implicat vreun algoritm hash. Programul care le genera preleva câte 20 de octeți la fiecare iterație, ca să obțină o sămânță candidată, iar sămânța P-256 publicată era candidatul cu numărul 1842 din rularea respectivă.
După ce epuizase căutările bazate pe fraze, Claude a abordat problema pornind de la generator și a emis ipoteza că fusese folosit un program bazat pe un generator de numere pseudoaleatoare inclus în bibliotecile C din anii 1990, cu rezultate suficient de slabe pentru a putea fi recunoscute. Programul de scanare a avansat bit cu bit de-a lungul fiecărei semințe publicate, testând grupuri adiacente de biți ca posibile rezultate consecutive ale unui generator din anii 1990, în 34 de combinații de generator și secvențe de biți de ieșire. În ansamblul semințelor, un tipar s-a remarcat: reprezentate ca cinci cuvinte de 32 de biți, patru dintre cele zece aveau bitul cel mai semnificativ egal cu zero în toate cele 20 de cuvinte, o configurație care apare întâmplător cu o probabilitate de 1/5810. Acest lucru indica lrand48, un generator congruențial liniar care returnează doar cei 31 de biți superiori ai unei stări de 48 de biți. Pentru aceste patru semințe, Claude a recuperat starea generatorului testând toate cele 2^17 valori posibile ale celor 17 biți ascunși ai primului cuvânt și verificând dacă următoarele patru cuvinte se potriveau; metoda a reușit în toate cele patru cazuri.
Semințele curbelor prime fuseseră generate de același generator lrand48, deși fiecare rezultat păstra mai puțini biți. Reconstruirea stării interne a unui generator congruențial liniar trunchiat este o problemă clasică de rețele, pe care Claude a rezolvat-o prin reducerea bazei Lenstra–Lenstra–Lovász (LLL), aplicând algoritmul de rezolvare fiecărei ferestre posibile. Toate cele cinci semințe ale curbelor prime NIST, precum și alte cinci din standardul ANSI X9.62, corespundeau aceluiași tipar, lrand48() >> 23, iar fiecare stare recuperată de 48 de biți regenerează toți cei 160 de biți ai seminței sale.
Articolul reproduce și raționamentul intern înregistrat al lui Claude din timpul sesiunii, în care modelul a verificat dacă nu cumva funcționa într-un mediu de testare simulat, înainte de a concluziona: „Este verificat prin calcul direct, de partea mea: potrivire pe 160 de biți, pornind de la o sămânță de 32 de biți + un indice mic; nicio șansă de coincidențe întâmplătoare (10 × 160 de biți). Este real.”
Marcajele temporale și punctele de bază
Deoarece generatorul poate fi rulat înapoi la fel de ușor ca înainte, Claude a urmărit înapoi starea fiecărei semințe până când a ajuns la o stare de inițializare srand48, identificabilă prin faptul că cei 16 biți inferiori sunt egali cu 0x330E; o astfel de stare apare o dată la fiecare 65.536 de pași. Pentru toate cele zece semințe ale curbelor prime, inițializările corespundeau unor marcaje temporale Unix cuprinse între mai 1997 și aprilie 1998. În schimb, cele patru inițializări ale curbelor binare indicau februarie 1984; dublarea acestor marcaje temporale le plasează la 17 aprilie 1998, la două săptămâni după rularea pentru P-224, ceea ce a determinat echipa să sugereze că programul ar fi putut înjumătăți valoarea ceasului.
Claude a identificat și originea punctelor de bază ale unor curbe. Fiecare curbă specifică un punct de bază G, punct fix ai cărui multipli sunt toate cheile publice ECDSA, iar sămânța recuperată nu îl determină. Pentru cele șase curbe generate în mai 1997 — P-192 și curbele-exemplu ANSI X9.62 prime192v2, prime192v3 și prime239v1 până la prime239v3 — punctele de bază își au originea în generatorul de numere aleatoare din FreeLIP, pachetul de aritmetică pentru întregi mari al lui Arjen Lenstra, al cărui cod a fost inclus și în versiunile timpurii ale bibliotecii NTL a lui Victor Shoup. Conform acestei metode, generatorul este inițializat cu un număr întreg mic, se aruncă primele șapte rezultate, iar valorile candidate pentru coordonata x sunt obținute din rezultate pe 26 de biți reduse modulo p; extragerea se repetă până când x aparține curbei. Semințele generatorului identificate de Claude sunt 20000 pentru P-192; 20420, 20507 și 20509 pentru prime239v1 până la prime239v3; și 20512 și 20517 pentru prime192v2 și prime192v3. Anthropic afirmă că, din câte știe, nimeni nu a explicat până acum originea unui punct de bază NIST, iar punctele de bază ale P-224, P-256, P-384 și P-521 nu respectă această metodă.
Evaluarea securității și întrebări deschise
Anthropic afirmă că aceste descoperiri nu reprezintă o breșă criptografică, un atac nou sau vreo slăbiciune a curbelor ECDSA. Echipa a spus că semințele au fost generate de un generator obișnuit de numere pseudoaleatoare, inițializat pe baza ceasului — o metodă pe care oricine o poate reproduce acum — ceea ce, în opinia sa, lasă mult mai puțin loc pentru manipulare și sporește încrederea în securitatea parametrilor. Articolul prezintă rezultatul drept un capitol de încheiere și sfârșitul unor ani de speculații, spunându-le cititorilor că nu este necesară nicio măsură, deoarece majoritatea cercetătorilor aveau deja încredere în curbe.
Unele întrebări rămân fără răspuns. Nu orice sămânță candidat de 20 de octeți putea genera o curbă viabilă, iar echipa a observat că unele candidate care ar fi putut fi viabile au fost omise. Sămânța publicată pentru P-256 este candidatul 1842, însă și candidatul 876 din aceeași rulare generează o curbă de ordin prim de dimensiunea potrivită, cu parametri aleși în același mod ca cei ai curbei publicate. Rularea pentru P-224 a omis trei astfel de candidați, iar cele două rulări din spatele curbelor-exemplu ANSI X9.62 au mai omis șapte. Deoarece numărul candidaților omişi este mic, echipa a spus că nu consideră plauzibilă alegerea unor curbe slăbite, deși, în principiu, este posibil ca niște curbe cu o anumită proprietate să fi fost alese prin căutarea unor marcaje temporale. O sămânță a rămas imposibil de recuperat: a cincea sămânță binară, B-163, nu corespunde niciunei încercări făcute de Claude. Punctele de bază ale P-224, P-256, P-384 și P-521, precum și cele ale curbelor binare NIST, rămân necunoscute.
Recompensa de 36.864 $ pentru găsirea semințelor va fi donată organizației Internet Security Research Group, iar articolul îi mulțumește lui Filippo Valsorda pentru organizarea recompensei și îi aduce un omagiu postum lui Solinas. Munca este atribuită lui John Wood, Henry de Valence, Ava Howell, Zack Voase, Lucy Sweet, Amir Omidi, Paul Crowley, Iain McGinniss, Nicholas Carlini și Steve Weis. Codul pentru reproducerea rezultatelor de pe pagină este dedicat domeniului public în baza licenței CC0 1.0 Universal.












