How cryptolu/meetinthefilter_cham_katan works
This repository is research code for meet-in-the-filter and differential-cryptanalysis experiments on CHAM and KATAN, plus trail data used by the attacks. The principal workflow is to analyze or expand differential trails, run cipher-specific experiments or attack code, and inspect resulting probabilities, trail matches, or key candidates. The graph separates the two cipher toolsets and the shared trail corpus. Some capabilities are identified from filenames and the README rather than sampled implementation, so uncertain wiring is omitted.
Main entry points: trails_forward.py Forward trail analysis · mifattack.cpp MiF attack · katan32-mif.cpp MiF attack · cham-exp.cpp Success experiments
Components 19
CHAM experiments
- CHAM implementation
cham/cham.py - Success experiments
cham/cham-exp.cpp - MiF attack
cham/gain/mifattack.cpp - Key recovery
cham/gain/recursive.cpp - ARX analysis
cham/arx.py - Forward trail analysis
cham/trails_forward.py - Backward trail analysis
cham/pattern_backwards.py
KATAN experiments
- KATAN cipher
katan/katan.py - MiF attack
katan/katan32-mif.cpp - Trail expansion
katan/katan32-expand.cpp - 32-bit SMT model
katan/cryptosmt/katan32.py - 48-bit SMT model
katan/cryptosmt/katan48.py - 64-bit SMT model
katan/cryptosmt/katan64.py
Differential trails
- CHAM trail
trails/cham/cham64-40r-trail.txt - KATAN32 trail
trails/katan/katan32-74r-offset33-trails.txt - KATAN48 trail
trails/katan/katan48-87r-offset34-trails.txt - KATAN64 trail
trails/katan/katan64-79r-offset33-trails.txt
Other components
- Researcher
- Experiment results
Connections 21
- Researcher → Success experiments: runs experiments
- Researcher → MiF attack: runs attack
- Researcher → Forward trail analysis: analyzes trails
- Success experiments → CHAM implementation: uses cipher
- Success experiments → Experiment results: reports success rate
- MiF attack → Key recovery: recovers key
- MiF attack → Experiment results: reports candidates
- Researcher → Backward trail analysis: analyzes trails
- Forward trail analysis → CHAM implementation: expands differences
- Forward trail analysis → ARX analysis: counts ARX differences
- Forward trail analysis → Experiment results: reports probabilities
- Researcher → MiF attack: runs attack
- MiF attack → KATAN cipher: uses cipher schedule
- MiF attack → Experiment results: reports trail matches
- Researcher → Trail expansion: expands trails
- Trail expansion → Experiment results: reports statistics
- Researcher → 32-bit SMT model: models characteristics
- Researcher → 48-bit SMT model: models characteristics
- Researcher → 64-bit SMT model: models characteristics
- CHAM trail → MiF attack: attack trail input
- KATAN32 trail → MiF attack: attack trail input