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

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

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

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

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

Категории

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

wycheproof

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

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

Популярное

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

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

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

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

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

Project Wycheproof

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

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

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

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

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

Покрытие

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

  • AEGIS
  • AES-EAX
  • AES-FF1
  • AES-GCM
  • AES-SIV
  • ARIA
  • ASCON v1.2 AEAD (Ascon-128, Ascon-128a, Ascon-80pq; до стандартизации)
  • NIST SP 800-232 Ascon-AEAD128
  • 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.

Приоритеты разработки

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

Наш ближайший приоритет — добавление дополнительного покрытия алгоритмов и тестовых случаев в данные тестовых векторов.

FAQ

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

Project 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
  • FreeHSM

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

Находил ли Wycheproof при тестировании заметные ошибки?

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

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

Недавно мы объединили директории testvectors/ и testvectors_v1/ в единую унифицированную директорию с одним согласованным подходом к схемам.

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

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

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

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

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

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

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