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 годов.

TL;DR: CRYSTALS-Kyber (ML-KEM, FIPS 203) — для обмена ключами, CRYSTALS-Dilithium (ML-DSA, FIPS 204) — для цифровых подписей. Оба алгоритма прошли многолетний отбор NIST и считаются математически стойкими к квантовым атакам. Главная практическая угроза в 2025-2026 годах — не математика, а качество реализации: side-channel атаки (CVE-2026-22705 на Dilithium) и ошибки кодирования в библиотеках (CVE-2025-48946 в liboqs). Миграцию с классических алгоритмов на PQC рекомендуется проводить через гибридные (dual-stack) схемы.
Два кристаллических щита PQC над киберпанк-мегаполисом
Два кристаллических щита PQC над киберпанк-мегаполисом

🔐 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 как государственного стандарта США.

Золотой ключ ML-KEM в потоке цифрового дождя
Золотой ключ 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. Для систем с максимальными требованиями к безопасности, включая государственные и военные.
⚠ Ключевая статистика: Апрель 2026 — Cloud Security Alliance зафиксировала первый случай использования ML-KEM (CRYSTALS-Kyber) в реальном ransomware. Злоумышленники шифруют данные жертв на постквантовый алгоритм, делая восстановление без ключа атакующего невозможным даже при наличии квантовых вычислительных ресурсов. Это переворачивает традиционную модель: PQC, созданный для защиты, теперь используется и для атак.

✍️ 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 в серверной
Голографическая цифровая подпись Dilithium в серверной

Ключевое преимущество 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)Цифровые подписи
Стандарт NISTFIPS 203FIPS 204
Математическая основаModule-LWEModule-LWE + Module-SIS
Размер открытого ключа (уровень 3)1184 байт1312 байт
Размер ciphertext / подписи (уровень 3)1088 байт3309 байт
Скорость генерации ключаВысокая (~200 мкс)Средняя (~500 мкс)
Скорость (создание/шифрование)Высокая (~150 мкс)Средняя (подпись ~800 мкс)
Скорость (расшифровка/верификация)Высокая (~100 мкс)Высокая (~50 мкс)
Уровни безопасности NIST1, 3, 52, 3, 5
Чувствительность к side-channelСредняя (FO-трансформ)Высокая (CVE-2026-22705)

⚠ Side-channel атаки: главная практическая угроза 2025-2026

Математическая стойкость CRYSTALS-Kyber и Dilithium не вызывает сомнений в профессиональном сообществе. Однако, как показали исследования 2025-2026 годов, качество реализации имеет решающее значение. Side-channel атаки — атаки по побочным каналам (время выполнения, потребление энергии, электромагнитное излучение) — могут полностью скомпрометировать PQC-ключи даже при безупречной математике.

Ransomware шифрует серверы на постквантовый Kyber-1024
Ransomware шифрует серверы на постквантовый Kyber-1024

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 через общую кодовую базу). Это подтверждает: сама математика безопасна, но программисты ошибаются.

📌 Практический вывод по side-channel атакам: Используйте ТОЛЬКО проверенные библиотеки с constant-time реализациями — liboqs (Open Quantum Safe), AWS-LC, BoringSSL. Избегайте самодельных реализаций. Для критических применений применяйте fault injection countermeasures (дублирование вычислений, маскирование). Регулярно обновляйте библиотеки — CVE в PQC-реализациях будут появляться ещё несколько лет.

🔍 Реальные кейсы: Kyber и Dilithium в действии

Кейс 1: Kyber Ransomware (апрель 2026)

Cloud Security Alliance (CSA) задокументировала первый случай использования ML-KEM (CRYSTALS-Kyber) в реальном вымогательском ПО. Злоумышленники внедрили в свой ransomware поддержку Kyber-1024 для шифрования ключей жертвы. Это делает восстановление данных без ключа атакующего математически невозможным — даже если правоохранительные органы когда-либо получат квантовый компьютер, взлом Kyber-1024 потребует миллионов кубитов, недоступных в обозримом будущем. Кейс демонстрирует двойное применение PQC: защита данных и атаки.

Фигура на перекрёстке между Kyber и Dilithium
Фигура на перекрёстке между Kyber и Dilithium

Кейс 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), а назначением:

Голографический план миграции инфраструктуры на PQC
Голографический план миграции инфраструктуры на PQC
  • Для шифрования данных в покое и транзите — используйте 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 — сложный процесс, затрагивающий все уровни инфраструктуры. Вот пошаговый план для организаций:

  1. Аудит криптографического инвентаря — составьте полную карту: где используются RSA, ECDSA, ECDH, какие библиотеки и версии. Без инвентаря миграция невозможна.
  2. Выбор гибридной схемы (dual-stack) — на переходный период используйте комбинацию классического и постквантового алгоритма. Пример: X25519 + ML-KEM-768 для TLS (TLS 1.3 уже поддерживает hybrid key exchange). Это защищает от атак «Harvest Now, Decrypt Later».
  3. Обновление библиотек до PQC-совместимых версий — используйте liboqs, BoringSSL (с поддержкой PQC от Cloudflare/Google), AWS-LC. Все библиотеки должны быть актуальными — CVE в реализациях PQC выходят регулярно.
  4. Тестирование производительности — проведите нагрузочное тестирование с PQC. Kyber и Dilithium увеличивают размер handshake и время установки соединения. Для высоконагруженных систем (API Gateway, CDN) может потребоваться аппаратное ускорение.
  5. Side-channel hardening — если PQC реализуется в аппаратном модуле (HSM, TPM), обязательна защита от fault injection и SCA. Используйте constant-time реализация, маскирование, дублирование вычислений.
  6. Мониторинг и обновление — подпишитесь на рассылку уязвимостей liboqs (GitHub), отслеживайте новые CVE в ML-KEM/ML-DSA имплементациях. Плановая частота обновления — не реже 1 раза в квартал.

📚 Читайте также

📖 Термины

CRYSTALS-Kyber · Pqc · Quantum Crypto · Квантовый компьютер · Шифрование

🔗 Источники