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

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

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

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

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

Категории

Все категории
Loading categories
cryptography-research-demo — Воспроизводимые артефакты криптоанализа для атак восстановления одиночного ключа на AES с сокращённым числом раундов, включая восстановление ключа по принципу «чёрного ящика», поиск DDT-Gray, кэши S-box и формальные доказательства в Lean. | Kitploit
Инструменты/GitHubGitHub/anthropics/cryptography-research-demo
Анализ уязвимостейКриптографияСтатьи и ИсследованияОбучение и Образование
GitHubanthropics/cryptography-research-demo

cryptography-research-demo

Воспроизводимые артефакты криптоанализа для атак восстановления одиночного ключа на AES с сокращённым числом раундов, включая восстановление ключа по принципу «чёрного ящика», поиск DDT-Gray, кэши S-box и формальные доказательства в Lean.

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
60722 дней назадПроверено Kitploit

Артефакты для «Дальнейшие атаки восстановления одного ключа на AES с уменьшенным числом раундов»

Исходный код для каждого эксперимента, упомянутого в статье. Никаких результатов измерений или готовых таблиц в комплекте нет: каждая программа выводит или записывает собственные результаты, так что каждое число можно воспроизвести с нуля.

каталогчто это
experiments/два эксперимента, лежащие в основе приложения Measured costs: полное восстановление ключа «чёрного ящика» для SR(7,2,2,6) и измерения по записям / по кандидатам реальной атаки на 7-раундовый AES-128
c/автономные программы на C, по одной на каждое утверждение о компоненте (мост, отпечатки, обход DDT-Gray, кэши S-блоков, рандомизация неверного ключа, нижняя граница поиска)
python/однокомпонентные проверки на Python и педагогическая эталонная реализация слоёв атаки (python/a1/)
rust/вторая независимая реализация экспериментов с компонентами (e1–e13)
figures/скрипты построения графиков, потребляющие TSV-файлы, записанные программами на C
lean/формализация на Lean 4 + Mathlib границы подсчёта ложных срабатываний для χ★ (lean/chi-fp/, §5.5 статьи)

Утверждения статьи о восстановлении ключа опираются на experiments/; c/, python/ и rust/ проверяют отдельные компоненты (тождества, инвариантности, факты о DDT, корректность кэшей, статистику рандомизации) и не являются атаками.

experiments/

См. experiments/README.md.

  • sr7226-e2e/ — полное восстановление ключа «чёрного ящика» для AES SR(7,2,2,6) (состояние 2x2, 6-битные слова, 24-битный ключ) с полной офлайн-таблицей, для трёх вариантов на одной кодовой базе: наш, Derbez–Fouque–Jean с нашими оптимизациями перечисления таблиц и Derbez–Fouque–Jean в опубликованном виде.
  • aes128-measured/ — реальная атака на 7-раундовый AES-128 по одной единице за раз: настоящие записи офлайн-таблицы (частичная таблица), такты на каждого онлайн-кандидата для трёх вариантов, знаменатели AES, показатели ложных срабатываний и покрытия упорядоченного отпечатка, а также проекция на полное число.

c/

Однофайловые или самодостаточные в каждом каталоге; сборка с помощью gcc -O3 -march=native -fopenmp -o <bin> <file.c> -lm (добавляйте каталог через -I, если используется локальный заголовочный файл). Использование описано в комментарии в начале каждого файла.

python/

Python 3. python/a1/ использует только стандартную библиотеку; скрипты верхнего уровня, figures/ и experiments/aes128-measured/phi/ требуют numpy, scipy и matplotlib (pip install -r requirements.txt, точные версии проверены). python/a1/README.md описывает многослойную эталонную реализацию (gf256.py, aes7r.py, chi_canon.py, prop2.py, эталонные векторы в test_vectors.py). Скрипты верхнего уровня — это проверки отдельных утверждений: инварианты моста (test_invariants.py, ), мост на реальных трассах AES (), поведение на границе (), рандомизация неверного ключа (), кластеризация / коллизионная энтропия (), обращение расписания ключей, лежащее в основе CompleteKey (), и демонстрация ложных срабатываний для префикса отпечатка ().

rust/

cargo build --release, затем ./target/release/repro <exp> [args]; каждый запуск добавляет блок с отметкой времени в rust/results/. Список экспериментов и то, что каждый из них проверяет, находится в rust/src/main.rs: e1–e13 охватывают тождество моста, факты о группах и смежных классах, честный мост на реальных трассах AES-128, рандомизацию неверного ключа, коллизионную энтропию, инвариантность χ★, спектр DDT, проверку корректности AES, замер времени по записям и конвейер SR(7,4,4,4).

Скачать инструмент
путьчто проверяетрасположение в статье
clump.c, chi_clump.cколлизионная энтропия отпечатков I_{m,n} и χ★свойства отпечатков; прил. коллизионная энтропия
wrongkey.cрандомизация неверного ключа, исчерпывающий перебор 2^32 значений k_6прил. рандомизация неверного ключа
fp_solve.cрешение DDT и перебор битов ветвления, используемые при построении таблицы§DDT-Gray
bridge-consistency/bc_impl_{a,b}.c, bc_truehit.cдве независимые реализации статистики ложного принятия для согласованности мостаАлг. BridgeConsistency
ddt-gray/ddt_gray_*.cобход DDT-Gray: инкрементальное вычисление в сравнении с холодным пересчётом, амортизированная стоимость S-блока, тайминг§DDT-Gray, прил. DDT-Gray
sb-cache/sbc_repro.cXOR-разделимость, лежащая в основе кэшей S-блоков W / UU; замкнутая форма c_iSB§Кэши S-блоков
mobius-honest/honest_online.cонлайн-сторона с |K_on| = 8: δ-множество, восстановленное только из k_{-1}, и доля выживших при неверном ключе§леммы о компонентах
mobius-honest/honest_rebound.c, degen_analysis.c, saes_imn.cконвейерные проверки офлайн-отскока и согласования I_{m,n} на AES малого масштаба; сокращения при известном ключе описаны в каждом заголовке — это конвейерные проверки, а не восстановление ключей§леммы о компонентах, прил. вырожденные случаи
floor/verify_ls_fp.c, floor/verify_incompat.c, floor/a1_floor.pyнижняя граница поиска для |K_on| = 8: dim LS(fp) ∈ {0,8} и T ≥ 2^88.67прил. нижняя граница
verify_Imn.py
test_bridge_aes.py
0^{-1}
test_zeroinv.py
test_wrongkey.py
test_clumping*.py
keysched_solve.py
fp_concat_demo.py