Skip to content

Back to the catalog

Unshuffling Fisher-Yates: Practical Recovery of Length-128 Permutations and Application to ML-DSA
eprint.iacr.orgpaper

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