Modely a platformy AI
Anthropic tvrdí, že Claude vystopoval původ počátečních hodnot křivek NIST ECDSA ke generátoru náhodných čísel z 90. let

Tým Frontier Red Team společnosti Anthropic ve výzkumné publikaci z 16. října 2026 uvedl, že interní výzkumný model Claude vysledoval původ počátečních hodnot křivek NIST ECDSA ke generátoru náhodných čísel lrand48 z knihovny jazyka C, který byl inicializován unixovými časovými značkami. Zodpověděl tak otázku původu těchto hodnot, která zůstávala otevřená od chvíle, kdy je NSA poskytla bez vysvětlení.
Nevysvětlené počáteční hodnoty NSA
ECDSA je nejrozšířenější standard kryptografie eliptických křivek. NIST jej v roce 2000 přijal jako součást standardu digitálního podpisu FIPS 186-2, který uvádí standardní eliptické křivky různé velikosti a s různou úrovní zabezpečení. Pro křivky nad prvočíselnými a binárními tělesy specifikace zveřejnila parametr počáteční hodnoty, jehož hašovací hodnota určuje koeficient b křivky. NSA tyto počáteční hodnoty poskytla bez vysvětlení či zdůvodnění a příspěvek jako příklad hodnoty zveřejněné bez jakýchkoli informací o jejím původu uvádí počáteční hodnotu P-256: C49D3608 86E70493 6A6678E1 139D26B7 819F7E90.
Neal Koblitz a Alfred Menezes shrnuli spor v článku „Hádanka zahalená tajemstvím“ a otázka později podnítila amatérské pátrání po původu těchto počátečních hodnot i vypsání odměny pro toho, kdo jej odhalí. Podle nejrozšířenější verze vytvořil tyto hodnoty dlouholetý zaměstnanec NSA Jerry Solinas jako hašovací hodnoty humorné přístupové fráze. V prohlášení z roku 2015, které příspěvek cituje, Solinas vzpomínal: „Zpráva zněla nějak jako ‚Dejte Bobovi a Jerrymu přidat‘ nebo ‚Bob a Jerry vládnou‘ nebo něco podobného.“ Uvedl, že kód napsal Bob Reiter a že se nepodařilo najít žádné dobové archivy. Solinas zemřel v roce 2023 a ostatní kolegové nereagovali, takže otázka, jak byly hodnoty vytvořeny, zůstala otevřená.
Jak Claude odhalil původ počátečních hodnot
Několik zaměstnanců společnosti Anthropic se už dříve pokoušelo původ těchto hodnot vypátrat, ale neuspěli. Vycházeli přitom z tipů o humorné přístupové frázi, které se podle příspěvku ukázaly jako mylné. V říjnu 2026 se jeden ze zaměstnanců Anthropic zeptal interního výzkumného modelu, zda dokáže zjistit, jak byly tyto hodnoty vytvořeny, aniž by ho navedl na údajnou stopu. Anthropic uvádí, že Claude za méně než půl hodiny odhalil původ počátečních hodnot NIST pro křivky P-192, P-224, P-256, P-384 a P-521: šlo o výstupy generátoru náhodných čísel lrand48 z knihovny jazyka C, inicializovaného unixovou časovou značkou, přičemž se nepoužíval žádný hašovací algoritmus. Program při každé iteraci vytvořil 20 bajtů jako kandidátní počáteční hodnotu a zveřejněná hodnota P-256 byla 1842. kandidátem v jeho běhu.
Když vyčerpal hledání založené na frázích, přistoupil Claude k problému od strany generátoru. Předpokládal, že mohlo jít o software využívající generátor pseudonáhodných čísel dodávaný s knihovnami jazyka C z 90. let, jehož výstup byl natolik slabý, že šel rozpoznat. Jeho skener postupoval po jednotlivých bitech každé zveřejněné počáteční hodnoty a testoval sousední úseky jako možné po sobě jdoucí výstupy generátoru z 90. let; procházel přitom 34 kombinací generátoru a výstupních úseků. Napříč počátečními hodnotami vynikl jeden vzorec: při zápisu do pěti 32bitových slov mají u čtyř z deseti hodnot všechny 20 slov nulový nejvyšší bit. Pravděpodobnost, že takové uspořádání vznikne náhodou, je 1/5810. To ukázalo na lrand48, lineární kongruenční generátor, který vrací pouze horních 31 bitů 48bitového stavu. U těchto čtyř počátečních hodnot Claude obnovil stav generátoru tak, že vyzkoušel všech 2^17 možných hodnot 17 skrytých bitů prvního slova a ověřil, zda odpovídají i následující čtyři slova. U všech čtyř se to podařilo.
Počáteční hodnoty pro křivky nad prvočíselnými tělesy vytvořil tentýž generátor lrand48, každý výstup však obsahoval méně bitů. Obnova vnitřního stavu zkráceného lineárního kongruenčního generátoru je klasický problém z teorie mřížek, který Claude vyřešil redukcí báze Lenstra–Lenstra–Lovász (LLL) a použitím tohoto řešiče na každé možné okno. Všech pět počátečních hodnot NIST pro křivky nad prvočíselnými tělesy a dalších pět z normy ANSI X9.62 odpovídalo stejnému vzorci, lrand48() >> 23, a z každého obnoveného 48bitového stavu lze vygenerovat všech 160 bitů příslušné počáteční hodnoty.
Příspěvek také reprodukuje zaznamenané interní uvažování Clauda z dané relace, v němž model ověřoval, zda se nenachází v simulovaném testovacím prostředí, než dospěl k závěru: „Ověřil jsem to přímým výpočtem: shoda 160 bitů, kterou lze odvodit z 32bitového počátečního čísla a malého indexu; náhodná shoda nepřipadá v úvahu (10 × 160 bitů). Je to skutečné.“
Časové značky a základní body
Protože generátor lze spouštět zpětně stejně snadno jako dopředu, Claude postupoval od stavu každé počáteční hodnoty zpět, dokud nedošel k inicializačnímu stavu srand48, který lze rozpoznat podle toho, že jeho dolních 16 bitů má hodnotu 0x330E. Takový stav se objeví jednou za 65 536 kroků. U všech deseti počátečních hodnot pro křivky nad prvočíselnými tělesy připadaly inicializace na unixové časové značky z období od května 1997 do dubna 1998. Čtyři inicializace pro binární křivky místo toho ukazovaly na únor 1984; zdvojnásobení těchto časových značek dává 17. duben 1998, tedy dva týdny po běhu pro P-224. Tým proto vyslovil domněnku, že program mohl časovou hodnotu vydělit dvěma.
Claude také zjistil, odkud pocházejí některé základní body křivek. Každá křivka určuje základní bod G, jehož násobkem je každý veřejný klíč ECDSA, a získaný seed tento bod neurčuje. U šesti křivek vytvořených v květnu 1997 — P-192 a příkladových křivek ANSI X9.62 prime192v2, prime192v3 a prime239v1 až v3 — lze původ základních bodů vysledovat ke generátoru náhodných čísel v balíčku FreeLIP, což je balíček pro aritmetiku s dlouhými celými čísly od Arjena Lenstry; jeho kód byl součástí také raných verzí knihovny NTL od Victora Shoupa. Podle tohoto postupu se generátor inicializuje malým celým číslem, prvních sedm výstupů se zahodí a kandidátní souřadnice x se získávají z 26bitových výstupů redukovaných modulo p; generování se opakuje, dokud x neleží na křivce. Seedy generátoru, které Claude identifikoval, jsou 20000 pro P-192; 20420, 20507 a 20509 pro prime239v1 až v3; a 20512 a 20517 pro prime192v2 a v3. Anthropic uvádí, že pokud je mu známo, dosud nikdo původ základního bodu NIST nevysvětlil a že základní body křivek P-224, P-256, P-384 a P-521 tomuto postupu neodpovídají.
Bezpečnostní posouzení a otevřené otázky
Anthropic uvádí, že tato zjištění nepředstavují prolomení kryptografie, nový útok ani žádnou slabinu křivek ECDSA. Tým uvedl, že seedy vytvořil běžný generátor pseudonáhodných čísel inicializovaný podle systémových hodin; tento postup si dnes může kdokoli zopakovat, což podle týmu ponechává mnohem méně prostoru pro podvržení a zvyšuje důvěru v bezpečnost parametrů. Příspěvek vykresluje tento výsledek jako závěrečnou kapitolu a konec let spekulací a čtenářům sděluje, že nemusí nic podnikat, protože většina výzkumníků křivkám už důvěřovala.
Některé otázky zůstávají otevřené. Ne každý kandidátní seed o délce 20 bajtů mohl vytvořit použitelnou křivku a tým zjistil, že některé potenciálně použitelné kandidáty přeskočil. Zveřejněný seed P-256 je kandidát 1842, ale kandidát 876 ze stejného běhu také vytváří křivku správné velikosti s prvořádným řádem a parametry zvolenými stejným způsobem jako u zveřejněné křivky. Běh pro P-224 přeskočil tři takové kandidáty a dva běhy, na jejichž základě vznikly příkladové křivky ANSI X9.62, přeskočily dalších sedm. Protože počet přeskočených kandidátů je malý, tým nepovažuje za pravděpodobné, že byly vybrány oslabené křivky, i když je v principu představitelné, že křivky s určitou vlastností mohly být zvoleny hledáním mezi časovými značkami. Jeden seed se nepodařilo získat vůbec: pátý binární seed, B-163, neodpovídá ničemu, co Claude vyzkoušel. Základní body křivek P-224, P-256, P-384 a P-521 ani základní body binárních křivek NIST dosud nejsou známy.
Odměna ve výši $36,864 za nalezení seedů bude věnována organizaci Internet Security Research Group; příspěvek děkuje Filippo Valsordovi za zorganizování odměny a zároveň vzdává posmrtné uznání Solinasovi. Na práci se podíleli John Wood, Henry de Valence, Ava Howell, Zack Voase, Lucy Sweet, Amir Omidi, Paul Crowley, Iain McGinniss, Nicholas Carlini a Steve Weis. Kód umožňující zopakovat postup, zveřejněný na stránce, je uvolněn do veřejné domény pod licencí CC0 1.0 Universal.












