Paper 2023/1962 Original: eprint.iacr.org/2023/1962 ↗

A Survey of Polynomial Multiplications for Lattice-Based Cryptosystems

Vincent Hwang
Abstract

We survey various mathematical tools used in software works multiplying polynomials in \[ \frac{\mathbb{Z}_q[x]}{\left\langle {x^n - \alpha x - \beta} \right\rangle}. \] 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, Good--Thomas FFT, Bruun's FFT, Rader's FFT, Karatsuba, and Toom--Cook; (b) various algebraic techniques for adjoining nice properties to the coefficient rings, including localization, Schönhage's FFT, Nussbaumer's FFT, and coefficient ring switching; and (c) various algebraic techniques related to the polynomial moduli, including twisting, composed multiplication, evaluation at $\infty$, truncation, incomplete transformation, striding, and Toeplitz matrix-vector product. For vectorization, we survey the relations between homomorphisms and 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.
History
2024-06-19: last updated
2023-12-26: published
Short URL
https://ia.cr/2023/1962
License
https://creativecommons.org/publicdomain/zero/1.0/

BibTeX

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