Кибер

Квантово-безопасный механизм инкапсуляции ключей

Kyber — это механизм инкапсуляции ключей (KEM), разработанный для устойчивости к криптоаналитическим атакам с помощью будущих мощных квантовых компьютеров . Он используется для установления общего секрета между двумя взаимодействующими сторонами без возможности его расшифровки злоумышленником ( IND-CCA2 ) в системе передачи. Эта асимметричная криптосистема использует вариант проблемы решетки обучения с ошибками в качестве своей базовой функции лазейки . Он выиграл конкурс NIST на первый стандарт постквантовой криптографии (PQ). [1] NIST называет свой стандарт Механизмом инкапсуляции ключей на основе модульной решетки ( ML-KEM ). [2]

Характеристики

Система основана на проблеме модульного обучения с ошибками (M-LWE) в сочетании с циклотомическими кольцами . [3] Недавно также было проведено строгое формальное математическое сокращение безопасности проблемы кольца-LWE до MLWE. [4] [5] По сравнению с конкурирующими методами PQ, она имеет типичные преимущества методов на основе решеток, например, в отношении времени выполнения, а также размера шифртекстов и ключевого материала. [6]

Были определены варианты с различными уровнями безопасности: Kyber512 ( уровень безопасности NIST 1, ≈ AES 128), Kyber768 (уровень безопасности NIST 3, ≈ AES 192) и Kyber1024 (уровень безопасности NIST 5, ≈ AES 256). [7] На уровне Kyber768 секретные ключи имеют размер 2400 байт, открытые ключи — 1184, а шифротексты — 1088. [8] [9]

При соответствующей оптимизированной реализации для криптографических операций может быть достаточно 4 килобайт памяти. [10] Для сценария шифрования чата с использованием liboqs было обнаружено, что замена чрезвычайно эффективного, не квантово-безопасного обмена ключами ECDH с использованием Curve25519 увеличивает время выполнения примерно в 2,3 раза (1,5–7), что, по оценкам, приводит к увеличению потребления энергии в 2,3 раза (1,4–3,1) и примерно в 70 раз (48–92) больше накладных расходов данных . [11] Внутренние операции хеширования составляют большую часть времени выполнения, что, таким образом, может значительно выиграть от соответствующего аппаратного ускорения .

Разработка

Kyber происходит от метода, опубликованного в 2005 году Одедом Регевым , разработанного разработчиками из Европы и Северной Америки, которые работают в различных государственных университетах или научно-исследовательских институтах, или в частных компаниях, при финансировании Европейской комиссии , Швейцарии, Нидерландов и Германии. [12] Они также разработали связанную и дополнительную схему подписи Dilithium , как еще один компонент их «Криптографического набора для алгебраических решеток» (CRYSTALS). Как и другие методы PQC-KEM, Kyber широко использует хеширование внутри компании. В случае Kyber здесь используются варианты Keccak ( SHA-3 / SHAKE), для генерации псевдослучайных чисел , среди прочего. [10] В 2017 году метод был представлен в Национальный институт стандартов и технологий США (NIST) для его публичного процесса отбора для первого стандарта для квантово-безопасных криптографических примитивов (NISTPQC). Это единственный механизм инкапсуляции ключей, который был выбран для стандартизации в конце третьего раунда процесса стандартизации NIST. [4] Согласно сноске в отчете, объявляющем о решении, это обусловлено выполнением различных патентных соглашений, при этом NTRU является запасным вариантом. В настоящее время проводится четвертый раунд процесса стандартизации с целью стандартизации дополнительного KEM. На втором этапе процесса выбора были скорректированы несколько параметров алгоритма, а сжатие открытых ключей было исключено. [10] Совсем недавно NIST уделил особое внимание затратам с точки зрения времени выполнения и сложности для реализаций, которые маскируют время выполнения, чтобы предотвратить соответствующие атаки по сторонним каналам (SCA). [4]

Эволюция

Kyber претерпел изменения в процессе стандартизации NIST. В частности, в представлении для раунда 2 (так называемый Kyber v2 ) были изменены следующие функции: [13]

  • удалено сжатие открытого ключа (из-за комментариев NIST по доказательству безопасности);
  • параметр q уменьшен до 3329 (с 7681);
  • изменены параметры сжатия шифротекста;
  • Определение теоретико-числового преобразования (NTT) изменено в соответствии с NTTRU для более быстрого умножения полиномов;
  • параметр шума уменьшен до η = 2 для более быстрой выборки шума;
  • представление открытого ключа изменено на домен NTT для сохранения операций NTT.

Представление в 3-й тур претерпело дальнейшие изменения: [14]

  • использование модифицированного преобразования Фудзисаки–Окамото (FO-преобразование);
  • уровень шума увеличился, а сжатие шифротекста уменьшилось для набора параметров уровня 1;
  • Улучшен алгоритм выборки.

Использование

Разработчики выпустили эталонную реализацию в общественное достояние (или под CC0 ), которая написана на языке C . [15] Библиотека программ liboqs проекта Open Quantum Safe (OQS) содержит реализацию, основанную [16] на ней. [11] OQS также поддерживает квантово-безопасный модуль Provider для OpenSSL 3.x, [17] и интегрировал свой код в BoringSSL и wolfSSL . [18] Существует несколько реализаций с использованием различных других языков программирования от сторонних разработчиков, включая JavaScript и Java. [19] [20] [21] Существуют различные (бесплатные) оптимизированные аппаратные реализации, включая ту, которая устойчива к атакам по сторонним каналам. [22] [23] Федеральное ведомство по информационной безопасности Германии нацелено на реализацию в Thunderbird , и в этом контексте также на реализацию в программной библиотеке Botan и соответствующие корректировки стандарта OpenPGP . [24] В 2023 году служба зашифрованных сообщений Signal внедрила PQXDH , алгоритм постквантового шифрования на основе Kyber, в свой протокол Signal . [25] [26]

Реализации

Ссылки

  1. ^ Муди, Дастин (2022), Отчет о состоянии третьего раунда процесса стандартизации постквантовой криптографии NIST (PDF) , Гейтерсберг, Мэриленд, стр. NIST IR 8413, doi :10.6028/nist.ir.8413, S2CID  247903639{{citation}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  2. ^ Технология, Национальный институт стандартов и (13 августа 2024 г.). «Стандарт механизма инкапсуляции ключей на основе модульной решетки [FIPS 203]». Министерство торговли США.
  3. ^ О чем думал NIST? (PDF-Datei)
  4. ^ Отчет о состоянии дел на втором этапе процесса стандартизации NIST PQC (PDF-Datei)
  5. ^ Крис Пейкерт, Захари Пепин (2019), «Алгебраически структурированный LWE, пересмотренный» (PDF) , Теория криптографии , Конспект лекций по информатике (на немецком языке), т. 11891, Cham: Springer International Publishing, стр.  1–23 , doi :10.1007/978-3-030-36030-6_1, ISBN 978-3-030-36029-0, S2CID  199455447
  6. ^ Криптография на основе решеток и SABER – Андреа Бассо (PDF; 2,0 МБ)
  7. ^ Обзор кандидатов на постквантовую криптографию 3-го раунда NIST (PDF; 157 кБ)
  8. ^ Жоппе Бос, Лео Дукас, Эйке Кильц, Танкред Лепойнт, Вадим Любашевский, Джон М. Шанк, Питер Швабе, Грегор Зайлер и Дэмиен Стеле (2018), «CRYSTALS - Kyber: KEM на основе CCA-Secure Module-Lattice-Based», 2018 Европейский симпозиум IEEE по безопасности и конфиденциальности, EuroS&P 2018. , IEEE, стр.  353–367 , doi : 10.1109/EuroSP.2018.00032, hdl : 2066/195423 , ISBN. 978-1-5386-4228-3, S2CID  20449721{{citation}}: CS1 maint: несколько имен: список авторов ( ссылка )
  9. ^ https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf [ пустой URL-адрес PDF ]
  10. ^ abc Леон Ботрос, Маттиас Дж. Каннвишер, Питер Швабе (2019), «Эффективная с точки зрения памяти высокоскоростная реализация Kyber на Cortex-M4» (PDF) , Прогресс в криптологии – AFRICACRYPT 2019 , Конспект лекций по информатике (на немецком языке), т. 11627, Cham: Springer International Publishing, стр.  209–228 , doi :10.1007/978-3-030-23696-0_11, ISBN 978-3-030-23696-0, S2CID  174775508{{citation}}: CS1 maint: несколько имен: список авторов ( ссылка )
  11. ^ ab Ines Duits (2019-02-05), Университет Твенте (ред.), Постквантовый протокол сигналов: безопасный чат в квантовом мире (PDF) (на немецком языке)
  12. ^ [1] [ голый URL ]
  13. ^ Роберто Аванци, Жоппе Бос, Лео Дукас, Эйке Кильц, Танкред Лепойн, Вадим Любашевский, Джон М. Шанк, Питер Швабе, Грегор Зайлер, Дэмиен Стеле. КРИСТАЛЛЫ–Кибер (презентация 2-го раунда) 23 августа 2019 г.
  14. ^ Роберто Аванци, Жоппе Бос, Лео Дукас, Эйке Кильц, Танкред Лепойн, Вадим Любашевский, Джон М. Шанк, Питер Швабе, Грегор Зайлер, Дэмиен Стеле. КРИСТАЛЛЫ – Кибер (презентация 3-го раунда) 9 июня 2021 г.
  15. ^ Kyber/ЛИЦЕНЗИЯ на master · pq-crystals/kyber · GitHub
  16. ^ "Kyber – Open Quantum Safe". Архивировано из оригинала 2021-04-20 . Получено 13-01-2022 .
  17. ^ "OQS Provider для OpenSSL 3.x". Oqs-provider .
  18. ^ "Интеграция wolfSSL и libOQS". WolfSSL-Website . 2021-09-01.
  19. ^ "КРИСТАЛЛЫ КИБЕР Ява" . Гитхаб . 25 октября 2021 г.
  20. ^ "CRYSTALS-KYBER JavaScript". GitHub . 11 декабря 2021 г.
  21. ^ "Зевая/Kyber". Архивировано из оригинала 2021-07-28 . Получено 2022-01-13 .
  22. ^ Б. Данг, Камьяр Мохаджерани, К. Гадж (2021), Высокоскоростные аппаратные архитектуры и справедливый бенчмаркинг ПЛИС (PDF) (на немецком языке){{citation}}: CS1 maint: несколько имен: список авторов ( ссылка )
  23. ^ Арпан Джати, Наина Гупта, А. Чаттопадхай, С. Санадхья (2021), «Конфигурируемая реализация оборудования Crystals-Kyber с защитой от побочных каналов» (PDF) , IACR Cryptol. ePrint Arch. (на немецком языке){{citation}}: CS1 maint: несколько имен: список авторов ( ссылка )
  24. ^ "E-Vergabe, die Vergabeplattform des Bundes" .
  25. ^ "Добавить Kyber KEM и реализовать протокол PQXDH". GitHub .
  26. ^ "Signal Messenger представляет квантово-устойчивое шифрование PQXDH". The Hacker News . Получено 22.09.2023 .
  • Официальный сайт
  • Кибер на GitHub
  • оригинальный метод Одеда Регева (2005), «О решетках, обучении с ошибками, случайных линейных кодах и криптографии», Труды тридцать седьмого ежегодного симпозиума ACM по теории вычислений (STOC '05) (на немецком языке), Балтимор, Мэриленд, США: ACM Press, стр. 84, arXiv : 2401.03703 , doi :10.1145/1060590.1060603, ISBN 978-1-58113-960-0, S2CID  53223958
Взято с "https://en.wikipedia.org/w/index.php?title=Kyber&oldid=1272752860"