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

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

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

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

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

Категории

Все категории
Loading categories
voron-crypto — Библиотека крипто/протокола мессенджера Voron (X3DH-lite + Double Ratchet, group sender-keys, onion transport) — запрошена внешняя проверка | Kitploit
Инструменты/GitHubGitHub/softdeadlock/voron-crypto
Инструменты шифрования/дешифрованияКриптографияКонфиденциальностьКомандование и УправлениеИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubsoftdeadlock/voron-crypto

voron-crypto

Библиотека крипто/протокола мессенджера Voron (X3DH-lite + Double Ratchet, group sender-keys, onion transport) — запрошена внешняя проверка

Репозиторий
11 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

Библиотека криптографии/протокола Voron — запрос на ревью

Это ядро криптографии и протокола обмена сообщениями небольшого проекта E2EE-мессенджера, выделенное для внешнего ревью. Это не весь продукт — клиент для Android и конфигурация развёртывания намеренно оставлены за бортом; это только та часть, на которую нужно посмотреть.

Что здесь находится

  • common/ — сама библиотека:
    • e2ee/ — X3DH-lite (асинхронное согласование ключей) + Double Ratchet поверх, построенный на Curve25519/ChaCha20-Poly1305/Ed25519/HKDF (примитивы от JDK, ничего самодельного на этом уровне).
    • crypto/ — тонкие обёртки над этими примитивами JDK.
    • group/ — групповая переписка через схему sender-keys (подход pre-MLS, который использовали ранние группы WhatsApp/Signal), а также подписанная хеш-цепочка событий на стороне клиента для членства/ролей, поскольку ретранслятор вообще не имеет понятия о группах.
    • onion/ — опциональный транспорт с многоуровневым шифрованием (фиксированное количество прыжков, выравнивание размеров пакетов), чтобы ретранслятор не мог напрямую связать IP-адрес соединения с ключом идентичности.
    • client/, transport/, backup/ — протокол передачи, транспортное рукопожатие Noise_IK и формат зашифрованного резервного копирования.
  • server/ — эталонная реализация ретранслятора: маршрутизация с хранением и пересылкой, каталог prekey, офлайн-почтовый ящик, роль лукового прыжка. Намеренно минимальное доверие: ретранслятор никогда не видит открытый текст, никогда не хранит сообщение дольше, чем требуется для доставки, и (по замыслу) не имеет никакого понятия о членстве в группах.
  • client/ — простой консольный тестовый стенд JVM (не реальное приложение), используемый для взаимодействия common/server друг с другом в интеграционных тестах, а также несколько автономных PoC-эксплойтов (см. ниже).
  • security-audit/ — отчёты предыдущих внутренних ревью, найденные ошибки, а также уже исправленные. Прочитайте это, прежде чем сообщать о чём-то — велика вероятность, что это уже здесь. REPORT.md — основной; ADVERSARIAL_REVIEW_PAVEL.md — более поздний, узкий проход; fuzz/ и client/.../exploit/ содержат запускаемые PoC, а не только описания.

Модель угроз, краткая версия

  • Ретранслятор не является доверенной стороной. Он маршрутизирует шифротекст и данные каталога (опубликованные prekeys) и предполагается активно вредоносным, а не просто любопытным — несколько исправленных ошибок в security-audit/ как раз о том, "что может сделать враждебный ретранслятор".
  • Одноранговые сеансы стремятся к прямой секретности (X3DH) и посткомпрометационной безопасности (DH-ratchet поверх). Групповые сеансы используют sender-keys: изменение членства переключает ключи всей группы, но один скомпрометированный sender-key раскрывает сообщения этой эпохи — нет поканального ratchet на уровне группы (не полный MLS/TreeKEM, намеренный срез объёма, описано в group/GroupCryptoSession.kt).
  • Луковая маршрутизация скрывает связь IP↔идентичность от ретранслятора, который видит только один прыжок, и дополняет кадры до фиксированных размеров, чтобы пассивная корреляция размеров между прыжками не тривиально деанонимизировала цепь. Она не скрывает временную корреляцию от противника, наблюдающего за обоими концами одновременно — для этого потребовались бы покрывающий трафик / смешивание, которые не реализованы. Это явно указано в security-audit/REPORT.md и ADVERSARIAL_REVIEW_PAVEL.md, а не что-то скрываемое.

Что мы конкретно хотим проверить

  • Интеграция X3DH-lite ↔ Double Ratchet (common/src/main/kotlin/messenger/common/e2ee/) — это единственная действительно оригинальная криптографическая конструкция здесь, всё под ней — стандартное. Она несколько раз прошла внутреннее ревью (см. security-audit/), но никогда никем за пределами этого проекта.
  • Модель авторизации журнала управления группой (common/src/main/kotlin/messenger/common/group/GroupControlLog.kt) — подписанная хеш-цепочка на стороне клиента без какого-либо применения на сервере.
  • Всё в слое луковой маршрутизации, что ещё не охвачено задокументированным выше предостережением о временной корреляции.

Запуск

root@kitploit:~
./gradlew test

Стандартный проект Gradle/Kotlin, JDK 17+. Для модульного набора тестов не требуется доступ к сети или запущенные сервисы. security-audit/README.md содержит инструкции для живого фаззинга ретранслятора и PoC корреляции лука, для которых нужны локальные процессы (никогда не запускайте это на продуктивном хосте).

Чем это не является

Независимый криптографический аудит этого кода не проводился. Всё в security-audit/ — это внутреннее инженерное ревью — тщательное, но саморевью, без формальных доказательств и без профессиональной/институциональной репутации. Относитесь к этому как к отправной точке для ревью, а не как к сертификации.

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