专利名称:一种对称密钥加密的非线性变换方法及其实现装置的制作方法
技术领域:
本发明属于信息安全领域,具体涉及到一种分组密码算法中的非线性变换(S盒) 的设计及其复合域硬件实现方式。
背景技术:
信息安全涉及到信息的保密性、完整性、认证性等内容。其中,密码理论是信息安 全的基础。密码算法主要分为对称密码算法和非对称密码算法两大类。对称加密算法指加 密密钥和解密密钥相同,或知道密钥之一很容易推导得到另一个密钥。通常情况下,对称密 码算法的设计不仅要考虑到算法的安全强度,更要注重算法的实现性能软件实现性能和 硬件实现性能。软件实现主要考虑的是算法的实现速度以及与内存的需求,有时候还与具 体运行环境(如CPU的计算能力)以及源代码的质量有关。硬件实现因为具备更高的速度 和更强的物理安全性,实现价值更强,但除了实现的速度与内存,硬件实现的总体代价也是 必须考虑的。以分组密码为例,一个分组密码算法大体上都包含混淆层与扩散层。混淆层一般 是用若干并置、独立的S盒构成,作为提供混淆作用的部件,S盒多采用随机置换或有限域 上的非线性函数,而扩散层则多采用线性变换。从算法实现的角度来看,线性变换的复杂度 相对较低,因此混淆层的实现方式,特别是S盒的实现方式在很大程度上决定了整个密码 算法的实现性能,这也是分组密码的研究热点之一。作为分组密码的典型代表,高级加密标 准(AES)的S盒是用有限域GF(28)上的求乘法逆和GF(2)上的仿射变换复合而成。根据 设计者的介绍,该S盒所选取的函数具备比较理想的密码学性质。然而,因为代数结构过于 清晰简洁,以有限域求逆复合放射变换作为S盒并不具备较强的抗代数攻击的性能。AES的S盒的软件实现一般采用查表的方式,但8X8的S盒的存储量为28X8比 特,这对于芯片面积有着严格要求的嵌入式系统是难以接受的。因此对于S盒的硬件实现, 必须作相应的转化,特别针对于其中求乘法逆这一非线性操作。目前比较流行的技术是引 入元素的复合域表示,其基本思想是通过一个可逆的线性变换T将原域GF (28)上的每个元 素映射到复合域GF((24)2)上同构的元素,并在复合域GF((24)2)中求乘法逆,再用线性变换 T1还原到原域进行余下的操作。这种基于复合域的转化方法有效地减少了芯片的面积,对 于硬件实现来说既减少开销,又避免了内存读写数据产生的延迟。不过原域与复合域之间 的转化,以及复合域求逆引入的一系列子域GF(24)的运算。综上所述,一个好的密码算法应当既具备理想的安全强度,又能在软硬件实现中 体现出优越性。但算法理论上的安全性与实际的实现性能往往是一对矛盾,如何在其中找 到一个平衡点是一个非常复杂的问题。
发明内容
本发明旨在提供一种密码学性能较强的8 X 8的S盒,在保持AES的S盒原有的结 构和密码学性质的基础上,通过增加非线性运算的次数,在提高S盒的代数免疫度的同时又不降低其复合域硬件实现方式的复杂度。本发明的技术方案概述如下一种对称密钥加密的非线性变换方法,该非线性变换可看作一个8X8的S盒,其 特征在于,-该S盒选自于有限域 GF (28) = GF(2)/(x8+x4+x3+x2+l), GF(28)中的任一元素 χ 均可看作一个字节,记X = (X7, X6, L,X0)T, Xi e GF⑵代表字节χ不同的比特位。-该S盒的运算为S :GF(28) — GF(28)χ a y = f(p(g(x)))代数结构见
图1,以下说明所用的符号与图1 一致。-S盒由有限域中的三个函数复合而成,其中函数g(x)表示有限域GF(28)中的乘 法逆函数
g :GF(28) — GF (28)
X SW = X1
-p(w)定义有限域GF (28)中的一个线性化单项式 ρ :GF(28) — GF (28) w a ζ = W8
-f(z)是向量空间(GF(2))8上的仿射变换,符号Θ表示异或(模2加)
权利要求
1. 一种对称密钥加密的非线性变换方法,所述非线性变换为-在于,_ 所述 S 盒选自于有限域 GF (28) = GF (2) / (χ8+χ4+χ3+χ2+1); -所述S盒的运算为 S :GF (28) — GF (28) χ a y = f (ρ (g (χ)))其中g(x)表示有限域GF (28)中的乘法逆函数 g :GF (28) — GF (28).X SW = X1p(w)为有限域GF(28)中的一个线性化单项式 ρ :GF (28) — GF (28). w a ζ = W8f(z)是向量空间(GF(2))8上的仿射变换-个8X8的S盒,其特征
2.如权利要求1所述的方法,其特征在于,所述S盒对数据的处理过程如下 -对输入的8比特数据进行线性变换;-在复合域GF ((24)2)中求逆; -对上一步输出的8比特数据进行仿射变换AB。
3.如权利要求2所述的方法,其特征在于,所述复合域GF((24)2) =GF(24)/(x4+x+A), λ = ω14 = ω3+1 e GF(24),ω 是子域 GF(24)的本原元,GF(24) = GF(2)/(χ4+χ+1)。
4.一种实现权利要求1所述方法的装置,其特征在于,所述装置包括如下模块 -T模块,实现线性变换矩阵 -复合域求逆模块,实现GF ((24)2)的求逆操作_仿射变换模块AB,实现y
5.如权利要求4所述的装置,其特征在于,所述复合域求逆模块的实现被分解为 GF(24)的乘法、平方、常量乘法与求逆的运算。
6 .如权利要求5所述的装置,其特征在于,所述乘法运算对应于
7.如权利要求5所述的装置,其特征在于,所述平方运算对应于
8.如权利要求5所述的装置,其特征在于,所述常量乘法运算对应于
9.如权利要求5所述的装置,所述求逆运算对应于
全文摘要
本发明提供了一种对称密钥加密的非线性变换方法及装置,可作为S盒直接使用,该S盒使用有限域上的函数复合仿射变换,在保持AES的S盒原有的结构和密码学性质的基础上,通过增加非线性运算的次数,在提高S盒的代数免疫度的同时又不降低其复合域硬件实现方式的复杂度。本发明还提供了实现该S盒的硬件实现方法,该方法引入了元素的复合域表示,把原域的求逆转化为复合域的求逆,并将若干线性与仿射变换进行合并,其中复合域求逆涉及到的子域上的运算,包括乘法、平方、常量乘法和求逆等均转化为比特之间的异或运算和与运算。整个S盒的硬件实现过程只需使用简单的逻辑门电路,无需查表,减少了硬件实现的开销,并降低了路径延迟。
文档编号H04L9/06GK102006161SQ20101056977
公开日2011年4月6日 申请日期2010年12月2日 优先权日2010年12月2日
发明者张筱, 王文华, 王钊, 邱望洁, 郑志明, 郭炳晖, 高莹 申请人:北京航空航天大学