Depuis plus de vingt ans, les cryptographes se demandent d'où viennent certains des nombres les plus utilisés en sécurité. Les courbes elliptiques du NIST P-192, P-224, P-256, P-384 et P-521, normalisées en 2000 et utilisées partout sur le web pour les signatures numériques, ont chacune été définies à partir d'une graine publiée dont l'origine n'a jamais été expliquée. Comme ces graines venaient de la NSA sans recette, certains soupçonnaient qu'elles cachaient une faiblesse. La Frontier Red Team d'Anthropic affirme qu'un modèle Claude interne a enfin trouvé comment elles ont été produites, et la réponse est banale.
Les graines n'étaient pas l'empreinte d'une phrase, comme le voulait la rumeur. Elles étaient la sortie brute de lrand48, le générateur de nombres aléatoires des bibliothèques C des années 1990, initialisé avec un horodatage Unix. Un salarié d'Anthropic a demandé au modèle de retrouver l'origine sans mentionner l'ancien indice, et il y est parvenu en moins de 30 minutes. Il a écrit un scanner vérifiant si des morceaux de chaque graine ressemblaient à des sorties consécutives d'anciens générateurs, a remarqué que certaines graines avaient leurs bits de poids fort à zéro bien plus souvent que le hasard ne le permet, puis a reconstitué l'état caché du générateur pour les graines des courbes premières grâce à une technique classique de réseaux. En faisant tourner le générateur à l'envers, chaque point de départ s'est révélé être un horodatage compris entre mai 1997 et avril 1998. La graine de P-256 était la candidate 1 842 de sa série, et chaque état retrouvé régénère les 160 bits de sa graine, ce qui exclut la coïncidence.
La découverte renforce la confiance au lieu de l'éroder. Anthropic insiste : il ne s'agit ni d'une cassure ni d'une nouvelle attaque, car une graine tirée d'une série horodatée d'un générateur faible laisse peu de place à la recherche délibérée d'une courbe défectueuse. En prime, le modèle a aussi expliqué les points de base de P-192 et de cinq courbes d'exemple ANSI apparentées, issus du générateur aléatoire de la bibliothèque FreeLIP d'Arjen Lenstra ; selon Anthropic, aucun point de base du NIST n'avait été expliqué auparavant.
Pour les lecteurs, il n'y a rien à faire. P-256 et ses sœurs inspiraient déjà largement confiance, et Anthropic dit clairement qu'aucune mesure n'est nécessaire. L'intérêt tient à la méthode : un modèle raisonnant sur la façon dont fonctionnait probablement un logiciel des années 1990, plutôt que de tester des hypothèses à l'aveugle, a résolu une énigme qui avait résisté aux humains, y compris à des tentatives antérieures de salariés d'Anthropic.
Des questions demeurent. Quelques candidates viables ont été sautées ; pour P-256, la candidate 876 de la même série aurait aussi donné une courbe convenable, et la règle de sélection est inconnue, même si Anthropic estime que le nombre de candidates écartées est trop faible pour suggérer un affaiblissement délibéré. Une graine de courbe binaire, B-163, ne correspond à rien de ce qui a été essayé, et les points de base de P-224, P-256, P-384 et P-521 restent inexpliqués. Le code permettant de reproduire le travail est public, chacun peut donc vérifier.