Перейти к содержимому
ecdsa.com

ML-DSA (FIPS 204)

Алгоритм цифровой подписи на основе модульных решёток из FIPS 204 (август 2024 года), разработанный на базе CRYSTALS-Dilithium; основная постквантовая подпись NIST с наборами параметров ML-DSA-44, ML-DSA-65 и ML-DSA-87.
Другие написанияML-DSAFIPS 204DilithiumCRYSTALS-DilithiumML-DSA-65

Размеры в байтах (FIPS 204, таблица 2), открытый ключ / подпись: ML-DSA-44 — 1312 / 2420 (категория стойкости 2), ML-DSA-65 — 1952 / 3309 (категория 3), ML-DSA-87 — 2592 / 4627 (категория 5). В развёрнутом виде закрытые ключи занимают 2560–4896 байт, но их можно хранить как 32-байтовый seed. На одном ядре Apple M4 Max OpenSSL 3.6.5 создаёт около 3 900 подписей ML-DSA-44 и выполняет около 20 800 проверок в секунду; при подписании используется выборка с отклонением (rejection sampling), поэтому его время непостоянно.

По умолчанию подписание выполняется с подмешанной случайностью (hedged): 32 байта свежих случайных данных смешиваются с ключом и сообщением, а в необязательном детерминированном варианте вместо них используются нули (§ 3.4). Каждая подпись привязана к строке контекста длиной до 255 байт. HashML-DSA (§ 5.4) — отдельный алгоритм, который подписывает дайджест с привязанным к нему OID хеш-функции. Идентификаторы в X.509 — id-ml-dsa-44, -65 и -87 (от 2.16.840.1.101.3.4.3.17 до .19, RFC 9881).

ML-DSA — выбор по умолчанию для постквантовой подписи общего назначения: сертификаты в частных PKI, прошивки, документы. Для TLS в публичной веб-PKI препятствием служит его размер, поэтому сейчас разрабатываются составные сертификаты ML-DSA и сертификаты на основе деревьев Меркла. Инструмент постквантовых подписей локально создаёт и проверяет подписи.

Стандарты и ссылки

Все термины