L'équipe Frontier Red Team d'Anthropic a annoncé le 16 octobre 2026 que Claude avait élucidé l'origine des graines des courbes elliptiques du NIST, une énigme qui agite les cryptographes depuis environ vingt-cinq ans. Ces courbes, adoptées en 2000 dans la norme de signature numérique FIPS 186-2 et utilisées par ECDSA, ont été dérivées de valeurs fournies par la NSA sans aucune justification. Selon Anthropic, les graines de P-192, P-224, P-256, P-384 et P-521 ne sont pas des empreintes d'une phrase : elles sortent du générateur pseudo-aléatoire lrand48 de la bibliothèque C, initialisé avec des horodatages Unix.
L'enjeu tenait au fait que chaque graine publiée est hachée pour obtenir le coefficient b de la courbe. Faute d'explication sur leur choix, certains chercheurs soupçonnaient des courbes sélectionnées pour leurs faiblesses cachées. L'hypothèse la plus répandue venait de Jerry Solinas, employé de longue date de la NSA, qui avait raconté en 2015 que les graines étaient issues du hachage d'une phrase humoristique. Solinas est mort en 2023, et Anthropic indique que plusieurs de ses propres salariés avaient suivi cette piste sans succès.
Une fois cet indice écarté, tout est allé très vite. En octobre, un employé d'Anthropic a demandé à un modèle de recherche interne de retrouver la méthode de génération, et Claude a résolu la question en moins d'une demi-heure. Il a supposé que le logiciel d'origine s'appuyait sur un générateur médiocre des bibliothèques C des années 1990, dont la sortie se reconnaît, puis a écrit un outil d'analyse couvrant 34 combinaisons de générateur et de tranche de sortie. Il a alors remarqué que, dans quatre graines sur dix, le bit de poids fort de chaque mot de 32 bits valait toujours zéro, un motif dont la probabilité fortuite est d'environ 1 sur 5 810 et qui trahit lrand48, lequel ne renvoie que les 31 bits supérieurs d'un état de 48 bits. Une recherche exhaustive sur les 17 bits manquants a permis de retrouver ces états. Pour les graines des courbes sur corps premiers, qui conservent moins de bits par sortie, Claude a traité la reconstruction comme un problème de réseaux euclidiens, résolu avec l'algorithme LLL. Cinq graines du NIST et cinq de la norme ANSI X9.62 obéissent au même schéma, et chaque état de 48 bits retrouvé régénère les 160 bits de sa graine.
Ce générateur se remontant aussi facilement qu'il avance, Claude a ramené chaque état à la forme produite par l'initialisation srand48. Pour les dix graines des courbes premières, ces valeurs correspondent à des horodatages Unix compris entre mai 1997 et avril 1998. Les quatre valeurs des courbes binaires renvoient à février 1984, mais une fois doublées elles tombent le 17 avril 1998, deux semaines après le calcul de P-224, signe que le programme d'origine divisait peut-être l'horloge par deux. La graine publiée de P-256 était le 1 842e candidat tiré lors de son exécution.
Claude a également expliqué certains points de base, ce point fixe dont toute clé publique ECDSA est un multiple. Selon Anthropic, les points de base de six courbes générées en mai 1997, P-192 et cinq courbes d'exemple de la norme ANSI X9.62, proviennent du générateur aléatoire de la bibliothèque FreeLIP d'Arjen Lenstra, initialisé avec de petits entiers, comme 20000 pour P-192. À la connaissance d'Anthropic, aucun point de base du NIST n'avait jamais été expliqué. Ceux de P-224, P-256, P-384 et P-521 restent mystérieux, tout comme la graine de la courbe binaire B-163.
Anthropic martèle qu'il ne s'agit ni d'une cassure, ni d'une nouvelle attaque, ni d'une faiblesse des courbes, et qu'aucune mesure n'est à prendre. Pour l'entreprise, la découverte rend une porte dérobée délibérée beaucoup moins plausible, puisque les graines proviennent d'un procédé simple et reproductible. Une question demeure : certains candidats qui auraient eux aussi donné des courbes valides ont été écartés, comme le numéro 876 lors du calcul de P-256. Anthropic juge leur nombre trop faible pour laisser penser à une sélection de courbes affaiblies, tout en reconnaissant ignorer les critères retenus.
L'analyse a été publiée sous forme de billet de blog et non d'article évalué par des pairs, et aucune reproduction indépendante par des cryptographes extérieurs n'avait été trouvée lors de la publication, même si la méthode est déterministe et décrite avec assez de précision pour être vérifiée.