Optimized Vectorization Implementation of CRYSTALS-Dilithium
Jieyu Zheng, Haoliang Zhu, Zhenyu Song, Zheng Wang, Yunlei Zhao

TL;DR
This paper presents optimized AVX-512 vectorized implementations of CRYSTALS-Dilithium, significantly improving its efficiency in key generation, signing, and verification on x86-64 CPUs, setting new performance benchmarks.
Contribution
It introduces a highly optimized AVX-512 implementation of Dilithium, including novel polynomial multiplication and reduction techniques, enhancing speed and efficiency.
Findings
Performance improvements of up to 47.4% in verification
Achieved the best Dilithium performance on x86-64 CPUs
Significant speedups in key generation and signing processes
Abstract
CRYSTALS-Dilithium is a lattice-based signature scheme to be standardized by NIST as the primary post-quantum signature algorithm. In this work, we make a thorough study of optimizing the implementations of Dilithium by utilizing the Advanced Vector Extension (AVX) instructions, specifically AVX2 and the latest AVX-512. We first present an improved parallel small polynomial multiplication with tailored early evaluation (PSPM-TEE) to further speed up the signing procedure. Our PSPM algorithm outperform the NTT by 47%-66% in AVX2 and AVX-512 implementation. We then present a tailored reduction method that is simpler and faster than Montgomery reduction. We minimize the CPU cycles of tailored reduction AVX-512 implementation by using AVX-512IFMA. Finally, we propose a fully and highly vectorized implementation of Dilithium using AVX-512. This is achieved by carefully vectorizing most of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCryptography and Residue Arithmetic · Coding theory and cryptography · Parallel Computing and Optimization Techniques
