A Unified Cryptoprocessor for Lattice-based Signature and Key-exchange

10/13/2022
by   Aikata Aikata, et al.
0

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μs; for Saber in 54.9/69.7/94.9μs; and for FireSaber in 87.6/108.0/139.4μs, respectively. It finishes key-generation/sign/verify operations for Dilithium-2 in 70.9/151.6/75.2μs; for Dilithium-3 in 114.7/237/127.6μs; and for Dilithium-5 in 194.2/342.1/228.9μs, respectively, for the best-case scenario. On UMC 65nm library for ASIC the latency is improved by a factor of two due to a 2x increase in clock frequency.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset