摘要
随着近年来量子计算技术的飞速发展,基于RSA和离散对数问题的经典公钥密码算法受到严峻的安全威胁,现有密码系统向后量子密码的迁移日趋紧迫。后量子密码是指能够抵抗传统计算机和量子计算机攻击,且适合在传统计算平台上实现和使用的密码算法。美国国家标准与技术研究院已在推动后量子密码算法的标准化,并计划于2024年形成算法标准。在候选算法中,基于格的算法在性能和密钥尺寸等方面具有显著优势,将是量子时代的主流算法类型。然而,格后量子密码中的数据结构和关键运算与经典算法不同,导致现有软硬件密码设备中的实现模块或协处理器将不再适用,这给密码设备的算法迁移带来了新的挑战。 密码的应用场景存在差异化的需求,数据中心等场景需要高性能的密码服务,物联网等场景对密码实现的资源占用和能耗等方面敏感,银行卡等高安全密码设备对实现的物理安全有更高的要求。本文针对不同密码设备的需求,研究后量子密码实现的关键技术,围绕高性能、资源集约和高安全等设计目标,开展了以下关键技术的研究工作: 针对格后量子密码中数论变换这一关键运算,提出了面向高性能场景的实现技术。首先,分析了现有的有限域模约减算法,发现不完全模约减技术能够明显改善电路延迟,据此设计了适用于FPGA的小完全模约减模块,能够以高工作频率实现有限域算术逻辑。其次,采用优化预计算参数的方式消去不完全模约减引入的模乘参数,避免了额外的运算时延。最后,设计了适合多个处理单元并行计算的数据调度技术,能够在无需乒乓存储单元的情况下支持定常结构的数论变换实现。实验结果表明,本工作所设计的高性能数论变换处理器能够以更低的时延完成数论变换运算,相比现有的硬件实现,面积效率提高3.84倍。 针对典型后量子密码算法Kyber中多项式向量的数据结构,提出了资源集约型的实现技术。首先根据数据结构和运算范式中的特点,分析多项式向量中涉及的运算类型,采用算术逻辑复用技术,最大化复用模乘等运算单元。其次设计了适用于多项式向量的双列顺序存储结构,能够将系数存取带宽翻倍且不产生额外的存储开销。最后,简化了数论变换中的复杂控制逻辑,能够减少约50%的控制电路资源消耗。实验结果表明,所设计的处理器面积消耗极低,面积效率比现有工作提升1.65倍。 针对多项式运算的物理安全性,提出了分析物理安全性的新方法并给出低成本的防护技术。首先通过分析发现数论变换是格后量子密码中敏感且容易发生能量泄露的操作,并阐述了收集其能量迹的方法。其次提出高效的相关能量分析技术,能够大幅缩短提取Dilithium算法密钥的耗时。为抵御现有的多种攻击风险,本文提出适用于数论变换的置乱技术,对逐系数运算和数论变换提供基于时间的侧信道防护。进一步,本文设计了适用于置乱技术的硬件架构,能够以极低的代价实现较好的安全特性。实验表明,所提出的防护技术仅额外消耗9%的逻辑资源,且不影响性能。 本研究的实现结果表明,格后量子密码能够广泛适配高性能,资源受限、高安全需求等场景。所提出关键技术解决了后量子密码处理器设计的多个关键问题,涵盖了密码应用的核心需求,可为下一代密码设备的设计与实现提供技术参考。