Deterministic CSIDH variants enable full key recovery with ≤297 faults
The claim
Deterministic CSIDH implementations allow an attacker to recover the secret key using a single fault per execution
Published as: “From if to Oops: Turning a conditional into a key-recovery oracle”
So what
Deterministic, dummy-free CSIDH implementations on embedded devices can be fully broken by a simple, reproducible fault, requiring immediate adoption of randomization countermeasures.
The five-minute version
Deterministic CSIDH and OSIDH-LD are vulnerable to a simple fault that flips the secret-dependent conditional mask, turning it into a key-recovery oracle; a binary search recovers the full private key in at most 222 queries for CSIDH (n=74, B=5) and 297 queries for OSIDH-LD, and the required fault can be induced reliably on a ChipWhisperer-Lite board (p ≥ 0.94). The paper demonstrates the attack in software simulation and on real hardware, and proposes randomization countermeasures that raise the fault cost dramatically.
What they found 4
- Binary-search key recovery needs at most 222 queries for deterministic CSIDH (n=74, B=5).
“A binary search per secret component recovers the key in at most n⌈log2(B + 1)⌉queries: 222 for deterministic CSIDH (n = 74, B = 5).”
- Full-key recovery succeeds in software fault simulation of OSIDH-LD.
“We recover full keys in a software fault simulation of the OSIDH-LD reference implementation [22].”
- Clock-glitch fault succeeds in 50/50 attempts on ChipWhisperer-Lite (p ≥ 0.94).
“On a ChipWhisperer-Lite, a clock glitch aligned to the isolated mask computation skips the instruction in 50 of 50 attempts (p ≥0.94 at 95% confidence).”
- For OSIDH-LD, shuffling plus an extra all-zero iteration makes every effective fault abort and hide the targeted prime.
“For OSIDH-LD, shuffling plus one extra all-zero iteration turns every effective fault into an abort that hides the targeted prime, provided the lane check is enforced.”
What undercuts it the paper’s own results
- The empirical fault success rate for deterministic CSIDH is low (3 successful instruction skips out of 1281 executions, ≈2.34 × 10−3), which may make the attack impractical without highly precise glitching.
Stated limits 2
- Scope and limitations. Both hardware campaigns fault only steps whose honest mask is all-ones (t > s).
- As for deterministic CSIDH, we fault an isolated control site behind a dedicated trigger, not a full on-device group action.
What’s new here 4
- First fault attack targeting deterministic, dummy-free CSIDH/OSIDH-LD implementations.
- Shows that determinism makes the secret-dependent lane-selection mask a reproducible fault target.
- Provides a hardware demonstration of the mask-flip fault on a commodity microcontroller using clock-glitching.
- Analyzes countermeasures (prime order shuffling, outer-loop randomization) and quantifies their impact on fault complexity.
Artifacts & methods 7
- deterministic CSIDH (Houben)system
- OSIDH-LDsystem
- ChipWhisperer-Lite clock-glitch fault injection
- software fault simulation (eval_action_faulty)
- binary-search key recovery
- prime-order randomization countermeasure
- outer-loop randomization countermeasure
