早期基于格的后量子密码方案虽然很少涉及具体的NIST候选方案,但是专用模块的硬件优化设计为整体的第三轮候选密码方案,如CRYSTALS-KYBER(简称Kyber)、SABER(也称Saber)和NTRU的实现奠定了基础。目前,使电子设备支持后量子密码(PQC)方案仍是一项具有挑战性的任务,特别是对于低成本和资源限制的IoT设备,通常需要硬件加速来满足一定的性能需求。此外,由于PQC的标准化过程仍在进行中,因此硬件实现效率是NIST PQC标准化的一个重要评价标准,同时也需要充分关注格密码方案硬件实现的灵活性。
为了满足灵活性和适配性的需求,软硬件协同设计技术逐渐出现在格密码方案的实现研究中。其中,最有突破性工作的是利用RISC-V指令集将使用NTT算子的第二轮后量子密码协议集成到一块芯片中并流片 [1] 。此外,Alkim等人 [2] 提出并评估了自定义扩展的用于有限域算法的RISC-V指令集:通过在Kyber和NewHope密钥封装方案的应用说明评估扩展的有效性;通过自定义指令集替换格密码方案中完整的通用乘法器,以实现非常紧凑的设计。Fritzmann等人 [3] 提出了一个增强型的RISC-V架构,集成了一组硬件加速器,扩展了RISC-V指令集使其能有效执行基于格的密码操作,同时在ASIC和FPGA平台上实现了此架构。他们基于RISC-V架构分别在ASIC和FPGA平台上评估了NewHope、Kyber和Saber,相较于纯软件实现,性能获得了很大的提升。Xin等人 [4] 针对5G通信高吞吐量和多样化应用场景的需求,研究了NTT的矢量化和采样算法,利用RISC-V的自定义指令扩展,开发了一个高性能的矢量体系结构及基于此结构的处理器。与以前最先进的实现相比,该处理器在计算KEM协议方面(NewHope、Kyber和LAC)实现了数量级的加速,从而为安全应用程序提供了一个高速PQC平台。
一种后量子密码协议集成芯片的架构如图3-1所示。该芯片具备指令集控制的模式,主要包括核心运算结构(多项式乘法器)、伪随机数生成(SHA-3)和数据生成(多功能采样器)这三个主要部分。其中,多项式乘法器由蝶形结构和算术单元构成,搭配对称LWE缓存缩短访存等待时间;并在采样器中集成多种功能的采样。
图3-1 一种后量子密码协议集成芯片的架构 [5]
为了实现高性能和高硬件效率,硬件加速单元和协处理器等架构方案也备受青睐。2020年,Xing等人 [6] 提出了一种高效的纯硬件NewHope密钥交换协议结构,采用乒乓RAM结构,使用4个蝶形变换单元提升了NTT的运算速度。在最新的研究中,Zhang等人 [7] 通过将前处理和后处理环节与NTT蝶形变换过程融合,利用低复杂度的NTT结构提高了Newhope密钥交换协议实现的效率。Zhu等人 [8] 和Roy等人 [9] 通过不同的方式对基于Module-LWR的Saber协议进行了硬件加速单元的实现,Zhu等人 [8] 采用分层Karatsuba算法框架,利用硬件效率高的Karatsuba算法调度策略优化多项式乘法电路结构以实现高吞吐量。此外,为了在Saber的不同版本和不同阶段之间实现可配置设计,密码处理器的系统结构组件采用了多参数设计的思想。Roy等人 [9] 提出了一种基于格密码方案的指令集协处理器体系结构,为了实现快速计算,该体系结构完全通过硬件结构实现,并提出了一种基于Schoolbook的并行多项式乘法器结构,克服了内存访问瓶颈,实现了高度并行、简单且易于扩展的设计。Mera等人 [10] 在Xilinx Zynq设备上实现了Saber软硬件协处理器,将FPGA集成到ARM处理器上。Zynq设备支持基于AXI的通信接口,用于ARM核心和FPGA中任何硬件模块的交互,利用Toom-Cook多项式乘法硬件模块与ARM处理器数据交互处理和微架构层次上的分布式计算思想,以低资源开销实现,与优化的软件实现相比大约有6倍的加速。如何在满足性能、资源和功耗上的不同需求条件下,选择最优的后量子密码方案整体架构实现方式是亟待解决的问题。