Claude retrouve l'origine des seeds des courbes NIST : une horloge Unix de 1997

Claude retrouve l'origine des seeds des courbes NIST : une horloge Unix de 1997

Anthropic a publié le 16 octobre une étude signée par dix chercheurs, dont Nicholas Carlini et Steve Weis. Claude y retrace l'origine des seeds des courbes elliptiques du NIST (P-192 à P-521), fournies par la NSA en 1997. Pas de phrase secrète hachée en SHA-1, contrairement à la légende qui circulait depuis vingt-cinq ans. Les seeds sortent de lrand48, le générateur pseudo-aléatoire de la bibliothèque C, initialisé avec l'horloge Unix de la machine. Le code de reproduction est publié en CC0.

TL;DRL'essentiel pour les pressés
  • Les seeds des courbes NIST viennent de lrand48 initialisé par un timestamp Unix entre mai 1997 et avril 1998. Un procédé banal et reproductible, qui affaiblit la thèse d'une backdoor de la NSA.
  • La légende Jerry Solinas tombe : les seeds ne sont pas des hachés SHA-1 d'une phrase perdue, ni des hachés de quoi que ce soit.
  • Rien à changer côté sécurité : la découverte n'affaiblit ni ECDSA ni les certificats existants, et Bitcoin utilise secp256k1, une courbe construite autrement.
36 864 $la prime de Filippo Valsorda (triplée en cas de don à une association), lancée en octobre 2023 et versée à l'Internet Security Research Group

Une hypothèse, un scanner, et la légende Solinas s'effondre

Depuis 1999, la provenance de ces seeds alimentait les soupçons de backdoor. L'histoire officielle venait de Jerry Solinas, le mathématicien de la NSA qui les avait choisies. Il aurait haché une phrase en anglais, du genre « Jerry deserves a raise », puis perdu la phrase au changement de machine. Il est mort en 2023 sans l'avoir retrouvée. Filippo Valsorda avait mis 12 288 $ sur la table en octobre 2023, triplés à 36 864 $ en cas de don, pour quiconque retrouverait les pré-seeds.

Claude a pris le problème à l'envers. Hypothèse : les seeds viennent d'un générateur faible des années 90. Le modèle a écrit un scanner pour détecter la signature de ces générateurs. Il a remarqué que les bits de poids fort de plusieurs seeds étaient tous à zéro, la marque de lrand48. Pour les courbes binaires, il a retrouvé l'état interne du générateur par force brute sur 2^17 possibilités. Pour les seeds tronquées des courbes premières, il est passé par une réduction de réseau (LLL). Les timestamps reconstitués tombent entre mai 1997 et avril 1998. Le même travail explique les points de base de six courbes via le générateur de FreeLIP. Temps de résolution : moins de trente minutes.

Des zones restent inexpliquées : la seed de B-163, les points de base de P-224 à P-521 et des candidats valides sautés sans raison connue, comme le candidat 876 pour P-256. Aucune revue indépendante n'a encore validé l'étude, mais le code CC0 permet à n'importe qui de régénérer les seeds publiées. Steve Weis enquêtait sur cette question depuis des années avant de rejoindre Anthropic.

Mon avis : notable, pas pour la cryptographie mais pour la méthode. ECDSA ne change pas, votre TLS non plus. Une IA a formulé une hypothèse, écrit son propre outil de détection et clos un problème ouvert depuis vingt-cinq ans, en une demi-heure. Pour une équipe française qui a des boîtes noires à comprendre, du code hérité aux comportements d'algorithmes, ce mode de travail devient accessible.

Rien à migrer, mais une méthode à copier

Côté sécurité, personne n'a rien à faire. La découverte renforce plutôt la confiance dans les courbes NIST : un procédé bête et daté laisse peu de place à une manipulation. Les absolutistes noteront que « moins plausible » ne veut pas dire « impossible », tant que les points de base de P-256 restent inexpliqués.

La méthode, elle, se recycle. Le schéma hypothèse, scanner, vérification s'applique à vos propres mystères de données. Si vous analysez des logs de crawl, le même réflexe vaut pour isoler la signature d'un bot derrière un pattern d'URL. Si vous auditez un vieux code interne dont l'auteur est parti, une session d'agent avec accès au dépôt peut en reconstruire la logique. C'est ce que Claude a fait avec un programme de 1997. On avait vu le même signal côté ingénierie chez Anthropic, où les agents produisent déjà l'essentiel du travail exploratoire.

Ce que vous devez faireConcrètement, pour votre visibilité
  • Lis l'étude d'Anthropic et fais tourner le code de reproduction CC0 si tu veux vérifier les seeds toi-même, tout est fourni.
  • Teste le schéma hypothèse-scanner sur un de tes problèmes : donne à un agent un échantillon de logs ou un module hérité, demande-lui une hypothèse et un script de vérification. Contrôle ensuite le résultat.
  • Ne lance aucune migration de certificats ou de courbes : la découverte ne crée aucune faiblesse dans ECDSA ni dans P-256.

Sources

Source : Anthropic.com

Cet article a été rédigé avec l’assistance d’un modèle de langage (LLM).

Besoin d'un accompagnement personnalisé?

Je propose des accompagnements au forfait et en régie pour vous aider à améliorer votre visibilité en ligne.