학술논문

A Unified Cryptoprocessor for Lattice-Based Signature and Key-Exchange
Document Type
Periodical
Source
IEEE Transactions on Computers IEEE Trans. Comput. Computers, IEEE Transactions on. 72(6):1568-1580 Jun, 2023
Subject
Computing and Processing
Cryptography
Digital signatures
NIST
Design methodology
Computer architecture
Hash functions
Computers
CRYSTALS-Dilithium
hardware implementation
lattice-based cryptography
post-quantum cryptography
saber
Language
ISSN
0018-9340
1557-9956
2326-3814
Abstract
We propose design methodologies for building a compact, unified and programmable cryptoprocessor architecture that computes post-quantum key agreement and digital signature. Synergies in the two types of cryptographic primitives are used to make the cryptoprocessor compact. As a case study, the cryptoprocessor architecture has been optimized targeting the signature scheme ’CRYSTALS-Dilithium’ and the key encapsulation mechanism (KEM) ’Saber,’ both finalists in the NIST's post-quantum cryptography standardization project. The programmable cryptoprocessor executes key generations, encapsulations, decapsulations, signature generations, and signature verifications for all the security levels of Dilithium and Saber. On a Xilinx Ultrascale+ FPGA, the proposed cryptoprocessor consumes 18,406 LUTs, 9,323 FFs, 4 DSPs, and 24 BRAMs. It achieves 200 MHz clock frequency and finishes CCA-secure key-generation/encapsulation/decapsulation operations for LightSaber in 29.6/40.4/ 58.3 $\mu$μs; for Saber in 54.9/69.7/94.9 $\mu$μs; and for FireSaber in 87.6/108.0/139.4 $\mu$μs, respectively. It finishes key-generation/sign/verify operations for Dilithium-2 in 70.9/151.6/75.2 $\mu$μs; for Dilithium-3 in 114.7/237/127.6 $\mu$μs; and for Dilithium-5 in 194.2/342.1/228.9 $\mu$μs, respectively, for the best-case scenario. On UMC 65 nm library for ASIC the latency is improved by a factor of two due to a 2× increase in clock frequency.