Paper 2023/042
On Protecting SPHINCS+ Against Fault Attacks
Abstract
SPHINCS+ is a hash-based digital signature scheme that was selected by NIST in their post-quantum cryptography standardization process. The establishment of a universal forgery on the seminal scheme SPHINCS was shown to be feasible in practice by injecting a fault when the signing device constructs any non-top subtree. Ever since the attack has been made public, little effort was spent to protect the SPHINCS family against attacks by faults. This paper works in this direction in the context of SPHINCS+ and analyzes the current algorithms that aim to prevent fault-based forgeries. First, the paper adapts the original attack to SPHINCS+ reinforced with randomized signing and extends the applicability of the attack to any combination of faulty and valid signatures. Considering the adaptation, the paper then presents a thorough analysis of the attack. In particular, the analysis shows that, with high probability, the security guarantees of SPHINCS+ significantly drop when a single random bit flip occurs anywhere in the signing procedure and that the resulting faulty signature cannot be detected with the verification procedure. The paper shows both in theory and experimentally that the countermeasures based on caching the intermediate W-OTS+s offer a marginally greater protection against unintentional faults, and that such countermeasures are circumvented with a tolerable number of queries in an active attack. Based on these results, the paper recommends real-world deployments of SPHINCS+ to implement redundancy checks.
Metadata
- Available format(s)
- Category
- Attacks and cryptanalysis
- Publication info
- Published by the IACR in TCHES 2023
- Keywords
- SPHINCS+fault attackcountermeasurespost-quantum signaturehash-based cryptography
- Contact author(s)
- aymeric genet @ alumni epfl ch
- History
- 2023-01-19: approved
- 2023-01-13: received
- See all versions
- Short URL
- https://ia.cr/2023/042
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2023/042, author = {Aymeric Genêt}, title = {On Protecting {SPHINCS}+ Against Fault Attacks}, howpublished = {Cryptology {ePrint} Archive, Paper 2023/042}, year = {2023}, url = {https://eprint.iacr.org/2023/042} }