Kriptografija

Preverjanje NIST: sami preverite ML-DSA-87, SLH-DSA in Ed25519

Ameriški inštitut za standardizacijo NIST objavlja uradne testne vektorje za ML-DSA (FIPS 204) in SLH-DSA (FIPS 205): vhodne podatke z rezultati, ki jih mora dati pravilna implementacija, med njimi tudi namerno spremenjene podpise. Tukaj vaš brskalnik te primere ponovno izračuna natanko z modulom, ki preverja tudi naše ocene.

Zaženi test

Testne datoteke se naložijo neposredno z NIST na GitHubu, ne z naših strežnikov. Testna datoteka SLH-DSA je velika približno 30 MB, zato lahko nalaganje nekoliko traja.

Ali: sami prenesite datoteke in jih izberite
  1. Na GitHubu NIST odprite mape ML-DSA-keyGen-FIPS204, ML-DSA-sigVer-FIPS204, SLH-DSA-keyGen-FIPS205, SLH-DSA-sigVer-FIPS205, EDDSA-SigGen-1.0 in EDDSA-SigVer-1.0.
  2. Iz vsake prenesite internalProjection.json.
  3. Tukaj izberite datoteke (vse ali posamezne):

Kaj test pokaže in česa ne

  • Ustvarjanje ključev (keyGen): iz vsake začetne vrednosti NIST (seme) naš modul ustvari podpis. Ta je veljaven s javnim ključem, ki ga določa NIST, le če je naš modul izračunal natanko isti ključ.
  • Preverjanje podpisa (sigVer): naš modul mora v vsakem primeru priti do enake odločitve kot NIST, tudi pri namerno spremenjenih podpisih, sporočilih in kontekstih.
  • SLH-DSA-SHA2-256f: iz treh začetnih vrednosti NIST (skSeed, skPrf, pkSeed) mora naš modul ustvariti natanko enak zasebni in javni ključ kot NIST — primerjano bajt za bajtom. Pri preverjanju podpisa velja enako kot zgoraj. Ovrednoti se le nabor parametrov SHA2-256f, ki ga uporablja McGesund.
  • Ed25519: tukaj se ne testira naša lastna koda, temveč kriptografija, vgrajena v brskalnik, in naša rezervna knjižnica noble, ki preverja ocene v brskalnikih brez Ed25519. Testira se čisti Ed25519 brez predhodnega zgoščevanja in konteksta, tako kot podpisujemo. NIST za to zagotavlja le nekaj spremenjenih primerov; ostali so veljavni podpisi, ki jih je treba sprejeti.
  • Ni zajeto: upravljanje ključev, strežniki in postopki okoli podpisa. Test dokazuje, da matematika ustreza standardu, nič več.
  • FN-DSA (Falcon): standard FIPS 206 še ni dokončen, zato NIST še ni objavil uradnih testnih vektorjev. Takoj ko izidejo, jih dodamo sem.

← Nazaj na pregled kriptografije