Cryptology ePrint Archive: Report 2021/108

Implementing CRYSTALS-Dilithium Signature Scheme on FPGAs

Sara Ricci and Lukas Malina and Petr Jedlicka and David Smekal and Jan Hajny and Petr Cibik and Patrik Dobias

Abstract: In July 2020, the lattice-based CRYSTALS-Dilithium digital signature scheme has been chosen as one of the three third-round finalists in the post-quantum cryptography standardization process by the National Institute of Standards and Technology (NIST). In this work, we present the first Very High Speed Integrated Circuit Hardware Description Language (VHDL) implementation of the CRYSTALS-Dilithium signature scheme for Field-Programmable Gate Arrays (FPGAs). Due to our parallelization-based design requiring only low numbers of cycles, running at high frequency and using reasonable amount of hardware resources on FPGA, our implementation is able to sign 15832 messages per second and verify 10524 signatures per second. In particular, the signing algorithm requires 68461 Look-Up Tables (LUTs), 86295 Flip-Flops (FFs), and the verification algorithm takes 61738 LUTs and 34963 FFs on Virtex 7 UltraScale+ FPGAs. In this article, experimental results for each Dilithium security level are provided and our VHDL-based implementation is compared with related High-Level Synthesis (HLS)-based implementations. Our solution is ca 114 times faster (in the signing algorithm) and requires less hardware resources.

Category / Keywords: implementation / Post-quantum cryptography, Post-quantum cryptography, Digital signatures, Number-theoretic transform, VHDL, FPGA implementation

Date: received 28 Jan 2021

Contact author: ricci at feec vutbr cz

Available format(s): PDF | BibTeX Citation

Version: 20210201:072156 (All versions of this report)

Short URL: ia.cr/2021/108


[ Cryptology ePrint archive ]