Paper 2022/112

Faster Kyber and Dilithium on the Cortex-M4

Amin Abdulrahman, Vincent Hwang, Matthias J. Kannwischer, and Daan Sprenkels

Abstract

This paper presents faster implementations of the lattice-based schemes Dilithium and Kyber on the Cortex-M4. Dilithium is one of the three signature finalists in the NIST post-quantum project (NIST PQC), while Kyber is one of the four key-encapsulation mechanism (KEM) finalists. Our optimizations affect the core polynomial arithmetic using the number-theoretic transform (NTT) of both schemes. Our main contributions are threefold: We present a faster signed Barrett reduction for Kyber, propose to switch to a smaller prime modulus for the polynomial multiplications \(c\mathbf{s}_1\) and \(c\mathbf{s}_2\) in the signing procedure of Dilithium, and apply various known optimizations to the polynomial arithmetic in both schemes. Using a smaller prime modulus is particularly interesting as it allows using the Fermat number transform resulting in especially fast code. We outperform the state-of-the-art for both Dilithium and Kyber. For Dilithium, our NTT and iNTT are faster by 5.2% and 5.7%. Switching to a smaller modulus results in speed-up of 33.1%-37.6% for the relevant operations (sum of basemul and iNTT) in the signing procedure. For Kyber, the optimizations results in 15.9%-17.8% faster matrix-vector product which presents the core arithmetic operation in Kyber.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint. MINOR revision.
Keywords
DilithiumKyberNIST PQCFermat Number TransformNumber-Theoretic TransformArm Cortex-M4
Contact author(s)
amin abdulrahman @ mpi-sp org
vincentvbh7 @ gmail com
matthias @ kannwischer eu
daan @ dsprenkels com
History
2022-05-13: revised
2022-01-31: received
See all versions
Short URL
https://ia.cr/2022/112
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2022/112,
      author = {Amin Abdulrahman and Vincent Hwang and Matthias J.  Kannwischer and Daan Sprenkels},
      title = {Faster Kyber and Dilithium on the Cortex-M4},
      howpublished = {Cryptology ePrint Archive, Paper 2022/112},
      year = {2022},
      note = {\url{https://eprint.iacr.org/2022/112}},
      url = {https://eprint.iacr.org/2022/112}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.