Kriptografija

NIST provjera: provjerite ML-DSA-87, SLH-DSA i Ed25519 sami

Američki institut za normizaciju NIST objavljuje službene testne vektore za ML-DSA (FIPS 204) i SLH-DSA (FIPS 205): ulazne podatke s rezultatima koje ispravna implementacija mora dati, uključujući namjerno izmijenjene potpise. Ovdje vaš preglednik ponovno izračunava te slučajeve upravo onim modulom koji provjerava i naše recenzije.

Pokreni test

Testne datoteke učitavaju se izravno s NIST-a na GitHubu, ne s naših poslužitelja. Testna datoteka za SLH-DSA velika je oko 30 MB, pa učitavanje može malo potrajati.

Ili: sami preuzmite datoteke i odaberite ih
  1. Na NIST-ovom GitHubu otvorite mape ML-DSA-keyGen-FIPS204, ML-DSA-sigVer-FIPS204, SLH-DSA-keyGen-FIPS205, SLH-DSA-sigVer-FIPS205, EDDSA-SigGen-1.0 i EDDSA-SigVer-1.0.
  2. Iz svake preuzmite internalProjection.json.
  3. Ovdje odaberite datoteke (sve ili pojedine):

Što test pokazuje, a što ne

  • Generiranje ključeva (keyGen): iz svake NIST-ove početne vrijednosti (seed) naš modul stvara potpis. On je valjan uz javni ključ koji je zadao NIST samo ako je naš modul izračunao točno isti ključ.
  • Provjera potpisa (sigVer): naš modul u svakom slučaju mora donijeti istu odluku kao NIST, i kod namjerno izmijenjenih potpisa, poruka i konteksta.
  • SLH-DSA-SHA2-256f: iz triju NIST-ovih početnih vrijednosti (skSeed, skPrf, pkSeed) naš modul mora generirati potpuno isti privatni i javni ključ kao NIST — uspoređeno bajt po bajt. Za provjeru potpisa vrijedi isto kao gore. Ocjenjuje se samo skup parametara SHA2-256f koji McGesund koristi.
  • Ed25519: ovdje se ne testira naš vlastiti kod, nego kriptografija ugrađena u preglednik i naša pričuvna biblioteka noble, koja provjerava recenzije u preglednicima bez Ed25519. Testira se čisti Ed25519 bez predhashiranja i konteksta, kako i mi potpisujemo. NIST za to daje tek nekoliko izmijenjenih slučajeva; ostali su valjani potpisi koji moraju biti prihvaćeni.
  • Nije obuhvaćeno: upravljanje ključevima, poslužitelji i procesi oko potpisa. Test dokazuje da matematika odgovara normi, ništa više.
  • FN-DSA (Falcon): norma FIPS 206 još nije konačna, zato NIST još nije objavio službene testne vektore. Čim izađu, dodat ćemo ih ovdje.

← Natrag na pregled kriptografije