KiD:面向FPGA上CRYSTALS-Kyber与CRYSTALS-Dilithium统一NTT乘法的硬件设计框架
硬件体系结构
2023-11-09 v1 密码学与安全
摘要
大次数多项式乘法是基于格的后量子安全密码算法(如 CRYSTALS-Kyber 和 Dilithium)的核心组成部分。大次数多项式乘法的计算复杂度可通过数论变换(NTT)显著降低。本文旨在开发一种统一且共享的 NTT 架构,可支持 CRYSTALS-Kyber 与 Dilithium 的多项式乘法。更具体地,本文针对 CRYSTALS-Kyber 与 Dilithium 中的 NTT 乘法提出了三种具有不同数量可配置基-2 蝴蝶单元的统一架构。此外,所实现的方案配以无冲突内存映射方案,使架构可全流水线化。我们在 Artix-7、Zynq-7000 与 Zynq Ultrascale+ FPGA 上验证了实现。我们针对 CRYSTALS-Kyber 与 Dilithium 的独立 NTT 乘法实现优于现有工作,且我们的统一架构相比独立与现有统一实现均展现出优异的面积与时序性能。该架构有望用于 CRYSTALS-Kyber 与 Dilithium 的紧凑高效实现。
引用
@article{arxiv.2311.04581,
title = {KiD: A Hardware Design Framework Targeting Unified NTT Multiplication for CRYSTALS-Kyber and CRYSTALS-Dilithium on FPGA},
author = {Suraj Mandal and Debapriya Basu Roy},
journal= {arXiv preprint arXiv:2311.04581},
year = {2023}
}