Kryptografia

Overenie NIST: skontrolujte ML-DSA-87, SLH-DSA a Ed25519 sami

Americký normalizačný inštitút NIST zverejňuje oficiálne testovacie vektory pre ML-DSA (FIPS 204) a SLH-DSA (FIPS 205): vstupy s výsledkami, ktoré musí správna implementácia priniesť, vrátane úmyselne zmanipulovaných podpisov. Tu váš prehliadač prepočíta tieto prípady presne tým modulom, ktorý overuje aj naše hodnotenia.

Spustiť test

Testovacie súbory sa načítajú priamo z NIST na GitHube, nie z našich serverov. Testovací súbor SLH-DSA má približne 30 MB, načítanie preto môže chvíľu trvať.

Alebo: stiahnite si súbory sami a vyberte ich
  1. Na GitHube NIST otvorte priečinky ML-DSA-keyGen-FIPS204, ML-DSA-sigVer-FIPS204, SLH-DSA-keyGen-FIPS205, SLH-DSA-sigVer-FIPS205, EDDSA-SigGen-1.0 a EDDSA-SigVer-1.0.
  2. Z každého stiahnite internalProjection.json.
  3. Tu vyberte súbory (všetky alebo jednotlivé):

Čo test ukazuje a čo nie

  • Generovanie kľúčov (keyGen): z každej počiatočnej hodnoty NIST (seed) vytvorí náš modul podpis. Ten je platný pod verejným kľúčom určeným NIST iba vtedy, ak náš modul vypočítal presne ten istý kľúč.
  • Overenie podpisu (sigVer): náš modul musí v každom prípade dospieť k rovnakému verdiktu ako NIST, aj pri úmyselne zmenených podpisoch, správach a kontextoch.
  • SLH-DSA-SHA2-256f: Z troch počiatočných hodnôt NIST (skSeed, skPrf, pkSeed) musí náš modul vytvoriť presne rovnaký súkromný a verejný kľúč ako NIST — porovnané bajt po bajte. Pri overení podpisu platí to isté ako vyššie. Vyhodnocuje sa iba sada parametrov SHA2-256f, ktorú McGesund používa.
  • Ed25519: tu sa netestuje náš vlastný kód, ale kryptografia vstavaná v prehliadači a naša záložná knižnica noble, ktorá overuje hodnotenia v prehliadačoch bez Ed25519. Testuje sa čisté Ed25519 bez predhashovania a kontextu, tak ako podpisujeme. NIST na to poskytuje len niekoľko zmanipulovaných prípadov; ostatné sú platné podpisy, ktoré musia byť prijaté.
  • Nepokryté: správa kľúčov, servery a procesy okolo podpisu. Test dokazuje, že matematika zodpovedá štandardu, nič viac.
  • FN-DSA (Falcon): štandard FIPS 206 ešte nie je konečný, preto NIST zatiaľ nezverejnil oficiálne testovacie vektory. Hneď ako vyjdú, doplníme ich sem.

← Späť na prehľad kryptografie