Kryptografia

Weryfikacja NIST: sprawdź ML-DSA-87, SLH-DSA i Ed25519 samodzielnie

Amerykański instytut normalizacyjny NIST publikuje oficjalne wektory testowe dla ML-DSA (FIPS 204) i SLH-DSA (FIPS 205): dane wejściowe wraz z wynikami, które musi dać poprawna implementacja, w tym celowo zmanipulowane podpisy. Tutaj Twoja przeglądarka przelicza te przypadki dokładnie tym modułem, który sprawdza również nasze opinie.

Uruchom test

Pliki testowe są pobierane bezpośrednio z NIST na GitHubie, a nie z naszych serwerów. Plik testowy SLH-DSA ma około 30 MB, więc pobieranie może chwilę potrwać.

Lub: pobierz pliki samodzielnie i wybierz je
  1. Otwórz foldery 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 w repozytorium NIST na GitHubie.
  2. Z każdego pobierz internalProjection.json.
  3. Wybierz tutaj pliki (wszystkie lub wybrane):

Co pokazuje test, a czego nie

  • Generowanie kluczy (keyGen): z każdej wartości początkowej NIST (ziarna) nasz moduł tworzy podpis. Jest on ważny przy kluczu publicznym podanym przez NIST tylko wtedy, gdy nasz moduł obliczył dokładnie ten sam klucz.
  • Weryfikacja podpisów (sigVer): w każdym przypadku nasz moduł musi wydać ten sam werdykt co NIST, także przy celowo zmienionych podpisach, wiadomościach i kontekstach.
  • SLH-DSA-SHA2-256f: z trzech wartości początkowych NIST (skSeed, skPrf, pkSeed) nasz moduł musi wygenerować dokładnie ten sam klucz prywatny i publiczny co NIST — porównywane bajt po bajcie. Przy weryfikacji podpisów obowiązuje to samo co wyżej. Oceniany jest wyłącznie zestaw parametrów SHA2-256f, którego używa McGesund.
  • Ed25519: tutaj nie jest testowany nasz własny kod, lecz kryptografia wbudowana w przeglądarkę oraz nasza zapasowa biblioteka noble, która sprawdza opinie w przeglądarkach bez Ed25519. Testowane jest czyste Ed25519 bez wstępnego hashowania i kontekstu, tak jak podpisujemy. NIST dostarcza do tego tylko kilka zmanipulowanych przypadków; pozostałe to ważne podpisy, które muszą zostać zaakceptowane.
  • Poza zakresem: zarządzanie kluczami, serwery i procesy wokół podpisu. Test dowodzi, że matematyka jest zgodna ze standardem, nic więcej.
  • FN-DSA (Falcon): standard FIPS 206 nie jest jeszcze ostateczny, dlatego NIST nie opublikował jeszcze oficjalnych wektorów testowych. Gdy się pojawią, dodamy je tutaj.

← Powrót do przeglądu kryptografii