Verifying Post Quantum Signatures in 8kB of RAM

2021-07-15·
Ruben Gonzalez
,
Andreas Hülsing
,,
Juliane Krämer
,
Tanja Lange
,
Marc Stöttinger
,
Elisabeth Waitz
,
Bo-Yin Yang
· 1 min read
Abstract
In this paper, we study implementations of post-quantum signature schemes on resource-constrained devices. We focus on verification of signatures and cover NIST PQC round-3 candidates Dilithium, Falcon, Rainbow, GeMSS, and SPHINCS+. We assume an ARM Cortex-M3 with 8 kB of memory and 8 kB of flash for code; a practical and widely deployed setup in, for example, the automotive sector. This amount of memory is insufficient for most schemes. Rainbow and GeMSS public keys are too big; SPHINCS+ signatures do not fit in this memory. To make signature verification work for these schemes, we stream in public keys and signatures. Due to the memory requirements for efficient Dilithium implementations, we stream in the public key to cache more intermediate results. We discuss the suitability of the signature schemes for streaming, adapt existing implementations, and compare performance.
Type
Publication
PQCrypto 2021
publications research

This work was also presented at the third NIST post-quantum cryptography standardization workshop.

Authors
Ruben Gonzalez
Authors
Andreas Hülsing
Authors
Juliane Krämer
Authors
Tanja Lange
Authors
Marc Stöttinger
Authors
Elisabeth Waitz
Thom Wiggers
Authors
Senior Cryptography Researcher
Thom Wiggers is a cryptography researcher at PQShield. His PhD thesis was on the interactions of post-quantum cryptography with protocols, under the supervision of Peter Schwabe, at the Institute of Computing and Information Sciences, Radboud University in The Netherlands.
Authors
Bo-Yin Yang