Paper 2022/112

Faster Kyber and Dilithium on the Cortex-M4

Amin Abdulrahman
Vincent Hwang
Matthias J. Kannwischer
Amber 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
Published elsewhere. ACNS 2022
Keywords
Dilithium Kyber NIST PQC Fermat Number Transform Number-Theoretic Transform Arm Cortex-M4
Contact author(s)
amin abdulrahman @ mpi-sp org
vincentvbh7 @ gmail com
matthias @ kannwischer eu
amber @ electricdusk com
History
2022-11-04: last of 2 revisions
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 Amber 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.