Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cryptography-research-demo — Artefacts de cryptanalyse reproductibles pour les attaques de récupération de clé unique sur AES à tours réduits, incluant la récupération de clé en boîte noire, la recherche DDT-Gray, les caches de S-box et les preuves formelles Lean. | Kitploit
Outils/GitHubGitHub/anthropics/cryptography-research-demo
Analyse des VulnérabilitésCryptographieArticles et RechercheApprentissage et Éducation
GitHubanthropics/cryptography-research-demo

cryptography-research-demo

Artefacts de cryptanalyse reproductibles pour les attaques de récupération de clé unique sur AES à tours réduits, incluant la récupération de clé en boîte noire, la recherche DDT-Gray, les caches de S-box et les preuves formelles Lean.

Voir le dépôt
60727il y a 2 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Artefacts pour « Further Single-Key Recovery Attacks on Reduced-Round AES »

Code source de chaque expérience citée dans l'article. Aucune sortie de mesure ni table préconstruite n'est fournie : chaque programme imprime ou écrit ses propres résultats, de sorte que chaque chiffre peut être régénéré à partir de zéro.

répertoiredescription
experiments/les deux expériences derrière l'annexe Measured costs : la récupération complète de clé en boîte noire sur SR(7,2,2,6), et les mesures par entrée / par candidat de l'attaque réelle sur AES-128 à 7 tours
c/programmes C autonomes, un par affirmation sur un composant (bridge, empreintes, parcours DDT-Gray, caches de S-box, randomisation de mauvaise clé, plancher de lookup)
python/vérifications Python d'affirmations isolées et implémentation de référence pédagogique des couches de l'attaque (python/a1/)
rust/une seconde implémentation indépendante des expériences sur les composants (e1–e13)
figures/scripts de tracé qui consomment les TSV écrits par les programmes C
lean/formalisation Lean 4 + Mathlib de la borne de comptage des faux positifs de χ★ (lean/chi-fp/, article §5.5)

Les affirmations de récupération de clé de l'article reposent sur experiments/ ; c/, python/ et rust/ vérifient les composants individuels (identités, invariances, faits sur les DDT, correction des caches, statistiques de randomisation) et ne sont pas des attaques.

experiments/

Voir experiments/README.md.

  • sr7226-e2e/ — récupération complète de clé en boîte noire sur AES SR(7,2,2,6) (état 2x2, mots de 6 bits, clé de 24 bits) avec la table hors ligne complète, pour trois variantes sur une même base de code : la nôtre, Derbez–Fouque–Jean avec nos optimisations d'énumération de table, et Derbez–Fouque–Jean telle que publiée.
  • aes128-measured/ — l'attaque réelle sur AES-128 à 7 tours, unité par unité : entrées authentiques de la table hors ligne (table partielle), cycles par candidat en ligne pour les trois variantes, les dénominateurs AES, les taux de faux positifs et de couverture de l'empreinte ordonnée, et la projection vers le décompte complet.

c/

Fichier unique ou autonome par répertoire ; compiler avec gcc -O3 -march=native -fopenmp -o <bin> <file.c> -lm (ajouter le répertoire en -I lorsqu'un en-tête local est utilisé). L'utilisation est documentée dans le commentaire d'en-tête de chaque fichier.

cheminvérifieemplacement dans l'article
clump.c, chi_clump.centropie de collision des empreintes I_{m,n} et χ★propriétés des empreintes ; ann. entropie de collision
wrongkey.crandomisation de mauvaise clé, balayage exhaustif de 2^32 sur k_6ann. randomisation de mauvaise clé
fp_solve.crésolution DDT et énumération des bits de branche utilisées par la construction de la table§DDT-Gray
bridge-consistency/bc_impl_{a,b}.c, bc_truehit.cdeux implémentations indépendantes de la statistique de faux accept de bridge-consistencyAlg. BridgeConsistency
ddt-gray/ddt_gray_*.cparcours de Gray tenant compte des DDT : l'incrémental égale le recalcul à froid, coût amorti des S-box, chronométrage§DDT-Gray, ann. DDT-Gray
sb-cache/sbc_repro.cséparabilité XOR derrière les caches de S-box W / UU ; forme close de c_iSB§S-box caches
mobius-honest/honest_online.cle côté en ligne avec |K_on| = 8 : le δ-ensemble reconstruit à partir de k_{-1} uniquement, et le taux de survivants de mauvaise clé§component lemmas
mobius-honest/honest_rebound.c, degen_analysis.c, saes_imn.cvérifications de pipeline du rebond hors ligne et de l'appariement I_{m,n} sur AES à petite échelle ; les raccourcis à clé connue sont documentés dans chaque en-tête — ce sont des vérifications de pipeline, pas des récupérations de clé§component lemmas, ann. cas dégénérés
floor/verify_ls_fp.c, floor/verify_incompat.c, floor/a1_floor.pyle plancher de lookup pour |K_on| = 8 : dim LS(fp) ∈ {0,8} et T ≥ 2^88.67ann. borne inférieure

python/

Python 3. python/a1/ n'utilise que la bibliothèque standard ; les scripts de test de premier niveau, figures/ et experiments/aes128-measured/phi/ nécessitent numpy, scipy et matplotlib (pip install -r requirements.txt, versions exactes vérifiées). python/a1/README.md décrit l'implémentation de référence en couches (gf256.py, aes7r.py, chi_canon.py, prop2.py, les vecteurs de référence dans test_vectors.py). Les scripts de premier niveau sont des vérifications d'une seule affirmation : invariants du pont (test_invariants.py, verify_Imn.py), le pont sur de vraies traces AES (test_bridge_aes.py), le comportement limite de 0^{-1} (test_zeroinv.py), la randomisation par mauvaise clé (test_wrongkey.py), l'entropie de regroupement / de collision (test_clumping*.py), l'inversion du calendrier de clés derrière CompleteKey (keysched_solve.py), et la démonstration de faux positifs sur préfixe d'empreinte (fp_concat_demo.py).

rust/

cargo build --release, puis ./target/release/repro <exp> [args] ; chaque exécution ajoute un bloc horodaté sous rust/results/. La liste des expériences et ce que chacune vérifie se trouve dans rust/src/main.rs : e1–e13 couvrent l'identité du pont, les faits sur les groupes et les classes latérales, le pont honnête sur de vraies traces AES-128, la randomisation par mauvaise clé, l'entropie de collision, l'invariance χ★, le spectre DDT, la cohérence AES, la mesure du temps par entrée, et le pipeline SR(7,4,4,4).

Télécharger l’outil