Implementing CRYSTALS-Dilithium Signature Scheme on FPGAs

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.

[1]  Nikil Dutt,et al.  Post-quantum Lattice-based Cryptography Implementations: A Survey , 2019 .

[2]  Adrian Marotzke A Constant Time Full Hardware Implementation of Streamlined NTRU Prime , 2020, IACR Cryptol. ePrint Arch..

[3]  Yuan Ma,et al.  High-performance area-efficient polynomial ring processor for CRYSTALS-Kyber on FPGAs , 2021, Integr..

[4]  Tim Moses Director Quantum Computing and Cryptography , 2009 .

[5]  Damien Stehlé,et al.  CRYSTALS-Dilithium: A Lattice-Based Digital Signature Scheme , 2018, IACR Trans. Cryptogr. Hardw. Embed. Syst..

[6]  Petr Dzurenda,et al.  Towards Practical Deployment of Post-quantum Cryptography on Constrained Platforms and Hardware-Accelerated Platforms , 2019, SECITC.

[7]  Matthew B. Hastings,et al.  Hybrid quantum-classical approach to correlated materials , 2015, 1510.03859.

[8]  Martin R. Albrecht,et al.  Large Modulus Ring-LWE ≥ Module-LWE , 2017, ASIACRYPT.

[9]  Andrea Basso,et al.  High-speed Instruction-set Coprocessor for Lattice-based Key Encapsulation Mechanism: Saber in Hardware , 2020, IACR Cryptol. ePrint Arch..

[10]  Daniel J. Bernstein,et al.  Introduction to post-quantum cryptography , 2009 .

[11]  Denisa O. C. Greconici,et al.  Compact Dilithium Implementations on Cortex-M3 and Cortex-M4 , 2020, IACR Cryptol. ePrint Arch..

[12]  Damien Stehlé,et al.  Worst-case to average-case reductions for module lattices , 2014, Designs, Codes and Cryptography.

[13]  Jakub Szefer,et al.  FPGA-based Niederreiter Cryptosystem using Binary Goppa Codes , 2018, IACR Cryptol. ePrint Arch..

[14]  X-Q Zhou,et al.  Experimental realization of Shor's quantum factoring algorithm using qubit recycling , 2011, Nature Photonics.

[15]  Kris Gaj,et al.  High-speed FPGA Implementation of the NIST Round 1 Rainbow Signature Scheme , 2018, 2018 International Conference on ReConFigurable Computing and FPGAs (ReConFig).

[16]  Ramesh Karri,et al.  NIST Post-Quantum Cryptography- A Hardware Evaluation Study , 2019, IACR Cryptol. ePrint Arch..

[17]  Daniel Smith-Tone,et al.  Report on Post-Quantum Cryptography , 2016 .

[18]  Ramesh Karri,et al.  A Hardware Evaluation Study of NIST Post-Quantum Cryptographic Signature schemes , 2019 .

[19]  Ramesh Karri,et al.  Hardware Architectures for Post-Quantum Digital Signature Schemes , 2021 .

[20]  Craig Gentry,et al.  (Leveled) Fully Homomorphic Encryption without Bootstrapping , 2014, ACM Trans. Comput. Theory.