Criptografie

Verificare NIST: verificați singur ML-DSA-87, SLH-DSA și Ed25519

Institutul american de standardizare NIST publică vectori de test oficiali pentru ML-DSA (FIPS 204) și SLH-DSA (FIPS 205): date de intrare împreună cu rezultatele pe care trebuie să le ofere o implementare corectă, inclusiv semnături manipulate intenționat. Aici, browserul dumneavoastră recalculează aceste cazuri exact cu modulul care verifică și recenziile noastre.

Pornire test

Fișierele de test sunt încărcate direct de la NIST pe GitHub, nu de pe serverele noastre. Fișierul de test SLH-DSA are aproximativ 30 MB, așa că încărcarea poate dura puțin.

Sau: descărcați singur fișierele și selectați-le
  1. Deschideți dosarele 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 pe GitHub-ul NIST.
  2. Descărcați din fiecare internalProjection.json.
  3. Selectați aici fișierele (toate sau doar unele):

Ce arată testul și ce nu

  • Generarea cheilor (keyGen): din fiecare valoare de pornire NIST (seed), modulul nostru creează o semnătură. Aceasta este validă cu cheia publică indicată de NIST numai dacă modulul nostru a calculat exact aceeași cheie.
  • Verificarea semnăturii (sigVer): modulul nostru trebuie să ajungă în fiecare caz la același verdict ca NIST, inclusiv la semnături, mesaje și contexte modificate intenționat.
  • SLH-DSA-SHA2-256f: din cele trei valori inițiale NIST (skSeed, skPrf, pkSeed), modulul nostru trebuie să genereze exact aceeași cheie privată și publică precum NIST — comparate octet cu octet. Pentru verificarea semnăturii se aplică același lucru ca mai sus. Se evaluează doar setul de parametri SHA2-256f, folosit de McGesund.
  • Ed25519: aici nu se testează codul nostru propriu, ci criptografia integrată în browser și biblioteca noastră de rezervă noble, care verifică recenziile în browserele fără Ed25519. Se testează Ed25519 pur, fără pre-hash și context, așa cum semnăm noi. NIST oferă pentru aceasta doar câteva cazuri manipulate; restul sunt semnături valide care trebuie acceptate.
  • Neacoperit: gestionarea cheilor, serverele și procesele din jurul semnăturii. Testul demonstrează că matematica respectă standardul, nimic mai mult.
  • FN-DSA (Falcon): standardul FIPS 206 nu este încă definitiv, de aceea NIST nu a publicat încă vectori de test oficiali. De îndată ce apar, îi vom adăuga aici.

← Înapoi la prezentarea criptografiei