Crittografia
Verifica NIST: controlla tu stesso ML-DSA-87, SLH-DSA ed Ed25519
L’istituto di normazione statunitense NIST pubblica vettori di test ufficiali per ML-DSA (FIPS 204) e SLH-DSA (FIPS 205): input con i risultati che un’implementazione corretta deve fornire, tra cui firme manipolate di proposito. Qui il tuo browser ricalcola questi casi con esattamente lo stesso modulo che verifica anche le nostre recensioni.
Avvia il test
I file di test vengono caricati direttamente dal NIST su GitHub, non dai nostri server. Il file di test SLH-DSA pesa circa 30 MB, quindi il caricamento può richiedere un po' di tempo.
Oppure: scarica tu stesso i file e selezionali
- Apri le cartelle
ML-DSA-keyGen-FIPS204,ML-DSA-sigVer-FIPS204,SLH-DSA-keyGen-FIPS205,SLH-DSA-sigVer-FIPS205,EDDSA-SigGen-1.0edEDDSA-SigVer-1.0su GitHub del NIST. - Scarica da ciascuna
internalProjection.json. - Seleziona qui i file (tutti o solo alcuni):
Cosa mostra il test e cosa no
- Generazione delle chiavi (keyGen): da ogni valore iniziale del NIST (seed) il nostro modulo crea una firma. È valida con la chiave pubblica indicata dal NIST solo se il nostro modulo ha calcolato esattamente la stessa chiave.
- Verifica della firma (sigVer): in ogni caso il nostro modulo deve dare lo stesso esito del NIST, anche con firme, messaggi e contesti alterati di proposito.
- SLH-DSA-SHA2-256f: a partire dai tre valori iniziali del NIST (skSeed, skPrf, pkSeed), il nostro modulo deve generare esattamente la stessa chiave privata e pubblica del NIST — confrontate byte per byte. Per la verifica della firma vale lo stesso di sopra. Viene valutato solo il set di parametri SHA2-256f, quello usato da McGesund.
- Ed25519: qui non viene testato il nostro codice, ma la crittografia integrata nel browser e la nostra libreria di riserva noble, che verifica le recensioni nei browser senza Ed25519. Si testa Ed25519 puro, senza pre-hash né contesto, come firmiamo noi. Il NIST fornisce solo pochi casi manipolati; gli altri sono firme valide che devono essere accettate.
- Non coperto: la gestione delle chiavi, i server e i processi attorno alla firma. Il test dimostra che la matematica è conforme allo standard, niente di più.
- FN-DSA (Falcon): lo standard FIPS 206 non è ancora definitivo, perciò il NIST non ha ancora pubblicato vettori di test ufficiali. Non appena usciranno, li aggiungeremo qui.