Cryptografie
NIST-controle: ML-DSA-87, SLH-DSA en Ed25519 zelf controleren
Het Amerikaanse normalisatie-instituut NIST publiceert officiële testvectoren voor ML-DSA (FIPS 204) en SLH-DSA (FIPS 205): invoer met de resultaten die een correcte implementatie moet opleveren, waaronder opzettelijk gemanipuleerde handtekeningen. Hier rekent uw browser deze gevallen na met precies de module die ook onze beoordelingen controleert.
Test starten
De testbestanden worden rechtstreeks bij NIST op GitHub geladen, niet van onze servers. Het SLH-DSA-testbestand is ongeveer 30 MB groot, het laden kan even duren.
Of: bestanden zelf downloaden en selecteren
- Open bij NIST op GitHub de mappen
ML-DSA-keyGen-FIPS204,ML-DSA-sigVer-FIPS204,SLH-DSA-keyGen-FIPS205,SLH-DSA-sigVer-FIPS205,EDDSA-SigGen-1.0enEDDSA-SigVer-1.0. - Download telkens
internalProjection.json. - Selecteer hier de bestanden (alle of enkele):
Wat de test laat zien en wat niet
- Sleutelgeneratie (keyGen): uit elke NIST-startwaarde (seed) maakt onze module een handtekening. Die is alleen geldig onder de door NIST opgegeven publieke sleutel als onze module precies dezelfde sleutel heeft berekend.
- Handtekeningcontrole (sigVer): onze module moet in elk geval tot hetzelfde oordeel komen als NIST, ook bij opzettelijk gewijzigde handtekeningen, berichten en contexten.
- SLH-DSA-SHA2-256f: uit de drie NIST-startwaarden (skSeed, skPrf, pkSeed) moet onze module exact dezelfde private en publieke sleutel genereren als NIST — byte voor byte vergeleken. Voor de handtekeningcontrole geldt hetzelfde als hierboven. Alleen de parameterset SHA2-256f, die McGesund gebruikt, wordt geëvalueerd.
- Ed25519: hier wordt niet onze eigen code getest, maar de in de browser ingebouwde cryptografie en onze reservebibliotheek noble, die beoordelingen controleert in browsers zonder Ed25519. Getest wordt zuiver Ed25519 zonder prehash en context, zoals wij ondertekenen. NIST levert hiervoor maar weinig gemanipuleerde gevallen; de rest zijn geldige handtekeningen die moeten worden geaccepteerd.
- Niet gedekt: sleutelbeheer, servers en de processen rond de handtekening. De test toont aan dat de wiskunde aan de standaard voldoet, meer niet.
- FN-DSA (Falcon): de standaard FIPS 206 is nog niet definitief, daarom heeft NIST nog geen officiële testvectoren gepubliceerd. Zodra ze verschijnen, voegen we ze hier toe.