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]
Представление в 3-й тур претерпело дальнейшие изменения: [14]
Разработчики выпустили эталонную реализацию в общественное достояние (или под 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]
{{citation}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ){{citation}}
: CS1 maint: несколько имен: список авторов ( ссылка ){{citation}}
: CS1 maint: несколько имен: список авторов ( ссылка ){{citation}}
: CS1 maint: несколько имен: список авторов ( ссылка ){{citation}}
: CS1 maint: несколько имен: список авторов ( ссылка )