Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
PQCrypto-LWEKE — C-библиотека, реализующая FrodoKEM — постквантовый механизм инкапсуляции ключей, основанный на задаче обучения с ошибками (Learning with Errors), с вариантами для AES и SHAKE, включая эфемерный и стандартный режимы. | Kitploit
Инструменты/GitHubGitHub/microsoft/pqcrypto-lweke
Инструменты шифрования/дешифрованияВиртуализация для безопасностиКриптография
GitHubmicrosoft/pqcrypto-lweke

PQCrypto-LWEKE

C-библиотека, реализующая FrodoKEM — постквантовый механизм инкапсуляции ключей, основанный на задаче обучения с ошибками (Learning with Errors), с вариантами для AES и SHAKE, включая эфемерный и стандартный режимы.

РепозиторийСайт
16553311 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

FrodoKEM: Инкапсуляция ключей на основе задачи обучения с ошибками

Эта библиотека на языке C реализует FrodoKEM — протокол инкапсуляции ключей (KEM), безопасный в модели IND-CCA, основанный на хорошо изученной задаче обучения с ошибками (LWE) [1,3], которая, в свою очередь, тесно связана с гипотетически сложными задачами на общих, «алгебраически неструктурированных» решётках. Этот пакет также включает эталонные реализации на Python. Предполагается, что FrodoKEM устойчив к атакам с использованием квантового компьютера.

FrodoKEM состоит из двух основных вариантов:

  • Стандартный вариант (называемый просто FrodoKEM), который не накладывает никаких ограничений на повторное использование пар ключей (т. е. он подходит для приложений, в которых большое количество шифротекстов может быть зашифровано одним открытым ключом), и
  • Эфемерный вариант (называемый eFrodoKEM), который подходит для приложений, в которых не так много шифротекстов шифруется одним открытым ключом.

В отличие от eFrodoKEM, стандартный FrodoKEM использует увеличенное зерно для генерации зерна выборки секретных матриц и матриц ошибок, а также включает дополнительную соль в одно из хеш-вычислений при инкапсуляции и декапсуляции. Эти контрмеры защищают стандартный FrodoKEM от некоторых атак с несколькими шифротекстами. Более подробную информацию об этих двух вариантах см. в [3].

Конкретно, эта библиотека включает следующие схемы KEM с использованием AES128 для генерации публичной матрицы «A»:

  • FrodoKEM-640-AES и eFrodoKEM-640-AES: соответствует постквантовой безопасности AES128.
  • FrodoKEM-976-AES и eFrodoKEM-976-AES: соответствует постквантовой безопасности AES192.
  • FrodoKEM-1344-AES и eFrodoKEM-1344-AES: соответствует постквантовой безопасности AES256.

И следующие схемы KEM с использованием SHAKE128 для генерации публичной матрицы «A»:

  • FrodoKEM-640-SHAKE и eFrodoKEM-640-SHAKE: соответствует постквантовой безопасности AES128.
  • FrodoKEM-976-SHAKE и eFrodoKEM-976-SHAKE: соответствует постквантовой безопасности AES192.
  • FrodoKEM-1344-SHAKE и eFrodoKEM-1344-SHAKE: соответствует постквантовой безопасности AES256.

Метка «eFrodoKEM» соответствует эфемерным вариантам.

Библиотека разработана командой FrodoKEM и Microsoft Research в экспериментальных целях.

Содержание

  • common папка: функции случайных чисел, реализации AES и SHA-3.
  • eFrodoKEM папка: реализации eFrodoKEM на C и Python3.
  • estimates папка: оценки криптоанализа FrodoKEM, приведённые в [3].
  • FrodoKEM папка: реализации стандартного FrodoKEM на C и Python3.
  • LICENSE: файл лицензии MIT.
  • README.md: этот файл readme.

Поддерживаемые платформы

Библиотека FrodoKEM поддерживается на широком спектре платформ, включая процессоры x64, x86, ARM, PowerPC и s390x под управлением Windows, Linux или macOS, и поддерживает как little-endian, так и big-endian форматы. Мы тестировали библиотеку с Microsoft Visual Studio, GNU GCC и clang.

Лицензия

Это программное обеспечение лицензировано по лицензии MIT; подробности см. в файле LICENSE. Реализация на Python3 лицензирована по лицензии Creative Commons Zero v1.0 Universal. Она включает некоторые сторонние модули, которые лицензированы иным образом. В частности:

  • common/aes/aes_c.c: общественное достояние
  • common/aes/aes_ni.c: общественное достояние
  • common/sha3/fips202.c: общественное достояние
  • common/sha3/fips202x4.c: общественное достояние
  • common/sha3/keccak4x: все файлы в этой папке являются общественным достоянием (CC0), за исключением
  • common/sha3/keccak4x/brg_endian.h, который защищён авторским правом Брайана Глэдмана и распространяется по лицензии BSD с 3 пунктами.
  • <FrodoKEM_variant>/tests/ds_benchmark.h: общественное достояние
  • <FrodoKEM_variant>/tests/PQCtestKAT_kem<#>.c: защищён авторским правом Лоуренса Э. Бэсшема
  • <FrodoKEM_variant>/tests/PQCtestKAT_kem<#>_shake.c: защищён авторским правом Лоуренса Э. Бэсшема
  • <FrodoKEM_variant>/tests/rng.c: защищён авторским правом Лоуренса Э. Бэсшема

Ссылки

[1] Erdem Alkim, Joppe W. Bos, Léo Ducas, Karen Easterbrook, Brian LaMacchia, Patrick Longa, Ilya Mironov, Michael Naehrig, Valeria Nikolaenko, Chris Peikert, Ananth Raghunathan, and Douglas Stebila, "FrodoKEM: Learning With Errors Key Encapsulation". Submission to the NIST Post-Quantum Standardization project, 2021-2023. Спецификация FrodoKEM раунда 3 доступна здесь.

[2] Joppe W. Bos, Craig Costello, Léo Ducas, Ilya Mironov, Michael Naehrig, Valeria Nikolaenko, Ananth Raghunathan, and Douglas Stebila, "Frodo: Take off the ring! Practical, quantum-secure key exchange from LWE". ACM CCS 2016, 2016. Версия препринта доступна здесь.

[3] Lewis Glabush, Patrick Longa, Michael Naehrig, Chris Peikert, Douglas Stebila, and Fernando Virdia, "FrodoKEM: A CCA-Secure Learning With Errors Key Encapsulation Mechanism". IACR Communications in Cryptology (в печати), 2025.

Участие в разработке

Этот проект принял Кодекс поведения Microsoft Open Source. Для получения дополнительной информации см. FAQ по Кодексу поведения или свяжитесь с [email protected] по любым дополнительным вопросам или комментариям.

Скачать инструмент