Cryptographie
Vérification NIST : contrôlez ML-DSA-87, SLH-DSA et Ed25519 vous-même
L’institut de normalisation américain NIST publie des vecteurs de test officiels pour ML-DSA (FIPS 204) et SLH-DSA (FIPS 205) : des entrées avec les résultats qu’une implémentation correcte doit fournir, dont des signatures volontairement manipulées. Ici, votre navigateur recalcule ces cas avec exactement le module qui vérifie aussi nos avis.
Lancer le test
Les fichiers de test sont chargés directement depuis le NIST sur GitHub, pas depuis nos serveurs. Le fichier de test SLH-DSA fait environ 30 Mo, le chargement peut donc prendre un peu de temps.
Ou : télécharger les fichiers vous-même et les sélectionner
- Ouvrez les dossiers
ML-DSA-keyGen-FIPS204,ML-DSA-sigVer-FIPS204,SLH-DSA-keyGen-FIPS205,SLH-DSA-sigVer-FIPS205,EDDSA-SigGen-1.0etEDDSA-SigVer-1.0sur le GitHub du NIST. - Téléchargez à chaque fois
internalProjection.json. - Sélectionnez les fichiers ici (tous ou certains) :
Ce que le test montre et ce qu’il ne montre pas
- Génération de clés (keyGen) : à partir de chaque valeur de départ du NIST (graine), notre module crée une signature. Elle n’est valide sous la clé publique fixée par le NIST que si notre module a calculé exactement la même clé.
- Vérification de signature (sigVer) : notre module doit rendre le même verdict que le NIST dans chaque cas, y compris pour des signatures, messages et contextes volontairement modifiés.
- SLH-DSA-SHA2-256f : à partir des trois valeurs initiales du NIST (skSeed, skPrf, pkSeed), notre module doit générer exactement la même clé privée et la même clé publique que le NIST — comparées octet par octet. Pour la vérification de signature, il en va de même que ci-dessus. Seul le jeu de paramètres SHA2-256f, utilisé par McGesund, est évalué.
- Ed25519 : ce n’est pas notre propre code qui est testé ici, mais la cryptographie intégrée au navigateur et notre bibliothèque de secours noble, qui vérifie les avis dans les navigateurs sans Ed25519. On teste Ed25519 pur, sans pré-hachage ni contexte, comme nous signons. Le NIST ne fournit que peu de cas manipulés ; les autres sont des signatures valides qui doivent être acceptées.
- Non couvert : la gestion des clés, les serveurs et les processus autour de la signature. Le test prouve que les mathématiques sont conformes à la norme, rien de plus.
- FN-DSA (Falcon) : la norme FIPS 206 n’est pas encore finale, le NIST n’a donc pas encore publié de vecteurs de test officiels. Dès leur parution, nous les ajouterons ici.