Paper 2025/564
Combined Masking and Shuffling for Side-Channel Secure Ascon on RISC-V
Abstract
Both masking and shuffling are very common software countermeasures against side-channel attacks. However, exploring possible combinations of the two countermeasures to increase and fine-tune side-channel resilience is less investigated. With this work, we aim to bridge that gap by both concretising the security guarantees of several masking and shuffling combinations presented in earlier work and additionally investigating their randomness cost. We subsequently implement these approaches to also analyse their performance. In this context, we present five different protected implementations of the new standard for lightweight cryptography, Ascon, on a 32-bit RISC-V architecture: A 3rd-order masked, unshuffled implementation and three combined 3rd-order masked and shuffled implementations. Additionally, we present a levelled implementation where only the particularly vulnerable keyed initialisation and finalisation of the permutation are masked and shuffled, while the rest is only shuffled. To further improve the security and performance of our implementations we make use of the Probe Isolating Non-Interference (PINI) masked AND gadget, coupled with techniques like bit-slicing and bit-interleaving. Utilising benchmarking and an MI-shortcut security analysis, we pinpoint the best masking-shuffling combinations that maximize security at reasonable overheads.
Metadata
- Available format(s)
-
PDF
- Category
- Implementation
- Publication info
- Published elsewhere. CASCADE 2025
- Keywords
- RISC-VMaskingShufflingAsconSide-Channel Countermeasures
- Contact author(s)
-
l mainka @ uva nl
k papagiannopoulos @ uva nl - History
- 2025-03-28: approved
- 2025-03-27: received
- See all versions
- Short URL
- https://ia.cr/2025/564
- License
-
CC BY-SA
BibTeX
@misc{cryptoeprint:2025/564, author = {Linus Mainka and Kostas Papagiannopoulos}, title = {Combined Masking and Shuffling for Side-Channel Secure Ascon on {RISC}-V}, howpublished = {Cryptology {ePrint} Archive, Paper 2025/564}, year = {2025}, url = {https://eprint.iacr.org/2025/564} }