基于SPN结构的抗量子分组加密算法GiantWhale
2026/7/24 23:31:02 网站建设 项目流程

基于SPN结构的抗量子分组加密算法GiantWhale

我们知道,量子计算机对RSA和ECC等非对称加密算法的威胁非常大,对AES、ARIA和SM4等对称加密算法的威胁则较小。就目前来说,量子算法对对称加密算法分支之一的分组加密算法有两大威胁:

(1)Grover算法,也称为Grover搜索算法,是量子计算领域中的一个著名算法,由Lov Grover在1996年提出。它主要用于在无序或无结构数据库中寻找一个特定的元素。Grover算法通过量子叠加(quantum superposition)和量子并行性(quantum parallelism)的特性,显著提高了在非结构化数据中查找特定项的效率。尽管Grover算法最初是为解决经典优化问题设计的,但它也可以被应用于加密和安全领域,尤其是在分组加密(如AES)的某些方面。Grover算法与分组加密的潜在联系

1.密钥搜索攻击

在分组加密算法中,如AES,攻击者可能会尝试通过暴力搜索方法来找到正确的密钥。Grover算法可以加速这一过程,特别是在密钥空间非常大的情况下。传统的暴力搜索方法会尝试所有可能的密钥组合,这种方法的时间复杂度非常高。而Grover算法通过量子并行性,能够在较短的时间内找到正确的密钥,从而对分组加密算法构成威胁。

2.加速密码分析

除了密钥搜索外,Grover算法还可以被用于加速密码分析的过程。例如,它可以用于加速寻找加密算法中的弱密钥或寻找加密模式中的漏洞。通过量子计算,Grover算法能够更快速地探索加密算法的潜在弱点。

实际应用中的挑战与防御

尽管Grover算法在某些情况下可能对分组加密算法构成威胁,但目前量子计算机的能力还不足以在实际中大规模部署Grover算法来攻击现有的分组加密算法。当前的量子计算机还面临许多技术挑战,如量子比特(qubits)的错误率、量子门操作的精确控制等。

为了防御基于Grover算法的攻击,可以采取以下措施:

1.使用强加密标准

采用如AES(美国)、SM4(中国)、ARIA(韩国)和Camellia(欧洲)等经过良好设计和分析的加密标准。这些标准通常具有抵抗已知攻击的强度。

2.量子安全加密

研究并开发基于量子力学原理的加密方法,如基于格(lattice-based)的加密方案或基于量子密钥分发协议(如BB84协议)的安全通信协议。

3.量子硬件冗余和错误纠正

发展更先进的量子硬件和错误纠正技术,以减少量子比特错误率,增强量子计算系统的可靠性

(2)量子 Simon 算法对特定结构(如 Feistel、Even-Mansour)的分组密码构成多项式时间密钥恢复威胁,主要破坏3-6简化版本的安全性,但对完整轮数的现代分组密码(如标准 SIMON、AES)暂无直接实用破解能力,核心风险在于量子选择明文攻击(qCPA)模型下的结构区分与部分子密钥泄露‌‌

核心威胁机制与受影响结构

  • 攻击原理‌:利用量子叠加态在时间内寻找函数的隐藏周期(即密钥相关掩码),将经典需的碰撞搜索降为多项式复杂度 。
  • 高危结构‌:
    • Feistel网络‌:3 轮 Feistel 结构可在 qCPA 下被区分并恢复部分轮密钥;6 轮 SIMON 密码在特定构造下可被恢复 4 个轮密钥 。
    • Even-Mansour (EM)结构‌:可在时间内直接恢复固定周期(即主密钥),3 轮 EM 结构在量子条件下不安全 。
    • 其他结构‌:LRW、XEX、CBC-MAC 等模式在多项式时间内存在被攻击的理论可能 。
  • 关键前提‌:攻击者需具备‌量子选择明文访问能力‌(可向量子 Oracle 提交叠加态明文),且目标算法需能构造出满足 Simon 问题条件()的周期函数 。‌‌

对具体算法(含 SIMON 密码)的实际影响

  • SIMON轻量级密码‌:
    • 3轮版本‌:可被完美区分于随机置换,完全不安全 。
    • 6轮版本‌:研究证实可恢复 4 个轮密钥,但需构造特定辅助函数且依赖参数上界估计 。
    • 标准轮数版本‌(如 SIMON-64/128 需 32 轮):当前研究‌未突破‌其完整轮数的安全性,Simon 算法无法直接破解全轮 SIMON,主要威胁仍来自 Grover 算法导致的密钥空间平方根加速(需将密钥长度加倍以抗量子)。
  • 通用分组密码‌:AES 等 SPN 结构因缺乏明显的周期性对称特征,难以直接构造 Simon 问题所需的函数,受 Simon 算法直接威胁较小,但仍需警惕针对其特定模式(如 MAC 生成)的变种攻击 。‌‌

防御建议与现状评估

  • 当前状态‌:该威胁主要存在于‌理论模型‌(qCPA)中,依赖大规模容错量子计算机,短期内无工程实现风险 。
  • 设计对策‌:
    1. 增加安全轮数‌:确保结构安全轮数远高于 Simon 攻击有效的轮数(如 Feistel 结构需>6 轮)。
    2. 避免周期性构造‌:在算法设计中引入非周期性的轮密钥调度或非线性层,破坏的构造条件 。
    3. 密钥长度升级‌:针对量子通用威胁(Grover 算法),对称密钥长度应加倍(如 128 位升至 256 位),而非仅依赖抵抗 Simon 算法 。

抗量子分组加密算法设计策略:三管齐下构建防御

为了应对上述量子威胁,当前的设计策略主要有三条路径:

  1. 参数强化(最直接):将经典算法的密钥和状态大小加倍。例如,使用AES-256,或在现有算法基础上构建“双重”版本。研究提出的QuEME通用构造法就是通过加倍密钥和状态大小来提供量子安全保障。
  2. 结构创新(最根本):设计能抵抗Simon算法攻击的新型密码结构。例如,越南提出的MKV算法采用了“四叶草(FLC)”方案和“替换-扩散-替换(SDS)”轮函数。这种新结构旨在实现可证明的量子安全性。
  3. 混合设计:结合多种经典安全元素(如ARX结构、SPN结构与Feistel结构等)与抗量子设计理念,在保证效率的同时提升安全性。

综上所述,我们应该选择使用更长的密钥新型密码结构来设计抗量子分组加密算法。

GiantWhale(巨鲸)为基于SPN结构设计的分组加密算法,其分组大小为512比特(共分为16个32位字),主密钥长度也为512比特,轮密钥长度也为512比特(共分为16个32位字),加解密算法循环轮数为32轮。

GiantWhale加密算法如下图所示:

GiantWhale解密算法如下图所示:

我们先来看GiantWhale的轮函数(由5步构成)。

(1)Substitution(S盒替换)

如上图所示,加密过程中的512比特 (64字节)(x0,x1,…,x62,x63)中间状态平行独立地进入64个相同的S盒,输出被S盒替换后的64个字节(y0,y1,…,y62,y63)。该8比特S盒的查找表如下图所示:

S盒的各项密码学指标如下图所示:

由上图可以看出GiantWhale算法的S盒密码学性质与AES算法的S盒相当,能够很好的抵抗差分和线性密码分析,故该S盒可以在分组加密算法中使用。

(2)Permutation8(P盒置换(以8比特字节为单位))

首先,将512比特中间状态平均分为4个128比特块,然后对每个128比特块执行相同的Permutation8置换如上图所示,每个128比特的块可以平均分为16字节(x0,x1,…,x14,x15),中间状态根据置换表变换位置而不改变其值,输出被P盒变换位置后的16字节(y0=x0,y1=x4,…,y14=x11,y15=x15)。不难发现,Permutation8为对合变换。Permutation8盒的置换表如下图所示:

(3)LLLL(线性变换)

将上个过程中输出的512比特的中间状态分为16个32位字,其中X0=x3||x2||x1||x0,X1=x7||x6||x5||x4,…,X14=x59||x58||x57||x56,X15=x63||x62||x61||x60,X0,X1,…,X14和X15均为32位字。然后将X0输入LLLL0输出为Y0,X1输入LLLL1输出为Y1,…,X14输入LLLL2输出为Y14和X15输入LLLL3输出为Y15。具体操作如下图所示:

其中LLLL0,LLLL1,LLLL2和LLLL3均为对合变换(逆变换为其自身),分支数均为4。

(4)Permutation32(P盒置换(以32比特字为单位))

将512比特中间状态平均分为16个32比特块,然后对16个32位字执行Permutation32置换如上图所示,中间状态根据置换表变换位置而不改变其值,输出被P盒变换位置后的16个32位字(Y0=X0,Y1=X4,…,Y14=X11,Y15=X15)。不难发现,Permutation32为对合变换。Permutation32盒的置换表(与Permutation8相同)如下图所示:

(5)AddRoundKey(轮密钥加)

将上个过程中输出的16个32位字的中间状态分别依次异或对应位的32位密钥字,具体操作如下图所示:

GiantWhale的密钥扩展算法(KeyExtend)

因为国产密码杂凑算法SM3的消息扩展算法MsgExtend兼具效率和安全性,所以我们选取MsgExtend作为密钥扩展算法,为了适应GiantWhale算法,我们使用修改后的MsgExtend作为密钥扩展算法。我们需要生成528个32位消息字作为轮密钥,而SM3算法的MsgExtend只需生成64个32位消息字。

总结

抗量子分组加密算法的设计与分析现状可以概括为:

  • 短期策略:升级到AES-256是应对量子威胁最直接、最有效的措施。
  • 长期策略:学术界正通过结构创新(如MKV)和通用构造(如QuEME),设计能抵御所有已知量子攻击的新算法。
  • 核心挑战:为大量现有系统设计安全、高效的迁移路径,并持续探索新的量子攻击方法。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询