● 摘要
非线性运算架构是对称密码算法不可或缺的组成部分,关系到算法的安全性与软硬件实现性能。本文对典型分组密码和序列密码非线性运算架构的数学模型开展研究,以加解密算法中最常用的布尔函数和向量值布尔函数(S盒)为研究对象,重点分析了高安全、高实现效率的非线性运算架构的设计方法与多模式设定方案。通过理论分析、数值实验以及与现有结果的对比,总结出了高性能非线性架构的设计规律。本文还给出若干设计实例,并对各项性质进行分析,通过比较论证其先进性。
本文总结了布尔函数的“双变元多项式表示”设计方法的一般规律,并用该方法设计了一类性质优良的含2k个变元的布尔函数。借助组合数学中的一些事实,严格证明了该函数的代数免疫度达到最优,通过数值实验证明了在变元数不超过16的条件下,该函数具备较强的抵抗快速代数攻击的能力。严格证明了函数满足一阶相关免疫并具备最大的代数次数2k-2,满足Siegenthaler界,并利用高斯和这一代数工具估算了函数非线性度的下界。通过与同类函数的比较,说明了本文构造的函数同时满足多个重要的密码学性质,整体安全性优于大部分现有结果,可作为序列密码算法或伪随机生成器的非线性架构。
本文提出了一类针对硬件实现的新型S盒,将有限域的求逆运算直接定义在复合域中,讨论了复合域中各级子域的构成以具备最佳硬件实现效率。复合域与原域的线性同构变换被消除,不仅使域构成更容易被确定,而且硬件实现效率也优于AES的S盒。本文还考察了基于复合域求逆的S盒的密码学性质,证明了复合域求逆的运算结构并没有降低整个非线性架构的安全性。最后证明了使用改进S盒的修正AES比原AES具备更强的代数免疫性,针对三种不同的有限域实施的代数攻击分别进行讨论。改进的S盒适用于资源严格受限的硬件产品,也可以作为轻量级分组密码算法的非线性设计素材。
为进一步提升非线性架构的灵活性与安全性,本文研究了非线性结构的多模式设定方案。先揭示了仿射等价与密码学性质之间的联系,接着提出了一种S盒的多模式设定方案,考察了安全性,并给出候选量的估计。随后重点考察了变元数为偶数的随机平衡布尔函数,发现非线性度的取值范围随着变元数的增大而增大,以较大的概率具有最优代数免疫度并达到几乎完美代数免疫函数的要求。
本文还深入讨论了高性能偶数变元布尔函数的设计规律,通过大量的数值实验结合现有结果,提出了五大设计猜想,总结了快速代数攻击代数免疫度、一阶相关免疫、代数次数、非线性度等密码学性质与支集模型中的本原元参数、子集合组成、集合间的互补与集合间的映射等因素之间的对应关系,可作为布尔函数的设计依据。接着,根据相应的规律设计了第二类含2k个变元的布尔函数,并证明该函数具有最优代数免疫度,最高的代数次数2k-1,通过数值实验验证函数具有更高的非线性度和良好的快速代数攻击代数免疫度。
相关内容
相关标签