Paper 2025/1359 Original: eprint.iacr.org/2025/1359 ↗

Runtime Code Generation for Constant-Time Secret-Indexed Array Accesses: Applications to PERK and NTRU

Décio Luiz Gazzoni Filho
Rafael G. Flores e Silva
Alessandro Budroni
Marco Palumbi
Gora Adj
Abstract

One of the main guidelines to prevent timing side-channel attacks against cryptographic implementations is to avoid array accesses indexed by secret data. However, alternatives and countermeasures often incur significant performance losses. We propose a novel methodology for secure, constant-time implementation of algorithms that read and write to small arrays with secret-dependent indices, with a constant-factor performance impact compared to timing-unprotected accesses. It is specifically suitable for simple in-order CPUs like those in embedded systems, e.g., the ARM Cortex-M4 core. Although our methodology is general, we illustrate it with secure implementation of permutation operations, such as composition, inversion, and sampling, the latter using the Fisher-Yates shuffle. We apply this methodology to the post-quantum cryptosystems PERK and NTRU, bridging most of the performance gap to unprotected implementations that employ secret-dependent array accesses.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint.
History
2025-07-25: last updated
2025-07-25: published
Short URL
https://ia.cr/2025/1359
License
https://creativecommons.org/licenses/by/4.0/

BibTeX

@misc{cryptoeprint:2025/1359,
      author = {Décio Luiz Gazzoni Filho and Rafael G. Flores e Silva and Alessandro Budroni and Marco Palumbi and Gora Adj},
      title = {Runtime Code Generation for Constant-Time Secret-Indexed Array Accesses: Applications to PERK and NTRU},
      howpublished = {Cryptology {ePrint} Archive, Paper 2025/1359},
      year = {2025},
      url = {https://eprint.iacr.org/2025/1359}
}
Note: In order to protect the privacy of readers, this archive does not use cookies or embedded third party content.