Paper 2023/1962

SoK: Polynomial Multiplications for Lattice-Based Cryptosystems

Vincent Hwang, Max Planck Institute for Security and Privacy
Abstract

We survey various mathematical tools used in software works multiplying polynomials in $\mathbb{Z}_q [x] / ⟨x^n −αx−β⟩$. In particular, we survey implementation works targeting polynomial multiplications in lattice-based cryptosystems Dilithium, Kyber, NTRU, NTRU Prime, and Saber with instruction set architectures/extensions Armv7-M, Armv7E-M, Armv8-A, and AVX2. There are three emphases in this paper: (i) modular arithmetic, (ii) homomorphisms, and (iii) vectorization. For modular arithmetic, we survey Montgomery, Barrett, and Plantard multiplications. For homomorphisms, we survey (a) various homomorphisms such as Cooley–Tukey FFT, Bruun’s FFT, Rader’s FFT, Karatsuba, and Toom– Cook; (b) various algebraic techniques for adjoining nice properties to the coefficient rings, including injections, Schönhage’s FFT, Nussbaumer’s FFT, and localization; and (c) various algebraic techniques related to the polynomial moduli, including twisting, composed multiplication, evaluation at ∞, Good–Thomas FFT, truncation, incomplete transformation, and Toeplitz matrix-vector product. For vectorization, we survey the relations between homomorphisms and the support of vector arithmetic. We then go through several case studies: We compare the implementations of modular multiplications used in Dilithium and Kyber, explain how the matrix-to-vector structure was exploited in Saber, and review the design choices of transformations for NTRU and NTRU Prime with vectorization. Finally, we outline several interesting implementation projects.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint.
Keywords
Lattice-based cryptographyPolynomial multiplicationModular arithmeticHomomorphismVectorization
Contact author(s)
vincentvbh7 @ gmail com
History
2024-04-19: last of 2 revisions
2023-12-26: received
See all versions
Short URL
https://ia.cr/2023/1962
License
No rights reserved
CC0

BibTeX

@misc{cryptoeprint:2023/1962,
      author = {Vincent Hwang},
      title = {SoK: Polynomial Multiplications for Lattice-Based Cryptosystems},
      howpublished = {Cryptology ePrint Archive, Paper 2023/1962},
      year = {2023},
      note = {\url{https://eprint.iacr.org/2023/1962}},
      url = {https://eprint.iacr.org/2023/1962}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.