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 65nm library for ASIC the latency is improved by a factor of two due to a 2x increase in clock frequency.
翻译:我们提议了用于构建压缩、统一和可编程的加密处理器结构的设计方法,以计算分子后密钥协议和数字签名。使用两种加密原始技术的协同作用使加密处理器压缩。作为案例研究,对加密处理器结构进行了优化,目标是签名计划“CRYSTALS-dilithium”和关键封装机制(KEM)“Saber”,两者都是NIST后分子加密标准化项目的决标方美元。 可编译的加密处理器执行关键代、封装、卸载、签字代代和签名验证。在Xilinx Ultracal+ FPGA上,拟议的加密处理器消耗18 406 LUTs、9 323 FF美元, 4 DSPs, 24 BRAMs 美元。在SLIMFSR.6-258和SISLS/408中,用于SLESISSSLSLSALS 5LS 530/3和SLSLSYSYSLA中, MASLSLSERLSERSER AS AS AS AS AS AS 2070.6, 20 20 20 0.9,使用200.6-39 0.9 和SICLVLVILILILILILVDRVDRVDRVA, 20, 20, 20,使用200 Misl) 和29.6 和29MFSMFSDRVFSDRMFSDRMFSO, 0.2, 0.2, 和MFSY, 0.8, 20, 和RMFSDRMFSDRMFSFSMFS, 和29, 20,使用中, 和39, 20xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,使用,使用,使用,使用,使用中,使用,使用,使用200MRMFSMFMFMFMFMRMFSO,使用,使用的加密/40,