Криптография

Проверка по NIST: проверете ML-DSA-87, SLH-DSA и Ed25519 сами

Американският институт по стандартизация NIST публикува официални тестови вектори за ML-DSA (FIPS 204) и SLH-DSA (FIPS 205): входни данни с резултатите, които една коректна реализация трябва да даде, включително умишлено манипулирани подписи. Тук вашият браузър преизчислява тези случаи точно с модула, който проверява и нашите отзиви.

Стартиране на теста

Тестовите файлове се зареждат директно от NIST в GitHub, а не от нашите сървъри. Тестовият файл за SLH-DSA е около 30 MB, затова зареждането може да отнеме известно време.

Или: изтеглете файловете сами и ги изберете
  1. Отворете папките ML-DSA-keyGen-FIPS204, ML-DSA-sigVer-FIPS204, SLH-DSA-keyGen-FIPS205, SLH-DSA-sigVer-FIPS205, EDDSA-SigGen-1.0 и EDDSA-SigVer-1.0 в GitHub на NIST.
  2. От всяка изтеглете internalProjection.json.
  3. Изберете тук файловете (всички или отделни):

Какво показва тестът и какво не

  • Генериране на ключове (keyGen): от всяка начална стойност на NIST (seed) нашият модул създава подпис. Той е валиден с публичния ключ, зададен от NIST, само ако нашият модул е изчислил точно същия ключ.
  • Проверка на подписи (sigVer): във всеки случай нашият модул трябва да стигне до същата присъда като NIST, включително при умишлено променени подписи, съобщения и контексти.
  • SLH-DSA-SHA2-256f: от трите начални стойности на NIST (skSeed, skPrf, pkSeed) нашият модул трябва да генерира точно същия частен и публичен ключ като NIST — сравнени байт по байт. За проверката на подписи важи същото като по-горе. Оценява се само наборът от параметри SHA2-256f, който McGesund използва.
  • Ed25519: тук не се тества нашият собствен код, а вградената в браузъра криптография и нашата резервна библиотека noble, която проверява отзивите в браузъри без Ed25519. Тества се чист Ed25519 без предварителен хеш и контекст, както подписваме ние. NIST предоставя за това само няколко манипулирани случая; останалите са валидни подписи, които трябва да бъдат приети.
  • Не е обхванато: управлението на ключовете, сървърите и процесите около подписа. Тестът доказва, че математиката отговаря на стандарта, нищо повече.
  • FN-DSA (Falcon): стандартът FIPS 206 още не е окончателен, затова NIST все още не е публикувал официални тестови вектори. Щом излязат, ще ги добавим тук.

← Обратно към прегледа на криптографията