
Unshuffling Fisher-Yates: Practical Recovery of Length-128 Permutations and Application to ML-DSA
Paper (IACR ePrint 2026/2658) presenting a single-trace side-channel attack on a software Fisher-Yates shuffle of length 128, the butterfly count in one ML-DSA NTT layer. It removes rejection-sampling timing variation, extracts Hamming weight and identity leakage, and enumerates likely permutations with constraint programming. On a shuffled ML-DSA-44 NTT it recovers secret polynomial s1, fully or up to a few coefficients.
TL;DR Shows that Fisher-Yates shuffling of the ML-DSA NTT can be undone from a single trace, enabling recovery of s1.
Organisations named here
- FIPS 204
- Fisher-Yates shuffle
Technologies named here
- ML-DSA-44
- Constraint programming with a soft objective function
- ML-DSA
Related in Hardware & RF

HAETAE on a Diet: Less Stack, Less Time on Low-End Microcontrollers
geo-tp/ESP32-Bit-Pirate
