欢迎来到天天文库
浏览记录
ID:40571028
大小:276.50 KB
页数:5页
时间:2019-08-04
《Serpent的差分代数分析(修改6)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、serpent加密算法的差分代数攻击胡志华1,2(1.武汉大学计算机学院,武汉,430079;2湖北黄冈师范学院数学与信息科学学院,黄冈,438000)摘要研究了Serpent加密算法的差分特征,利用构造S盒代数方程的方法,提出了8轮Serpent-128的差分代数攻击方法。该方法分析8轮Serpent-128需要对选择性明文,次8轮加密和次次8轮解密,记忆存储空间为分组的空间来猜测8轮Serpent-128加密密钥的14位。关键词代数攻击XSLboomeran攻击Rectangle攻击中图分类号:TP391.41文献标识码:A文章编号:2001年Nicolas和Pieprzyk设计了
2、一个攻击Serpent和AES的代数攻击新方法-XSL(eXtendedSparseLinearization)攻击[1]。他们把对Serpent和AES的密码分析简化为解多元二次方程组问题(即MQ难题)。XSL攻击的关键技术就算把分组密码的非线性部分用二次方程的形式描述,然后用XSL方法将其超定并用线性化的方法求解。但是该攻击方法能否有效一直是一个开放的课题。2005年CarlosCid等人揭示了XSL[2]攻击本质,并指出XSL攻击对Serpent和AES构成的方程系统无效。但是Courtois等人揭示的分组密码的非线性部件存在隐含的方程组对密码分析提供了新的研究方向。本文分析分组
3、密码Serpent[3]的非线性部件存在隐含的方程组,同时结合boomeran[4][5]攻击、Rectangle[5][6]攻击的技术,设计一种称为差分代数攻击的新方法。并提出8轮Serpent-128的差分代数攻击方法.1差分代数分析Serpent[7]是高级加密标准的最后5个侯选算法之一,其得票仅次于AES。该算法是一个32轮SPN结构的分组密码算法,其分组大小为128比特.一般该算法的密钥长度为128,192或256位.S盒[8][9][10]作为Serpent加密算法中最重要的非线性部件,一直是很多攻击方法攻击的主要目标,由于该S盒存在隐含的方程,因此如何利用S盒构造的方程攻
4、击Sepent加密算法是研究该算法安全性的一个热点问题.定义1:令是进出S盒的多输出函数,其中,,。则可以构造关于的多变元系数矩阵。对于Serpent加密算法的S盒,其多输出函数为,可以构造其大小为全二元系数矩阵,该矩阵的列元素为。定义2:对构造的二元系数矩阵进行线性化可以得到形如下方程的基础解系:收稿日期:2009-11-02项目来源:湖北省教育厅优秀中青年人才项目(Q20102905).作者介绍:胡志华(1976-),男,湖北武汉人,博士,讲师,主要研究方向为密码分析与设计。,。我们称为S盒的全二次代数方程;只含有其中一部分的方程,我们称为部分二次代数方程。定理1:对任意的多输出函
5、数为的S盒,如果利用定义1和定义2构造的基础解系中包含如下形式的方程:。(1)则我们可以利用两对明文的输入差分构造输出差分和密钥一次项代数方程。证明:设,为S盒的输入和输出,为明文,为密钥,则有.因此有:。(2)设,为第一对明密文,,为为第二对明密文,因此有:。2Serpent中的差分代数攻击假设加密算法表示为两种子算法的连接[6][7],其中存在概率为的差分路径,存在概率为的差分路径,则差分代数攻击过程如下:步骤1:选择差分为的明文对,加密得到密文对;步骤2:根据,变换密文对,得到;步骤3:解密得到,判断是否满足,如果满足则是一个正确的对,否则是一个错误的对。步骤4:把正确对代入代数
6、方程(2),即可以求出输入位差分不为零所对应的密钥位。设密码的分组的长度为,则对于随机置换,检验步骤3通过的概率为.对于加密算法,设明文对符合差分路径的概率为,密文对和均符合差分路径的概率为,则选择的差分路径的概率满足,就可以找到满足步骤3的对,其详细的证明可以参考文献[6]。找到正确的对,就可以利用S盒的差分代数直接恢复部分密钥。2.18轮Serpent-128的差分代数攻击为了分析的方便,将用表示Serpent的7轮加密过程,表示一个4轮的加密过程,表示一个3轮的加密过程。其中存在概率为的第1轮到第4轮差分路径,存在概率为的第5轮到第7轮差分路径。在文献[6]中给出了Serpent
7、的多轮差分特征及其成在概率。我们可以利用文献[9]中给出的(80000040000000918004004180040051)(04000200440004084000041800000018),(001000000C100000010000000D000000)(00000000000000200000002010000000)这两条差分路径构成Serpent的7轮连接差分路径。下面的攻击就是即利用该7轮轮(第2轮到第8轮)区分器来恢复8轮S
此文档下载收益归作者所有