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

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

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

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

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

Категории

Все категории
Loading categories
wycheproof — Проект Wycheproof проверяет криптографические библиотеки на известные атаки. | Kitploit
Инструменты/GitHubGitHub/c2sp/wycheproof
Статический анализАнализ уязвимостейАнализ КодаКриптографияСтатьи и ИсследованияОбучение и Образование
GitHubc2sp/wycheproof

wycheproof

Проект Wycheproof проверяет криптографические библиотеки на известные атаки.

Репозиторий
3.1k331515 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

Проект Wycheproof

Проект Wycheproof — это репозиторий, управляемый сообществом, содержащий тестовые векторы, которые могут использоваться разработчиками криптографических библиотек для проверки на известные атаки, несоответствия спецификациям и другие различные ошибки реализации.

Тестовые векторы хранятся в виде данных JSON, с сопутствующими файлами JSON-схем, которые документируют структуру этих данных.

Начало работы

  1. Клонируйте этот репозиторий. Вы также можете интегрировать Wycheproof как подмодуль Git или иным образом настроить автоматизацию для отслеживания изменений с течением времени.
  2. Напишите (или сгенерируйте из файлов JSON-схем) код для загрузки данных векторов в соответствии с вашим языком реализации/проектом.
  3. Для каждого интересующего алгоритма определите входные данные для ваших криптографических API и полученные выходные данные, сопоставляя их с тем, что предоставляют тестовые векторы.
  4. Переберите соответствующие тестовые векторы, убедившись, что результаты, полученные вашим API при подаче соответствующих входных данных, соответствуют ожидаемым результатам тестового вектора.
  5. Для лучших результатов интегрируйте этот процесс в вашу систему непрерывной интеграции (CI), чтобы тесты запускались для всех новых вкладов/изменений.

Возможно, вам будет полезно изучить, как другие проекты, такие как pyca/cryptography, интегрировали тестовые векторы Wycheproof.

Охват

Проект Wycheproof содержит тестовые векторы для наиболее популярных криптоалгоритмов, включая

  • AEGIS
  • AES-EAX
  • AES-FF1
  • AES-GCM
  • AES-SIV
  • ARIA
  • ASCON v1.2 (еще не SP 800-232)
  • Camellia
  • ChaCha20-Poly1305
  • Chunked encryption (Cobblestone)
  • XChaCha20-Poly1305
  • DH
  • DHIES
  • DSA
  • ECDH
  • ECDSA
  • EdDSA
  • ECIES
  • HKDF
  • HMAC
  • KMAC
  • MORUS
  • PBKDF2
  • RSA
  • SEED
  • SipHash
  • SM4
  • VMAC
  • X25519, X448
  • BLS-12-381
  • ML-KEM (CRYSTALS-Kyber)
  • ML-DSA (CRYSTALS-Dilithium)

Тестовые векторы определяют, уязвима ли библиотека ко многим атакам, включая

  • Атаки на некорректные кривые
  • Смещенные nonce в схемах цифровой подписи
  • Конечно, все атаки Блейхенбахера
  • И многие другие — у нас более 80 тестовых случаев

Мы приветствуем вклад новых тестовых векторов и алгоритмов.

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

Если вы хотите внести свой вклад, пожалуйста, прочитайте CONTRIBUTING и присылайте нам pull request'ы. Вы также можете сообщать об ошибках или запрашивать новые тесты через GitHub issues.

Приоритеты развития

Мы находимся в процессе возобновления разработки и поддержки проекта Wycheproof как проекта C2SP с обновленным фокусом на данных тестовых векторов. Наши непосредственные приоритеты:

  1. Завершение описаний JSON-схем для всех тестовых векторов.
  2. Улучшение документации и инструментов для внешних участников, чтобы предоставлять новые тестовые данные в существующие файлы векторов.
  3. Развитие сообщества потребителей, которые могут помогать в поддержке и рецензировании новых тестовых данных.
  4. Добавление дополнительных алгоритмов и тестовых случаев в данные тестовых векторов.

Часто задаваемые вопросы

Почему проект называется "Wycheproof"?

Проект Wycheproof назван в честь горы Wycheproof, самой маленькой горы в мире. Основная мотивация проекта на момент его создания заключалась в том, чтобы поставить достижимую цель. Чем меньше гора, тем вероятнее, что на нее можно взобраться.

Какие сторонние проекты используют тестовые векторы Wycheproof?

Тестовые векторы Wycheproof в той или иной форме используются рядом важных криптографических проектов и библиотек. В произвольном порядке к ним относятся:

  • OpenSSL
  • BoringSSL
  • aws-lc
  • LibreSSL
  • NSS
  • pyca/cryptography
  • Botan
  • Go cryptography
  • swift-crypto
  • RustCrypto
  • Graviola
  • Tink
  • PyCryptdome
  • OpenTitan
  • Zig
  • liboqs
  • bc-rust
  • leancrypto
  • Odin

Если ваш проект использует тестовые векторы из Wycheproof, не стесняйтесь открыть PR, чтобы добавить его в список выше!

Выявило ли тестирование Wycheproof заметные ошибки?

Смотрите doc/bugs.md для некоторых известных исторических ошибок, найденных с использованием тестовых обвязок Wycheproof или данных тестовых векторов.

Где находится каталог testvectors/?

Недавно мы объединили каталоги testvectors/ и testvectors_v1/ в единый каталог с единым подходом к схемам.

Пользователям, которым требуются исходные тестовые векторы ("v0"), можно клонировать этот репозиторий по тегу wycheproof-v0-vectors, но рекомендуется обновиться до использования testvectors_v1/, чтобы получать будущие обновления. Если какие-то функции/покрытие тестов из testvectors/ отсутствуют в testvectors_v1/, или есть другая проблема, препятствующая обновлению, пожалуйста, откройте issue с описанием ваших потребностей.

Все ли векторы имеют схемы?

На момент написания следующие файлы testvectors_v1 не имеют схем:

  • testvectors_v1/aes_ff1_base*_test.json
  • testvectors_v1/aes_ff1_radix*_test.json
  • testvectors_v1/ecdsa_secp256k1_sha256_bitcoin_test.json
  • testvectors_v1/pbes2_hmacsha*_aes_*_test.json
  • testvectors_v1/pbkdf2_hmacsha*_test.json
  • testvectors_v1/rsa_pss_*_sha*_mgf*_params_test.json
  • testvectors_v1/rsa_pss_misc_params_test.json

Вклад схем для вышеуказанных векторов будет весьма приветствоваться.

Есть ли дополнительная документация о тестовых векторах?

Доступна некоторая устаревшая документация по файлам, форматам и типам, но она не обязательно синхронизирована с текущим состоянием тестовых векторов.

В целом предпочтительнее ссылаться на файлы схем, поскольку они тестируются в CI для обеспечения соответствия содержимого файлов векторов заявленным схемам.

Где находится код тестовых обвязок?

Исторически Wycheproof также включал тестовые обвязки (например, для реализаций криптографии на Java и Javascript), которые тестировали различные атаки непосредственно на реализациях. После перехода на поддержку сообществом эти обвязки были удалены (но всё ещё существуют в истории git для заинтересованных сторон по адресу cd27d64). Наш текущий фокус — на независимых от реализации тестовых векторах.

Тестирование сторонних криптографических библиотек напрямую означает, что недостатки выявляются только после того, как они были зафиксированы и, возможно, выпущены тестируемыми проектами. Вместо этого мы рекомендуем сторонним проектам регулярно тестировать свой код с использованием тестовых векторов Wycheproof в рамках процесса разработки. Такой подход помогает выявлять недостатки до того, как они могут стать CVE, означает, что новые функции тестируются немедленно, и помогает распределить бремя поддержки. Это позволяет мейнтейнерам Wycheproof сосредоточиться на тестовых векторах, а не на отслеживании разработки множества проектов и одновременном поддержании всё большего количества языковых и проектно-специфичных тестовых обвязок.

Заинтересованные в тестовых обвязках могут найти продолжение работы Даниэля Блейхенбахера в проекте Rooterberg.

По какой лицензии распространяется Wycheproof?

Авторские права 2016-2026 принадлежат авторам Wycheproof, распространяется по лицензии Apache 2.0.

Кто создал Wycheproof?

Проект Wycheproof был изначально создан и поддерживался:

  • Daniel Bleichenbacher
  • Thai Duong
  • Emilia Kasper
  • Quan Nguyen
  • Charles Lee
Скачать инструмент