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
- 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.0iEDDSA-SigVer-1.0. - Iz svake preuzmite
internalProjection.json. - 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.