CRYSTALS-Kyber и Dilithium: сравнение PQC-алгоритмов NIST 2026
📋 Кратко
В августе 2024 года Национальный институт стандартов и технологий США (NIST) опубликовал финальные версии трёх ключевых стандартов постквантовой криптографии: FIPS 203 (ML-KEM) , основанный на CRYSTALS-Kyber, и FIPS 204 (ML-DSA) , основанный на CRYSTALS-Dilithium. Эти алгоритмы знаменуют начало ново
⏱ 8 минут чтения
В августе 2024 года Национальный институт стандартов и технологий США (NIST) опубликовал финальные версии трёх ключевых стандартов постквантовой криптографии: FIPS 203 (ML-KEM), основанный на CRYSTALS-Kyber, и FIPS 204 (ML-DSA), основанный на CRYSTALS-Dilithium. Эти алгоритмы знаменуют начало новой эры в защите данных — эры, когда классические RSA и ECDH уступают место криптосистемам, устойчивым к атакам квантового компьютера.
Однако между Kyber и Dilithium существует фундаментальное различие, которое определяет их применение. Kyber (ML-KEM) — это механизм инкапсуляции ключей (KEM), предназначенный для защищённого обмена ключами между сторонами. Dilithium (ML-DSA) — это схема цифровой подписи, обеспечивающая аутентификацию и целостность данных. Выбор между ними — не вопрос «что лучше», а вопрос «какая задача стоит перед системой».
В этой статье мы подробно сравним CRYSTALS-Kyber и Dilithium: разберём математические основы, уровни безопасности NIST, производительность, практические уязвимости (включая side-channel атаки 2025-2026 годов) и дадим конкретные рекомендации по выбору для вашего проекта. Материал основан на анализе стандартов FIPS 203/204, аудитах Trail of Bits и реальных инцидентах 2025-2026 годов.
🔐 CRYSTALS-Kyber (ML-KEM): обмен ключами без компромиссов
CRYSTALS-Kyber основан на задаче Module-LWE (Learning With Errors) над структурированными решётками. Он прошёл три раунда конкурса NIST и был выбран как основной KEM-алгоритм для стандартизации. В августе 2024 года NIST опубликовал FIPS 203 (Module-Lattice-Based Key-Encapsulation Mechanism), официально закрепив статус ML-KEM как государственного стандарта США.
Основное назначение Kyber — безопасный обмен ключами между двумя сторонами по незащищённому каналу. В отличие от классического ECDH, Kyber не уязвим к атаке Шора на квантовом компьютере. Размер зашифрованного текста (ciphertext) для Kyber-768 составляет 1088 байт, а открытый ключ — 1184 байта. Это значительно больше классических аналогов (32-64 байта для ECDH), но всё ещё приемлемо для большинства приложений.
Уровни безопасности Kyber
NIST определил пять уровней безопасности — от 1 (самый низкий) до 5 (самый высокий), соответствующих сложности взлома AES-128, SHA-256 и AES-256. Kyber предлагает три основных параметра:
- ML-KEM-512 (уровень 1) — эквивалент AES-128. Для приложений с ограниченными ресурсами.
- ML-KEM-768 (уровень 3) — эквивалент SHA-256/SHA-384. Рекомендуемый уровень для большинства корпоративных систем.
- ML-KEM-1024 (уровень 5) — эквивалент AES-256. Для систем с максимальными требованиями к безопасности, включая государственные и военные.
✍️ CRYSTALS-Dilithium (ML-DSA): постквантовые цифровые подписи
CRYSTALS-Dilithium также основан на решётчатых структурах (Module-LWE и Module-SIS), но решает другую задачу — создание и верификацию цифровых подписей. Стандарт FIPS 204 (Module-Lattice-Based Digital Signature Algorithm) был опубликован NIST одновременно с FIPS 203. Dilithium заменит классические ECDSA и RSA-PSS в протоколах аутентификации TLS, кода, документов и контейнеров.
Ключевое преимущество Dilithium — отсутствие секретного состояния при подписании (в отличие от Falcon или классического DSA). Это делает его устойчивым к атакам, связанным с утечкой случайных чисел (nonce reuse). Размер подписи для ML-DSA-65 (уровень 3) составляет 2420 байт, а открытый ключ — 1312 байт. Это примерно в 3-5 раз больше классической подписи ECDSA, но значительно компактнее альтернативных постквантовых схем.
Уровни безопасности Dilithium
- ML-DSA-44 (уровень 2) — для лёгких приложений (IoT, embedded). Размер подписи ~2420 байт.
- ML-DSA-65 (уровень 3) — рекомендуемый корпоративный стандарт. Размер подписи ~3309 байт.
- ML-DSA-87 (уровень 5) — максимальная защита. Размер подписи ~4627 байт.
📊 Сравнение Kyber vs Dilithium: таблица характеристик
| Характеристика | CRYSTALS-Kyber (ML-KEM) | CRYSTALS-Dilithium (ML-DSA) |
|---|---|---|
| Назначение | Обмен ключами (KEM) | Цифровые подписи |
| Стандарт NIST | FIPS 203 | FIPS 204 |
| Математическая основа | Module-LWE | Module-LWE + Module-SIS |
| Размер открытого ключа (уровень 3) | 1184 байт | 1312 байт |
| Размер ciphertext / подписи (уровень 3) | 1088 байт | 3309 байт |
| Скорость генерации ключа | Высокая (~200 мкс) | Средняя (~500 мкс) |
| Скорость (создание/шифрование) | Высокая (~150 мкс) | Средняя (подпись ~800 мкс) |
| Скорость (расшифровка/верификация) | Высокая (~100 мкс) | Высокая (~50 мкс) |
| Уровни безопасности NIST | 1, 3, 5 | 2, 3, 5 |
| Чувствительность к side-channel | Средняя (FO-трансформ) | Высокая (CVE-2026-22705) |
⚠ Side-channel атаки: главная практическая угроза 2025-2026
Математическая стойкость CRYSTALS-Kyber и Dilithium не вызывает сомнений в профессиональном сообществе. Однако, как показали исследования 2025-2026 годов, качество реализации имеет решающее значение. Side-channel атаки — атаки по побочным каналам (время выполнения, потребление энергии, электромагнитное излучение) — могут полностью скомпрометировать PQC-ключи даже при безупречной математике.
CVE-2026-22705: timing side-channel в ML-DSA (Dilithium)
В январе 2026 года была зарегистрирована уязвимость CVE-2026-22705 в пакете ml-dsa, затрагивающая реализацию Dilithium. Исследователи обнаружили, что генерация rejected signatures (отклонённых подписей) в некоторых реализациях ML-DSA имеет измеримую зависимость от секретного ключа. Атакующий, имеющий возможность многократно замерять время формирования подписи, может восстановить секретный ключ с высокой точностью. Уязвимость затрагивает реализации на C и Rust, использующие наивные условные ветвления (conditional branches) при обработке rejected-состояний.
Keysight: практическая демонстрация SCA на PQC (ноябрь 2025)
Команда Keysight Technologies в ноябре 2025 года продемонстрировала успешную side-channel атаку на реализацию CRYSTALS-Kyber в аппаратном модуле безопасности (HSM) с использованием электромагнитного излучения. Атака показала, что даже сертифицированные HSM, реализующие PQC «по учебнику», могут быть скомпрометированы при физическом доступе к устройству. Это особенно критично для банковских систем и PKI-инфраструктуры.
Аудит Trail of Bits: liboqs (апрель 2025)
В апреле 2025 года Trail of Bits опубликовала отчёт о security-аудите библиотеки liboqs (Open Quantum Safe). Аудит выявил критические и high-severity проблемы в имплементациях PQC-алгоритмов, включая Kyber и Dilithium. Часть уязвимостей получила идентификаторы CVE (CVE-2025-48946 — дефект дизайна HQC в liboqs, косвенно затрагивающий Kyber через общую кодовую базу). Это подтверждает: сама математика безопасна, но программисты ошибаются.
🔍 Реальные кейсы: Kyber и Dilithium в действии
Кейс 1: Kyber Ransomware (апрель 2026)
Cloud Security Alliance (CSA) задокументировала первый случай использования ML-KEM (CRYSTALS-Kyber) в реальном вымогательском ПО. Злоумышленники внедрили в свой ransomware поддержку Kyber-1024 для шифрования ключей жертвы. Это делает восстановление данных без ключа атакующего математически невозможным — даже если правоохранительные органы когда-либо получат квантовый компьютер, взлом Kyber-1024 потребует миллионов кубитов, недоступных в обозримом будущем. Кейс демонстрирует двойное применение PQC: защита данных и атаки.
Кейс 2: Adam's Bridge — первая side-channel атака на PQC root of trust (январь 2025)
Проект Adam's Bridge — совместная разработка Google, AMD и Microsoft по созданию PQC-корня доверия (root of trust) для аппаратных модулей безопасности. В январе 2025 года исследователи опубликовали первую документированную side-channel атаку на Adam's Bridge, нацеленную на ML-DSA (Dilithium). Атака использовала утечку через modular reduction process при вычислении подписи, позволяя восстановить секретный ключ после ~10 тысяч измерений. Результаты опубликованы в Cryptology ePrint Archive (2025/009).
Кейс 3: Миграция Cloudflare на PQC (2025-2026)
Cloudflare в 2025-2026 годах развернула поддержку X25519+ML-KEM-768 в рамках своей CDN-инфраструктуры, используя гибридный подход (dual-stack). Компания сообщила, что добавление Kyber увеличивает размер handshake в TLS примерно на 2 КБ, но не приводит к заметной задержке при установке соединения (< 5% overhead). Это практическое подтверждение: PQC-ready TLS уже работает в промышленных масштабах.
🎯 Как выбрать: Kyber или Dilithium?
Выбор между CRYSTALS-Kyber и Dilithium определяется не производительностью или безопасностью (оба алгоритма проходят один и тот же уровень проверки NIST), а назначением:
- Для шифрования данных в покое и транзите — используйте Kyber (ML-KEM). Он заменяет ECDH в TLS-соединениях, защите файлов, мессенджерах (Signal уже внедрил поддержку Kyber).
- Для аутентификации и цифровых подписей — используйте Dilithium (ML-DSA). Он заменяет ECDSA и RSA-PSS для подписания кода, документов, TLS-сертификатов, контейнеров.
- Для PKI-инфраструктуры — потребуются оба: Dilithium для подписи сертификатов, Kyber для защищённого распространения ключей.
- Для IoT и встраиваемых систем — начинайте с ML-KEM-512 (уровень 1), если позволяет размер кода. Dilithium с размером подписи ~2.4 КБ может быть избыточным для микроконтроллеров.
🛡️ Практические рекомендации по миграции на PQC
Миграция с классических алгоритмов (RSA, ECDH, ECDSA) на PQC — сложный процесс, затрагивающий все уровни инфраструктуры. Вот пошаговый план для организаций:
- Аудит криптографического инвентаря — составьте полную карту: где используются RSA, ECDSA, ECDH, какие библиотеки и версии. Без инвентаря миграция невозможна.
- Выбор гибридной схемы (dual-stack) — на переходный период используйте комбинацию классического и постквантового алгоритма. Пример: X25519 + ML-KEM-768 для TLS (TLS 1.3 уже поддерживает hybrid key exchange). Это защищает от атак «Harvest Now, Decrypt Later».
- Обновление библиотек до PQC-совместимых версий — используйте liboqs, BoringSSL (с поддержкой PQC от Cloudflare/Google), AWS-LC. Все библиотеки должны быть актуальными — CVE в реализациях PQC выходят регулярно.
- Тестирование производительности — проведите нагрузочное тестирование с PQC. Kyber и Dilithium увеличивают размер handshake и время установки соединения. Для высоконагруженных систем (API Gateway, CDN) может потребоваться аппаратное ускорение.
- Side-channel hardening — если PQC реализуется в аппаратном модуле (HSM, TPM), обязательна защита от fault injection и SCA. Используйте constant-time реализация, маскирование, дублирование вычислений.
- Мониторинг и обновление — подпишитесь на рассылку уязвимостей liboqs (GitHub), отслеживайте новые CVE в ML-KEM/ML-DSA имплементациях. Плановая частота обновления — не реже 1 раза в квартал.
📚 Читайте также
- Квантовая криптография и постквантовая безопасность: подготовка к эре квантовых компьютеров
- Устаревший PHP в WordPress: 70% сайтов под угрозой взлома через уязвимости
- Спящие агенты в LLM: миф или реальная угроза ИИ-безопасности?
- Вредоносные пакеты в PyPI атакуют серверы Telegram-ботов: как защититься
- Безопасность MCP-протокола для AI-агентов: новые угрозы 2026 года
📖 Термины
CRYSTALS-Kyber · Pqc · Quantum Crypto · Квантовый компьютер · Шифрование
🔗 Источники
- Cloudflare Blog: Post-Quantum Cryptography — развёртывание PQC в CDN-инфраструктуре
- Cryptology ePrint Archive 2025/009: Adam's Bridge — side-channel атака на PQC root of trust
- NIST FIPS 203: ML-KEM (CRYSTALS-Kyber) — Module-Lattice-Based Key-Encapsulation Mechanism Standard
- NIST FIPS 204: ML-DSA (CRYSTALS-Dilithium) — Module-Lattice-Based Digital Signature Standard
- Trail of Bits: Shipping post-quantum cryptography to Python (июнь 2026)