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
- Otwórz foldery
ML-DSA-keyGen-FIPS204,ML-DSA-sigVer-FIPS204,SLH-DSA-keyGen-FIPS205,SLH-DSA-sigVer-FIPS205,EDDSA-SigGen-1.0iEDDSA-SigVer-1.0w repozytorium NIST na GitHubie. - Z każdego pobierz
internalProjection.json. - 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.