Claude révèle l’origine des courbes ECDSA de NIST
Anthropic a annoncé que son modèle Claude a résolu l’origine controversée des paramètres des courbes elliptiques ECDSA normalisées par le NIST, un mystère ouvert depuis plus de vingt ans. Adoptées en 2000 dans la norme FIPS 186-2, ces courbes sont parmi les plus utilisées au monde pour la signature numérique. Leur définition inclut des “seeds” fournis par la NSA sans explication, ce qui avait alimenté l’hypothèse d’un choix arbitraire, voire de portes dérobées. Contrairement à une rumeur selon laquelle les seeds résulteraient d’un hash humoristique, Claude a déterminé qu’ils proviennent de l’aléatoire pseudo-aléatoire de la bibliothèque C de l’époque. Le générateur utilisé, lrand48, était initialisé avec un horodatage Unix, puis échantillonnait des candidats de 20 octets jusqu’à trouver des courbes exploitables. Pour P-256, le seed officiel correspond ainsi au candidat numéro 1842 d’une séquence générée le 16 août 1997. Plusieurs seeds des courbes premières ont pu être rattachés à des dates comprises entre mai 1997 et avril 1998, tandis que ceux des courbes binaires suggèrent un réglage proche d’avril 1998. La découverte repose sur une analyse statistique et cryptographique des paramètres publiés. Le modèle a d’abord repéré une signature dans les bits de poids fort, propre à lrand48, dont l’état interne peut être reconstruit. Pour certains seeds réduits, la récupération de l’état du générateur a nécessité une réduction LLL de réseau, technique connue en cryptanalyse. En remontant l’état en arrière, les chercheurs ont identifié les valeurs d’initialisation compatibles avec srand48 et des horodatages Unix plausibles. Les auteurs soulignent qu’il ne s’agit ni d’une faille, ni d’un affaiblissement des courbes, ni d’une attaque contre ECDSA. Leurs travaux montrent au contraire que les paramètres peuvent être reproduits à partir d’un processus simple et documentable, ce qui réduit fortement la possibilité d’une sélection secrètement intentionnelle. Le code permettant de régénérer plusieurs seeds a été publié sous licence domaine public. En examinant aussi les points de base G, Claude a identifié l’origine de six d’entre eux, dont P-192 et cinq courbes ANSI X9.62. Ils proviennent du générateur pseudo-aléatoire de FreeLIP, puis de la bibliothèque NTL, avec de petits entiers comme initialisation. En revanche, l’origine des points de base de P-224, P-256, P-384 et P-521, ainsi que de certaines courbes binaires, reste inconnue. Le seed B-163 demeure également inexpliqué, tandis que des courbes candidates valables mais non retenues soulèvent quelques questions ouvertes. La prime de 36 864 dollars proposée pour cette recherche sera versée à l’Internet Security Research Group. Les équipes d’Anthropic recommandent de voir ce résultat comme la fin d’un débat de communauté, plutôt que comme une alerte nécessitant de changer de standards.
