一种新的6轮AES不可能差分密码分析方法
一种新的6轮AES不可能差分密码分析方法
Ab ta t Th sp p rfr tp e e t n i o s i l i e e t l r p r yo h - o n sr c : j a e is r s n sa mp sb ed f r n i o e t ft e 4 r u d AE孓i o l n - f ap f nyo eS b x o h p tpa n e tp i i if r n ,a d i i o s il h tt e e b h e i e e tS b x s i h o f e i u l i t x ar s d fe e t n t si t n mp sb e t a h r e t r ed f r n - f o e t e n s me c l mn f rt e c r e p n i g cp e -e t p i fe - o n n r p i n a o u o h o r s o d n i h rt x a ra t r 4 r u d e c y to .Ba e n t i r p r y s d o h s p o e t ,a n w t o r p s rc y t n l zn e 6 r u d AE e me h d i p o s o e f r p a ay ig t - o n S.wh c d n u d t a h e do h d o h ih i t a d o er n e c n f e so o o t i o sb e dfe e ta r p a ay i f r t e 4 r u d AES Th s a t c n t e r d c - o n mp s i l i r n il c y t n l ss o h -o n f . i ta k o h e u e 6 r u d AES d r q ie b u 。 c o e li t x s e ur sa o t 2 ’ h s n p an e t 。d m a d ” wo d f me r . a d p r o ms 2 6 r u d AES 一 e n s2 r s o mo y n efr “ -o n e c y t n .Fu t e mo e h r n y 2 一 o h r b bl y t alt e o e h e r tk y nrpi s o r h r r ,t e e i o 一 s l ft ep o a i t o f i o r c v rt e s c e e . i Ke r s i o s i l i e e t l r p a a y i ; d a c n r p o t n a d c y t n l ss y Wo d : mp sb e d f r n i y t n l ss a v n e e c y f n s a d r ; r p a a y i f ac d i
AES加密算法的原理详解
AES加密算法的原理详解AES(Advanced Encryption Standard)是一种对称密钥加密算法,它是目前使用最广泛的加密算法之一、它用于保护计算机网络和数据通信的安全性。
本文将详细介绍AES加密算法的原理。
1. 字节替换(SubBytes):字节替换是AES中的第一步,它对明文块中的每个字节进行非线性的替换。
这个操作可以使用1个字节代换表(S-Box)来完成。
S-Box是由一个有限域GF(28)上的运算定义的一个字节代换表。
字节替换的目的是使加密过程中的非线性增加,提高系统的安全性。
2. 行移位(ShiftRows):行移位操作对明文分组中的字节进行循环移位。
AES中,第一行保持不变,第二行循环左移一位,第三行循环左移两位,第四行循环左移三位。
行移位的目的是在不改变数据的情况下改变各个字节的位置,增加密码的复杂性。
3. 列混淆(MixColumns):列混淆操作对每一列进行混淆运算。
AES中,列混淆操作采用一个固定的矩阵与每一列进行乘法运算。
该矩阵保证了加密操作的线性性质。
列混淆的目的是增加密码系统的抗差分攻击能力。
4. 轮密钥加(AddRoundKey):轮密钥加操作是AES中的最后一步,它将当前明文块与一个与之对应的轮密钥进行异或运算。
轮密钥由密钥扩展算法根据初始密钥生成。
这个操作将密钥的信息引入加密过程中,增加了加密的混淆性。
以上四步操作被称为一轮加密操作。
AES加密算法中的轮数取决于密钥的长度。
128位密钥需要10轮,192位密钥需要12轮,256位密钥需要14轮。
加密的最后一轮操作中,不包括列混淆。
解密操作与加密操作相对应,只是步骤的顺序相反。
解密过程中使用的操作是字节替换的逆操作、行移位的逆操作、列混淆的逆操作以及轮密钥加的逆操作。
解密的最后一轮操作中同样不包括列混淆。
AES加密算法的安全性得到广泛认可,它已被政府和军事机构等高安全性需求的组织采用。
AES算法的设计和实现高效,适用于各种平台和操作系统。
AES加密过程详解
AES加密过程详解AES(Advanced Encryption Standard)是一种对称加密算法,用于保护敏感数据和信息安全。
它是美国国家标准技术研究所(NIST)于2001年发布的,取代了原来的DES(Data Encryption Standard)算法。
第一步:密钥扩展在此步骤中,AES算法使用输入的密钥(128位、192位或256位)进行密钥扩展,生成若干个轮密钥。
密钥扩展算法由密钥调度算法和轮密钥生成算法组成。
密钥调度算法根据输入密钥的长度选择不同的配置,然后将输入密钥分成多个字,并对字进行处理。
轮密钥生成算法通过对上一个轮密钥进行变换,并结合密钥调度算法,生成新的轮密钥。
第二步:轮秘钥生成此步骤将密钥扩展生成的轮密钥应用到加密和解密的每个轮中。
AES 加密使用的轮数取决于密钥的长度。
对于128位密钥,加密算法使用10个轮。
对于192位密钥和256位密钥,加密算法使用12个轮和14个轮。
第三步:字节替换和行移位在此步骤中,AES算法使用一个预定义的字节替换表(S盒)将输入数据的每个字节替换为另一个字节。
替换过程使用非线性变换来增加加密算法的安全性。
然后,算法对替换后的字节进行行移位。
行移位将字节在行内进行循环移位,使得每一行的字节都向左移动一定的偏移量。
第四步:列混淆和轮密钥加在此步骤中,AES算法对替换和移位后的数据进行列混淆。
列混淆将矩阵的每一列与特定矩阵进行乘法,从而混淆数据的位模式。
然后,算法将每个字节与该轮对应的轮密钥进行异或运算。
轮密钥加操作增加了算法的扩散性和对抗线性和差分密码攻击的能力。
以上四个步骤循环执行多轮,最后一轮结束后,密文作为加密结果输出。
AES算法的优势在于其高度的安全性、高效性和灵活性。
它提供了多种密钥长度的选项,可以适应不同安全级别的需求。
同时,AES算法也有很高的性能,可以在各种计算设备上高效执行加密和解密操作。
总结起来,AES加密过程主要包括密钥扩展、轮秘钥生成、字节替换和行移位、列混淆和轮密钥加四个步骤。
AES加密算法实验报告
AES加密算法实验报告AES(Advanced Encryption Standard)是一种对称加密算法,用于保护数据的机密性和完整性。
它是由美国国家标准与技术研究所(NIST)于2001年选定的替代算法,用于替代旧有的DES(Data Encryption Standard)算法。
AES算法的设计目标是提供高安全性以及高效率的加密和解密速度。
AES算法采用分组密码的方式,将明文按照固定大小(128比特)进行分组,然后对每个分组进行加密。
密钥长度可以选择128、192或256比特,不同的密钥长度对应着不同的加密强度。
其中,128比特密钥长度适用于大部分的安全应用,而192和256比特密钥长度适用于更高级别的安全应用。
AES算法的加密和解密过程有以下四个步骤:1. 字节代换(SubBytes):将每个输入字节替换为固定的对应字节,通过查找S盒表中的元素实现。
这一步骤主要用于消除明文的统计性质,增加密码的复杂性。
2. 行移位(ShiftRows):按照特定规则对每个分组中的字节进行循环移位。
这一步骤可以增加明文的扩散性质,增强密码的混淆效果。
3. 列混淆(MixColumns):对每个分组的列进行线性变换。
该变换采用矩阵乘法的方式,通过与固定矩阵的乘法操作实现。
这一步骤可以增加密码的扩散和混淆效果。
4. 轮密钥加(AddRoundKey):将每个分组与轮密钥进行异或操作。
轮密钥是由主密钥派生出来的,用于对每个分组进行不同轮数的加密。
这一步骤可以将密钥的信息混合到每个分组中。
AES算法通过多轮的加密和解密操作,将明文转化为密文,或将密文转化为明文。
每轮加密和解密操作都会使用不同的轮密钥,并对明文或密文进行不同的变换操作。
这样可以增加密码的强度和混淆效果。
在实际应用中,AES算法已被广泛使用于各种安全领域,如电子商务、数字版权保护、无线通信等。
它具有高安全性、高效率和高灵活性的特点,适用于不同安全等级的应用环境。
针对AES分组密码S盒的差分故障分析
针对AES分组密码S盒的差分故障分析差分故障分析(DFA)是一种针对密码算法的攻击方法,旨在推导密钥材料。
一般来说,通过在加密算法中引入故障(例如电压波动或温度变化),攻击者可以观察到算法的部分输出,并基于这些输出尝试推导出密钥材料。
AES是一种广泛使用的块密码算法,其S盒对于差分故障攻击来说是最关键的目标之一。
在差分故障攻击中,我们会对输入的数据进行微小的改变,然后观察输出的变化情况。
例如,在AES-128中,我们可以选择两个不同的输入(例如,x和x ')并获得两个不同的输出(例如,y和y ')。
选择这些输入,依据x和x '之间的差异,获得y和y'之间的差异,称为差分。
由于AES的S盒具有分散性(即输入的任何小变化都会导致输出的大变化),我们预计会看到大量差分。
通过观察大量的差分,攻击者可以推导出S盒的内部结构和密钥材料。
在AES中进行DFA攻击的核心是差分分析阶段。
我们可以通过以下步骤进行差分分析:1. 首先,选择两个不同的输入x和x '。
2. 使这些输入通过AES算法并记录它们的输出y和y'。
3. 计算差分,即y xor y',并将其保存为一个差分对。
4. 多次执行步骤1-3,以创建足够的差分对。
5. 基于这些差分对,攻击者可以估算S盒的内部结构,并推导出密钥材料。
虽然差分故障分析是一种强有力的攻击方法,但它具有一些限制和挑战。
其中一个是数据采集。
差分故障分析需要大量的加密数据来产生足够的差分对。
因此,攻击者必须能够访问加密设备,并从中读取大量的数据。
此外,故障注入技术和数据收集和分析方法也需要高超的技术和知识。
因此,对于开发人员和系统设计者来说,强加足够的物理保护和适当的加密保护是非常必要的。
避免数据泄露和不必要的攻击尝试也是关键。
同时,应审查算法设计和实现,特别是S盒部分的鲁棒性,以确保其能够抵御差分故障攻击。
aes密码算法迭代结构
aes密码算法迭代结构标题:深入理解AES密码算法的迭代结构引言:AES(Advanced Encryption Standard,高级加密标准)是当今全球广泛应用的一种对称密钥加密算法。
其强大的安全性、高效性和灵活性在很大程度上得益于其独特的分组密码设计和迭代结构。
本文将详细介绍AES算法中的迭代结构及其工作原理。
一、AES算法概述AES是一种基于置换-替换网络的分组密码算法,它将明文信息按128位进行分组,并通过一系列复杂的数学运算进行加密。
AES可支持128、192或256位的密钥长度,但其基本结构保持不变,均采用的是多次重复的“轮函数”操作,这就是AES算法的核心——迭代结构。
二、AES的迭代结构AES加密过程由多个轮(Rounds)组成,原始标准定义了10轮、12轮和14轮分别对应128、192、256位密钥长度。
每一轮包括四个主要步骤:字节替代(SubBytes)、行移位(ShiftRows)、列混合(MixColumns)和轮密钥加(AddRoundKey)。
最后一轮不执行列混合操作以简化流程。
1. 字节替代(SubBytes):对每个状态矩阵的字节应用非线性的替换表(S-box),实现扩散和混淆。
2. 行移位(ShiftRows):对矩阵的行进行循环左移操作,增强数据依赖性,增加密码分析难度。
3. 列混合(MixColumns):对矩阵的列进行线性变换,进一步扩散每一位的影响到整个状态矩阵。
4. 轮密钥加(AddRoundKey):将当前轮的子密钥与状态矩阵进行异或操作,完成密钥与数据流的融合。
三、迭代结构的作用这种迭代结构的设计极大地增强了AES的安全性。
每次迭代都会把前一轮的结果作为下一轮的输入,使得加密过程中任意一位的变化都会迅速扩散至整个密文中,有效抵抗了选择明文攻击、差分密码分析等攻击手段。
同时,每一轮都引入了新的子密钥,确保了密钥使用的充分性,加大了密钥空间,增强了对穷举攻击的抵抗力。
AES加密算法研究分析
AES加密算法研究分析AES(Advanced Encryption Standard)是一种对称密钥加密算法,它被广泛应用于数据保护和网络安全领域。
AES取代了之前的DES算法,主要因为其更高的安全性和效能。
AES算法的设计过程中,考虑了多种因素,包括抵抗针对差分、线性密码分析、方程式求解等各种攻击。
其核心思想是采用了一个可以根据密钥扩展出不同轮数的方案,使得AES算法的安全性随着轮数的增多而提高。
AES算法基于四个关键操作:字节替代、行移位、列混淆和轮密钥加法。
字节替代操作(SubBytes)通过一个S-盒将输入字节替换为新的字节,提高了算法的非线性特性。
行移位操作(ShiftRows)将每一行的字节按照不同的规则进行循环移位,增加了数据的混淆性。
列混淆操作(MixColumns)通过一个GF(28)有限域上的乘法实现矩阵乘法,进一步增强了算法的非线性性质。
轮密钥加法操作(AddRoundKey)将每一轮的密钥与待加密数据进行异或操作,增加了密钥和数据之间的混淆。
AES算法具备以下几个优点:1.安全性高:AES算法的密钥长度可以为128位、192位或256位,相比之下,DES算法的密钥长度只有56位,因此,AES算法的安全性更高。
2.效能较高:AES算法的加密和解密速度较快,尤其在现代计算平台上,具备较高的性能。
3.算法公开和广泛使用:AES算法是一个公开的标准,可以在各种硬件和软件平台上实现,使其成为很多领域中的首选加密算法。
不过,AES算法也存在一些局限性和弱点:1.依赖于密钥的选择:AES算法的安全性高度依赖于密钥的选择和管理。
如果密钥不够强大或者管理不善,就可能导致加密系统的破解和数据泄露。
2.抗量子计算攻击性能有待提升:AES算法在抵御传统计算机攻击方面表现出色,但在抗量子计算攻击方面还有待进一步研究和改进。
综上所述,AES是一种非常优秀的对称密钥加密算法,具备高安全性和较高效能的特点。
AES 加密算法分析及其安全性研究
码算法最有效的方法。
运用差分分析主要就在于寻找满足一定概率出
现的特征,然后对最后一轮的每个S -盒进行研究得
出可能的部分密钥,再用穷尽搜索法试探出所有密
钥。运用线性分析则在于寻找部分固定比特之间的
一个满足最大概率出现的线性等式,然后再应用建立
在最大似然法的基础上的一个算法求出部分密钥,最
0引言
信息安全是计算机科学技术的热点领域,数据加
密则是信息安全的重要手段。随着科技的进步和数
据加密标准的不断发展,传统的对称式DES算法已
逐渐显现出许多不足之处,它的安全强度已经不能满
足人们的需求。AES是继DES之后新一代的数据加
密标准。
1997年,美国国家标准技术研究所(N IST)发布
公告征集新的加密标准, 2000年由比利时的Joan
群在正常供配电环境的运行。
3结束语
零地电压的漂移抑制在大规模PC集群机房的
配电基础环节上,虽是一个原因多发的问题,但在采
集数据的基础上作进一步的分析,分析透彻,方案选
择得当,实施自然简捷、经济、有效、安全。同时,作者
单位对零地电压问题解决的过程也是转换思路的认
识过程。T N - C和TN - S配电系统匹配单相负荷的
代数计算攻击是一种新的分组密码攻击方法,在
代数计算攻击中,攻击者利用密码的输入/输出对来
构造多项式。用简单的代数表达式对整个Rijndael
算法进行描述,引用表达式如下:
C i, j = k
3
Ł?
∑
e 10∈ε
d 10∈φ
W
3
K
3
Ł?⋯⋯?
∑
e 2∈ε
AES算法破解研究
AES算法破解研究AES (Advanced Encryption Standard),即高级加密标准,是目前应用最广泛的对称加密算法之一、AES算法采用分组密码的方法,将明文按照一定的规则分成若干组,并通过多轮的加密和解密操作,最终得到密文。
虽然AES算法是基于对称密钥的加密算法,理论上不易破解。
然而,攻击者仍然可以采用一些方法来尝试破解AES算法。
目前,针对AES算法的破解主要有以下几种方法:1.暴力破解:暴力破解是通过穷举所有可能的密钥来尝试解密密文。
由于AES算法的密钥长度可以选择128位、192位或256位,因此暴力破解的复杂度非常高。
根据计算机的计算能力,即使是针对128位密钥,暴力破解也需要耗费数以亿计的年份。
2.差分攻击:差分攻击是一种针对分组密码的攻击方法,通过选择合适的明文和密文对,观察它们在加密过程中的差异,从而推导出密钥的相关信息。
然而,差分攻击对于AES算法来说是不太实际的,因为AES算法的设计已经考虑到了差分攻击这种攻击方式,并且采取了相应的防御措施。
3.侧信道攻击:侧信道攻击是通过分析加密设备在加密过程中的功耗、电磁辐射、时间延迟等侧信道信息,来获取密钥相关的信息。
侧信道攻击对于AES算法来说是比较有效的攻击方法之一,因为AES算法的实现可能存在一些侧信道泄露的问题。
例如,通过对加密设备的功耗进行分析,可以推测出密钥的信息。
4.工具漏洞:AES算法的破解还可以通过攻击对应的加密/解密工具的漏洞来实现。
例如,如果AES算法的实现存在程序缺陷或者逻辑错误,攻击者可能可以通过利用这些漏洞来获得密钥或者明文。
然而,需要注意的是,AES算法本身被广泛认可为一种强大的加密算法,目前尚未有有效的攻击方法可以彻底破解AES算法。
因此,在实际应用中,使用AES算法仍然可以提供可靠的数据保护。
为了进一步增强AES算法的安全性,可以考虑以下几点:1.使用更长的密钥:AES算法的密钥长度可以选择128位、192位或256位。
分组密码算法SAFER,CAST-256和PRIDE的分析
分组密码算法SAFER,CAST-256和PRIDE的分析分组密码是现代密码学一个重要的研究方向,其研究内容包括分组密码的设计理论、分组密码的分析方法、分组密码的工作模式以及分组密码的检测评估。
其中,分组密码的设计与分析是一对相互依存的矛盾体。
分组密码的安全性分析为分组密码的设计提供诸多有利的参考;而更加巧妙的设计又为分组密码的分析工作提出了新的挑战,两者相互促进、共同发展。
早期的分组密码的研究主要围绕DES类的算法展开,进入20世纪90年代后,人们对DES类分组密码的研究更加深入,特别是差分密码分析(differential cryptanalysis)和线性密码分析(linear cryptanalysis)两种方法的相继提出,促使人们不得不研究新的分组密码算法结构。
代替-置换(SP)结构的分组密码算法IDEA的出现,动摇了DES算法在分组密码中的位置。
上世纪末,随着NIST的AES计划、欧洲NESSIE工程的相继实施,相应的一些候选算法、标准密码算法的安全性引起了国际密码学者广泛的关注,这些分析方法的研究和新的设计方法的探索极大地推动了分组密码发展。
本文对分组密码算法标准化进程中的几个重要的分组密码算法的安全性进行分析,主要包括AES候选算法SAFER+、CAST-256和NESSIE候选算法SAFER++,以及轻量级分组密码算法PRIDE。
在分析过程中,发现密码算法的特殊的安全属性并据此给出相应的分析结果。
1、SAFER族分组密码算法新的不可能差分分析SAFER族分组密码算法包括SAFER K, SAFER SK, SAFER+和SAFER++四个算法。
SAFERK是SAFER族分组密码的第一个算法,之后,为改进SAFER K的密钥方案又设计了SAFER SK算法。
SAFER+是AES候选算法,并且定制版本的SAFER+在蓝牙的密钥分发时被用作MAC。
SAFER++是SAFER+的加强版本,并且被选入NESSIE工程第二轮的候选算法。
分组密码算法的不可能差分分析
分组密码算法的不可能差分分析分组密码算法属于对称密码算法,将明文消息分割为固定长度分组进行加解密运算。
分组加密具有实现简单、加解密速率快的优点,是密码体制的重要组成部分。
典型的分组密码算法如DES和AES是美国政府的标准加密算法,其应用领域从邮件加密到转账交易,与生活息息相关。
对分组密码算法进行安全性分析能够评估算法的优缺点,保证密码算法的合理应用,非常具有现实意义。
不可能差分分析由Knudsen和Biham分别独立提出,属于差分分析技术的变种,利用数据的差分传播特性对密码算法进行安全性评估,是分组密码算法安全性分析的重要方法之一。
与经典差分分析技术中利用高概率差分进行密钥恢复不同,不可能差分分析依靠不可能出现,即概率为0的差分来过滤错误的候选密钥,因为利用正确密钥对数据加密不会出现这样的差分。
本文以不可能差分分析为主要技术手段,对几个重要的分组密码算法进行了分析,包括两个部分:第一部分属于不可能差分分析技术的经典应用,对ASIACRYPT 2016算法Simpira进行了研究,结合大S盒技术和算法采用的广义Feistel结构特点,寻找到Simpira算法4分支版本的首个9轮不可能差分区分器,给出了算法的首个分析结果;第二部分通过分析密钥编排方案对差分传播特性的影响,提出一种可以由单密钥不可能差分推导更长轮相关密钥不可能差分的自动化搜索方法,这也是首个针对相关密钥不可能差分的自动化搜索方案,利用此方法,对FSE2017接收算法QARMA-64、CAESAR竞赛胜出方案Deoxys的内置可调分组密码算法Deoxys-BC-256和CAESAR竞赛第二轮入选方案Joltik内置可调分组密码算法Joltik-BC-128进行了分析,相较已有工作,给出了算法的更精确安全评估结果,具有国际水平。
两个工作结果均发表于 Science China Information Sciences。
· Simpira v2的单密钥不可能差分分析密码置换函数Simpira由Shay Gueron和Nicky Mouha设计,采用AES轮函数作为唯一基础组件,支持128×b比特输入,其中b为任意正整数,用Simpira-b表示输入分支数目为b的算法版本。
典型轻量级分组密码算法不可能差分分析研究
典型轻量级分组密码算法不可能差分分析研究轻量级分组密码算法由于其计算、存储资源开销少、且能够提供所要求的加密性能,从而被广泛应用于资源受限的环境。
随着物联网的兴起,轻量级分组密码算法成为了人们研究的热点。
不可能差分分析作为差分分析的一个变种,由Knudsen和Biham两人分别独立提出,是目前最常用的密码分析方法之一。
不可能差分分析的关键在于找出分组密码算法的最长不可能差分区分器。
不可能差分区分器轮数的上确界是衡量密码算法抵抗不可能差分分析的一个重要标准。
如果能够给出密码算法最长不可能差分区分器,则无论对密码设计者还是分析者都有重要的参考价值。
本文致力于几个典型轻量级分组密码算法在不可能差分分析下的安全性研究。
基本研究思路是,首先对密码算法或者密码模型的密码学特性进行研究。
其次,基于得到的性质,分析密码算法或者密码模型加、解密方向的差分扩散规律,并利用中间相错技术得到其不可能差分区分器的上确界。
再次,利用密码算法或者密码模型加、解密方向的差分扩散规律找出其全部最长不可能差分区分器,或者对最长不可能差分区分器进行分类。
最后,选择较优的不可能差分区分器,并结合一些攻击技术,给出密码算法的安全性评估结果。
本文取得如下成果。
1.对Midori算法在截断不可能差分分析下的安全性进行了研究。
通过分析Midori算法的加密方向与解密方向的差分扩散规律,证明了Midori算法的截断不可能差分区分器至多6轮,并对6轮截断不可能差分区分器进行了分类。
其次,根据分类结果,构造了一个6轮不可能差分区分器,并给出11轮Midori-64算法的不可能差分分析,恢复了128比特主密钥。
2.对SPECK算法在不可能差分分析下的安全性进行了研究。
首先利用徐洪等人给出的模整数加法差分扩散性质,分析SPECK系列算法的加密方向与解密方向的差分扩散规律,从而证明了在该性质下SPECK系列算法的不可能差分区分器至多6轮,并给出了所有6轮不可能差分区分器;其次,进一步给出模整数加法差分扩散的补充性质,并利用该性质构造了SPECK系列算法的7轮不可能差分区分器;此外,基于得到的SPECK系列算法6轮、7轮不可能差分区分器,给出了SPECK 2n/4n(2n=32,48,64,128)算法的10轮和11轮不可能差分分析,及SPECK 96/144算法的9轮和10不可能差分分析,恢复了全部主密钥。
Robin算法改进的6轮不可能差分攻击
2021575分组密码算法是对称密码算法中非常重要的一大类。
它的安全性分析方法可以分为直接分析和间接分析两种,其中直接分析指的是利用数学、计算机等工具直接对密码算法本身的安全性进行分析[1-3],而间接分析指的是利用密码算法在密码设备中运行时泄露的信息进行分析[4-6],间接分析又称为侧信道分析。
很多密码学者在设计分组密码算法时,会考虑密码算法对侧信道攻击的抵抗能力。
为了有效抵抗侧信道攻击,2014年,Grosso等人[7]在“快速软件加密”会议上设计了一类新的分组密码算法族——基于LS设计的算法族。
该算法族采用比特切片设计,设计者根据该设计思想给出了两个具体的分组密码算法,一个是非对合的分组密码算法Fantomas,另外一个是对合的分组密码算法Robin。
Robin算法采用SP结构,其线性组件和非线性组件均是对合的。
不可能差分攻击是目前针对分组密码算法最有效的攻击方法之一,它对包括AES、SMS4、Camellia、ARIA、SIMON、SKINNY、Piccolo等[8-14]在内的许多分组密码算法的安全性分析效果显著。
该攻击方法由Knudsen[15]和Biham等人[16]独立提出,它由不可能差分构造和密钥恢复两个阶段组成,其中前者需要构造尽可能长的不可能差分区分器,后者利用已构造的区分器进行密钥恢复得⦾网络、通信与安全⦾Robin算法改进的6轮不可能差分攻击沈璇,王欣玫,何俊,孙志远国防科技大学信息通信学院,武汉430010摘要:Robin算法是Grosso等人在2014年提出的一个分组密码算法。
研究该算法抵抗不可能差分攻击的能力。
利用中间相错技术构造一条新的4轮不可能差分区分器,该区分器在密钥恢复阶段涉及到的轮密钥之间存在线性关系,在构造的区分器首尾各加一轮,对6轮Robin算法进行不可能差分攻击。
攻击的数据复杂度为2118.8个选择明文,时间复杂度为293.97次6轮算法加密。
与已有最好结果相比,在攻击轮数相同的情况下,通过挖掘轮密钥的信息,减少轮密钥的猜测量,进而降低攻击所需的时间复杂度,该攻击的时间复杂度约为原来的2−8。
AES的差分-代数攻击研究
最后详细给出了5轮AES.256的差分一代数攻击的实现过程, 并在5轮AES.256的差分一代数攻击的基础之上,并给出了6轮 AES.256的差分一代数攻击过程,得到的结果比穷举攻击更有效。 并且对5轮和6轮的攻击都给出了攻击复杂度、攻击的信噪比和成 功率。
作者签名:兰丝兰L导师签名糨日期:丝年互月三日
硕十学位论文
第一章绪论
第一章 绪论
随着计算机和通信技术的发展,用户对信息的安全存储、安全处理和安全 传输的需求越来越迫切。特别地,随着互联网的广泛应用,以及个人通信、多 媒体通信、办公自动化、电子邮件、电子自动转账支付系统和自动零售业务网 的建立与实现,信息的安全保护问题就显得更加重要,解决这个问题的有效的 手段之一就是使用分组密码技术。由于现在的计算机技术的飞速发展,原来的 DES(DataEncryption Standard)密码已经不能满足要求了,美国在1997年发起了 征集AES(Advanced Encryption Standard)的活动。AES的征集掀起了分组密码研 究的新高潮,15个AES候选算法反映了当前分组密码设计的水平。最后Rijndael 算法被定为新一代的高级加密标准AES。Rijndael算法的分组长度和密钥长度 都是可变的,它们都可以单独地取为128比特、192比特和256比特中的任意 一种。在Rijndael算法被确定为AES以后,对Rijndael算法的安全性分析已成
中南大学 硕士学位论文 AES的差分-代数攻击研究 姓名:温从剑 申请学位级别:硕士 专业:计算机科学与技术 指导教师:刘连浩
对一种新的序列密码结构的密码分析
对一种新的序列密码结构的密码分析黄小莉;武传坤【期刊名称】《软件学报》【年(卷),期】2008(19)5【摘要】对新提议的一种基于线性反馈移位寄存器、非线性反馈移位寄存器和过滤布尔函数的序列密码结构的安全性进行了研究,对这种结构给出了一种区分攻击.举例子说明了此攻击的有效性.这种新的攻击表明,此种新的序列密码结构存在潜在的安全弱点.%This paper studies the security of a newly proposed stream cipher structure based on linear feedback shift register, nonlinear feedback shift register and filter Boolean functions. A distinguishing attack on this structure is presented. An example is illustrated to show the effectiveness of this attack. This new attack suggests that this new stream cipher structure has potential security weakness.【总页数】9页(P1256-1264)【作者】黄小莉;武传坤【作者单位】中国科学院,软件研究所,信息安全国家重点实验室,北京,100190;中国科学院,研究生院,北京,100049;中国科学院,软件研究所,信息安全国家重点实验室,北京,100190【正文语种】中文【中图分类】TP309【相关文献】1.一种新的6轮AES不可能差分密码分析方法 [J], 陈杰;张跃宇;胡予濮2.对一种秘密共享新个体加入协议的密码分析 [J], 金永明;徐秋亮3.一种基于演化计算的序列密码分析方法 [J], 陈连俊;赵云;张焕国4.一种基于多目标差分演化的序列密码算法 [J], 吴君钦;陈天栋;李康顺5.遗传算法在序列密码分析中的应用 [J], 陈明海;胡劲松因版权原因,仅展示原文概要,查看原文内容请购买。
中间相遇和不可能差分密码分析方法的研究及应用
中间相遇和不可能差分密码分析方法的研究及应用分组密码是许多密码系统的核心,广泛应用于政治、外交和商业等领域用于保障用户的信息安全.因此分析分组密码的安全性是当前信息安全领域的重要问题.中间相遇和不可能差分分析技术是分组密码中两类重要的分析技术,对许多密码算法取得了很好的分析结果.本文围绕中间相遇和不可能差分分析技术展开研究,主要研究内容和创新点如下:论文第一大部分主要围绕中间相遇分析技术展开研究:1.Feistel结构作为一种重要的分组密码结构广泛应用于分组密码的设计之中,因此其安全性分析受到广泛关注.本文基于中间相遇分析技术研究了一类Feistel结构的安全性,该类Feistel结构被应用分组密码SIMON和Simeck 算法的设计之中,我们称之为Feistel-2~*结构.根据Feistel-2~*结构的性质,我们引入了“差分函数约化技术”,利用该技术可以有效降低计算Feistel-2~*结构内部状态所需要猜测的密钥量,从而提高中间相遇分析的效率.基于差分函数约化技术,我们给出了对Feistel-2~*结构的两种中间相遇分析模型.第一种分析模型是一种低数据复杂度分析,仅需要几个选择明文.第二种分析模型需要较多的数据量,但是提升了分析轮数.基于我们的分析,我们证明了当Feistel-2~*型分组密码密钥长度为分组长度的8)倍时,一个安全的Feistel-2~*型分组密码至少需要迭代48)+4轮.2.截断差分区分器的构造一直是截断差分分析中的难点问题.本文基于中间相遇技术研究了SPN结构截断差分的概率与SPN结构扩散层矩阵之间的关系,并给出了一种构造SPN结构截断差分区分器的方法.我们将该方法分别应用于分组密码mCrypton和CRYPTON V1.0算法,构造了这两个算法的首个5轮截断差分区分器.基于上述5轮截断差分区分器并结合key-bridging(密钥桥接)技术和时空折中技术,我们给出了mCrypton-64(64比特密钥版本)算法的8轮截断差分分析.该分析是目前关于mCrypton-64分析轮数最高的单密钥分析结果.进一步,我们给出了CRYPTON V1.0算法9轮截断差分分析,将之前最好的截断差分分析的结果提升了一轮.论文第二大部分主要围绕不可能差分分析技术展开研究:3.SKINNY系列算法是2016年美密会提出的可调轻量级分组密码,可用于计算机底层存储加密或者生成电子标签等.本文利用不可能差分分析技术分析了SKINNY系列算法的安全性.通过分析SKINNY的密钥扩展算法,我们得到了不同轮子密钥之间的线性关系,并将这些关系应用于对SKINNY算法的不可能差分分析之中,降低了分析的复杂度.此外,我们引进了“贪心对比策略”,该策略结合early-abort技术可以有效控制不可能差分分析在线分析阶段的时间复杂度.利用上述技巧,我们将之前关于SKINNY算法的不可能差分分析结果提升了一轮,分别得到了6)/9)=1,2和3时,SKINNY算法17轮,19轮和21轮的不可能差分分析,其中6)为密钥长度,9)为分组长度.4.QARMA系列算法是2016年提出的可调轻量级分组密码,该算法被用于ARM 公司新一代处理器ARMv8架构中提供软件保护.本文利用不可能差分分析技术分析了QARMA系列算法的安全性.通过分析QARMA系列算法的差分传播规律,我们构造了该算法首个6轮不可能差分.利用该6轮不可能差分以及时空折中技术,我们给出了QARMA系列算法的10轮不可能差分分析.特别的,若增加存储复杂度,我们的分析可以达到11轮,该结果是目前关于QARMA系列算法分析轮数最高的单密钥分析结果.我们的分析同时也否定了QARMA算法设计者关于“8轮QARMA算法可以抵抗不可能差分分析”的论断.5.自不可能差分分析提出以来,该方法对许多分组密码算法取得了很好的分析效果.因此分组密码抗不可能差分分析的安全性成为当前研究的热点.Feistel-SP结构广泛应用于分组密码的设计之中.当Feistel-SP结构的扩散层矩阵为置换矩阵时,我们称这种结构为Feistel~*-SP 结构.本文研究了Feistel~*-SP结构抗不可能差分分析的安全性.首先,我们基于Feistel~*-SP结构的加解密特征矩阵,给出了一种预测Feistel~*-SP结构差分传播规律的新方法,称之为特征矩阵方法.其次,我们利用特征矩阵方法给出了Feistel~*-SP结构不可能差分的轮数的上界.研究显示Feistel~*-SP结构不可能差分的轮数的上界仅与Feistel~*-SP结构特征矩阵的扩散阶有关:Feistel~*-SP结构特征矩阵的扩散阶越小,Feistel~*-SP结构差分扩散性越好,分析者构造的不可能差分轮数越低.进一步,基于不可能差分和零相关线性闭包之间的对偶关系,我们得到了Feistel~*-SP结构零相关线性闭包的轮数的上界.6.我们将特征矩阵的方法推广到更一般的Feistel结构.我们指出当一般的Feistel结构的加解密特征矩阵为本原矩阵时,例如CAST-256型广义Feistel结构和Type-II型广义Feistel结构,同样可以利用特征矩阵的方法估计其不可能差分和零相关线性闭包的轮数的上界.最后,我们将特征矩阵方法应用于LBlock 和TWINE算法.这两个算法的轮函数可等价视为Feistel~*-SP结构.利用这两个算法的特征矩阵的性质,我们证明了:若不考虑S盒的具体性质,LBlock和TWINE 算法不存在轮数大于14轮的不可能差分和零相关线性闭包.。
差分密码分析和线性密码分析原理
Y1 Y2 Y3 Y4
考虑表达式X2 X3 Y1 Y3 Y4=0 或等价形式X2 X3=Y1 Y3 Y4。
例 子 : 对 于 16 种 可 能 的 输入X和其相应的输出Y, 有 12 种 情 况 可 以 使 得 该
式成立,因此线性可能 性偏移量是12/16-1/2= 1/4。 相似的,对于等式X1 X4 = Y2 其 线 性 可 能 性 偏 移量接近于0, 而等式X3 X4=Y1 Y4 的线性可能性偏移量是 2/16-1/2=-3/8。
R轮迭代密码的差分攻击步骤
定义
R轮迭代密码的差分攻击步骤
对r轮迭代密码的差分攻击的步骤如下:
4) 重复第2、3步, 直到有一个或几个计数器的值明显高于其它计数器的值, 输出它们所对应的子密钥(或部分比特)。
攻击成功!
PART TWO
线性密码
线性密码分析概述
• 线性密码分析的基本思想是通过寻找一个给定密码算法有效的线 性近似表达式来破译密码系统。由于每个密码系统均为非线性系 统,因此只能寻找线性近似表达式。
26
2轮DES的特征差分密码分析
Step 6: 这个阶段,要恢复构成S1K的6个比特。 采用类似的特征,恢复第一轮中与S2-S8的输入相异
或的6比特密钥
Step 7: 这个阶段已经有了构成S1K密钥的48比特,等 同于S1K -S8K。 其余的8比特密钥,采用穷举方法在64个可能的值中
搜寻
27
差分密码分析破解DES效率
ciphertext
……C16
线性密码分析例子——SPN
• S-box置换
input
0 12 3456 789 ABCDEF
output
E4D12FB83A6 C5 9 0 7
并行AES算法加密解密电路的高效实现
32卷 第3期2015年3月微电子学与计算机MICROELECTRONICS &COMPUTERVol.32 No.3March 2015收稿日期:2014-04-27;修回日期:2014-06-23并行AES算法加密解密电路的高效实现李冬冬,杨 军(中国科学院声学研究所,北京100190)摘 要:介绍了AES算法的基本原理,为了在加密和解密过程中轮操作能够共用,结合算法的结构特点,设计了等效的轮操作结构,使用迭代的方式设计了通用的AES算法加密解密电路结构,通过外部输入信号控制其工作在加密或解密状态,整个加密解密系统电路由6个AES算法核并行组成,以提高算法处理速度.综合仿真结果显示,系统电路时钟频率为177.9MHz,处理速度达到5.69Gb/s.关键词:AES算法;迭代;并行;轮操作;FPGA中图分类号:TN402 文献标识码:A 文章编号:1000-7180(2015)03-0100-04Efficient Implementation of Parallel AES AlgorithmEncryption and Decryption CircuitLI Dong-dong,YANG Jun(Institute of Ascoustic,The Chinese Academy of Sciences,Beijing 100190,China)Abstract:The basic principles of AES algorithm is introduced in this paper.In order to share the same roundoperation in encryption and decryption process,an equivalent round operation structure is employed based on thestructural characteristics of the algorithm.A general circuit structure of AES algorithm is designed by usingiteration method,decided whether to work as encryption or decryption by control signal.The whole encryption anddecryption system circuit is composed of 6AES algorithm cores in parallel to increase throughput.The simulationresult shows the clock frequency is 177.9MHz and the throughput achieves 5.69Gb/s.Key words:AES algorithm;iteration;parallel;round operation;FPGA1 引言随着信息技术的飞速发展,数据已经成为一种重要的社会资源,数据的安全问题已经成为数据是能够有效使用的关键.采用数据加密技术可以有效地保护数据传输的安全性,目前,高级加密标准(Advanced Encryption Standard,AES)[1]已经成为数据加密的主要方法之一.2001年11月,美国国家标准技术研究所(Na-tional Institute of Standard and Technologies,NIST)发布了新的高级加密标准(AES),选定Rijn-dael算法作为其加密算法[2].AES算法因其安全性、高性能以及高效率等优点,被广泛应用于计算机通信各个领域,为其提供数据加密解决方案,如远程访问服务器、以太网路由器、移动通信和卫星通信等.随着计算机通信系统的时钟频率不断提升以及传输速度的不断提高,要求在不占用太多资源的情况下,开发出能够运行在高时钟频率并且具有高速处理能力的AES算法加密解密电路,满足为广泛应用的需求.2 AES算法AES算法是一种迭代分组密码[3],其分组长度可以为128bit、192bit和256bit,根据数据加密的等级不同,所采用的密钥长度也不同,分为128bit、192bit和256bit.本文仅对分组长度和密钥长度为128bit的情况进行讨论. 第3期李冬冬,等:并行AES算法加密解密电路的高效实现2.1 AES算法的流程图AES算法由加密过程、解密过程和密钥扩展三个部分组成.如图1所示,为AES算法加密、解密和密钥扩展流程图.加密过程将明文进行初始密钥加后,接着进行9次轮操作(Round Opeart-ion),最后再使用一次轮操作.解密过程为加密过程的逆过程.图1 AES算法加密、解密和密钥扩展流程图2.2 轮操作(Round Operation)加密过程中轮操作由SubBytes、ShiftRows、MixColumns和AddRoundKey四个运算步骤组成,最后一次轮操作则跳过了MixColumnns这一步骤;解密过程中,轮操作由InvSubBytes、InvShiftRows、InvMixColumns和AddRoundKey组成,第一次轮操作不包括InvMixColumns.轮操作的每一运算步骤均作用在中间结果上,将该中间结果称为状态,可以将每一个128bit的分组表示为以byte为单元的4×4矩阵,称为状态矩阵(State Matrix).(1)SubBytes和InvSubBytes这两个运算是以byte为基本单位的非线性运算.SubBytes是对输入数据首先在有限域上进行乘法逆运算,然后进行仿射变换;而InvSubBytes则是首先进行仿射变换,然后再在有限域上进行乘法逆运算.(2)ShiftRows和InvShiftRowsShiftRows是对状态矩阵的行进行的操作,对每一行按照不同的偏移量进行循环左移,第一行不位移,第二行循环左移1byte,第三行循环左移2byte,第四行循环左移3byte.InvShiftRows对状态矩阵的每一行按照在ShiftRows中每行对应的偏移量进行循环右移.(3)MixColumns和InvMixColumnsMixColumns是对状态矩阵的列进行的操作,其矩阵表达式为S'c=A×Sc,即:s'0,cs'1,cs'2,cs'3,熿燀燄燅c=2 3 1 11 2 3 11 1 2 3熿燀燄燅3 1 1 2s0,cs1,cs2,cs3,熿燀燄燅c(1)InvMixColumns用矩阵可以表示为T'c=B×Tc,即:t'0,ct'1,ct'2,ct'3,熿燀燄燅c=e b d 99 e b dd 9 e bb d 9熿燀燄燅et0,ct1,ct2,ct3,熿燀燄燅c(2)(4)AddRoundKeyAddRoundKey是用密钥扩展得到的轮密钥与轮操作的状态进行异或操作,以实现轮操作中密码数据与密钥的混合.2.3 密钥扩展每一次轮操作都需要一个轮密钥(RoundKey),与其轮操作中的密码混合,因此,需要对输入的初始密钥进行10轮扩展.密钥扩展是将初始密钥作为种子密钥,经过SubBytes、RotByte和Rcon等操作,迭代产生所需的轮密钥.具体的密钥扩展运算过程可参见文献[1].3 AES算法的系统电路设计首先通过分析加密和解密过程中轮操作的特点,设计了等效的轮操作结构.然后,在分析AES算法的密钥扩展和加密解密过程关系的基础上,使用迭代的方式,设计了通用的加密解密电路.最终实现了由6个AES算法电路并行组成的AES算法加密解密系统电路.3.1 等效的轮操作结构由AES算法的加密和解密流程可以看出,如果不考虑轮操作中各运算步骤在加密和解密过程中的区别,AES算法对轮操作各运算步骤的使用次序不同,需要设计不同的加密电路和解密电路使用的轮操作结构.为了便于加密电路和解密电路的资源复用,利用轮操作中各运算步骤的特性,对加密和解密过程中轮操作进行变换,可以设计等效的轮操作结构.SubBytes和InvSubBytes运算都要进行有限101微电子学与计算机2015年域的乘法逆运算,可以将其分离出来实现,在加密和解密过程中共同使用.将InvMixColumns的状态矩阵B分解为B=A×B',其中,A是MixColumns的状态矩阵,B'的表达式为B'=5 0 4 00 5 0 44 0 5 0熿燀燄燅0405(3)ShiftRows和InvShiftRows是状态数据排列顺序的改变,并不改变其值,可以通过简单的连线实现.图2所示为等效的轮操作结构,共用Ad-dRoundKey、MixColumns和乘法逆运算x-1模块,可以在加密过程和解密过程中使用.图2中等效的轮操作结构,把有限域的乘法逆运算x-1用查找表方法实现,将其运算表存储在ROM中,仿射运算aff()inex和affine-1()x用组合逻辑实现,加密过程中aff()ine x在x-1之后实现,解密过程中affine-1()x在x-1之前实现.InvMixColumns被分解为预处理(Preprocess)和MixColumns,即首先对输入数据乘以矩阵B',然后再进行MixColumns运算.加密过程中将ShiftRows和affine(x)合并为一个模块,解密过程中将InvShiftRows和af-fine-1(x)合并为一个模块.3.2 通用加密解密结构在加密过程中,每次轮操作的AddRoundKey运算依次用到密钥扩展所得到的轮密钥,而在解密过程中,每次轮操作是以倒序使用密钥扩展得到的轮密钥.因此,在解密开始时需要扩展出所有轮密钥.根据密钥扩展和加密解密过程的关系,可以在加密和解密电路设计时,先进行密钥扩展,将密钥扩展得到的10个轮密钥依次存储在寄存器中,以供在加密和解密过程中使用.如图3所示为AES算法的通用加密解密结构,用外部输入信号控制电路是工作在加密状态还是解密状态.系统中每4个时钟周期输入一组数据,包括密钥和明文,并且数据的密钥提前明文12个时钟周期输入.在密钥输入后,启动密钥扩展(KeyExpan-sion)模块,通过密钥控制(Key Con)模块控制密钥扩展模块进行密钥扩展,经过12个时钟周期扩展得到10个轮密钥,将其存入10个寄存器中.在实现时,为了密钥扩展模块的通用性,用11个寄存器,在图2 等效的轮操作结构图3 通用加密解密结构图3中用Regs表示11个寄存器组成的寄存器组,在加密过程中,第一个寄存器存储初始密钥,而在解密过程中,最后一个寄存器存储初始密钥.在输入明文(Plain text)或密文(Cipher text)后,启动加密/解密(Encryption/Decryption)模块,加密/解密控制(En/De Con)模块控制加密/解密模块,从寄存器中读取每次轮操作所需要的轮密钥,进行加密或解密的轮操作.AES算法的加密或解密过程使用迭代的方式,需要12个时钟周期输出密文或者明文,因此,采用图3所示的通用加密解密结构,从密钥输入到密文或明文输出,总共需要24个时钟.201 第3期李冬冬,等:并行AES算法加密解密电路的高效实现3.3 并行的系统电路采用AES算法的通用加密解密结构所实现的电路,称为AES算法核,其采用了迭代的方式,能够提高时钟频率,减少资源占用,但是每个分组运算所用时间较长,所以处理速度较低.AES算法核进行一次分组运算需要24个时钟周期,因此通过合理控制输入数据,可以并行使用6个AES算法核,提高加密解密的处理速度.图4所示为6个AES算法核并行运行时的数据处理示意图.图4 数据处理示意图 加密解密系统电路控制相继输入的6组数据分别输入6个AES算法核进行运算处理,在图4中,6个AES算法核分别用AES1,AES2,AES3,AES4,AES5和AES6表示,在第一组数据用24个时钟周期处理完后输出第一组数据,第7组数据输入到AES1中进行下一次加密或解密运算,接下来用AES2处理输入的第8组数据,这样用6个AES算法核依次处理输入数据.AES算法加密解密系统电路用6个AES算法核并行处理数据,可以实现每4个时钟周期输入一组数据,每4个时钟周期输出一组数据,提高了AES算法的处理速度.4 仿真验证该设计使用Verilog HDL语言实现,在Quar-tus II上综合仿真,并在FPGA上验证,器件型号为Altera公司Stratix III EP3SL340F1517I3.仿真结果显示该设计占用资源24 336slices,时钟频率为177.9MHz,处理速度达到5.69Gb/s.5 结束语本文介绍了AES算法的基本原理,通过分析AES算法加密和解密过程中轮操作的特点,设计了等效的轮操作结构,可用于加密和解密过程.将密钥扩展和加密解密过程相分离,设计了通用的加密解密电路结构,通过外部输入信号控制其工作在加密或解密状态.为了提高AES算法的处理速度,通过合理控制输入数据,设计了6个AES算法核并行运行的系统电路.并且,在设计各个模块时,优化了硬件结构,减少占用资源和降低功耗,提高系统电路的整体性能.本文设计的AES算法加密解密电路的仿真结果显示时钟频率为177.9MHz,处理速度达到5.69Gb/s.因此,本文设计并实现的AES算法加密解密电路,能够满足现在大多数计算机通信系统高时钟频率和高处理速度的要求.参考文献:[1] FIPS-197.Federal information processing standard(FIPS)for the advanced encryption standard[S].2001.[2] Daemen J,Rijmen V.高级加密标准(AES)算法—Ri-jndael的设计[M].谷大武,徐胜波,译.北京:清华大学出版社,2003.[3] J Daemen,J Rijmen.The design of Rijndael:AES-theadvanced encryption standard[M].New York:Spri-ger-Verlag,2002.[4] A J Elbirt,W Yip,B Chetwynd,et al.An FPGA-based performance evaluation of the AES block ciphercandidate algorithm finalists[J].IEEE Trans OnVLSI Systems,2001,9(4):545-557.[5] C C Lu,S Y Tseng.Integrated design of AES(ad-vanced encryption standard)encrypter and decrypter[C]∥The IEEE International Conference on Appli-cation–Specific Systems,Architecture,and Pro-cessors(ASAP’02).San Jose,California:IEEE,2002,277-285.[6] Chih-Pin Su,Tsung-Fu Lin,Chih-Tsun Huang,et al.A high-throughput low-cost AES processor[J].IEEE Communication Magazine,2003,41(12):86-91.[7] 韩少男,李晓江.一种小面积低功耗串行AES硬件加解密电路[J].微电子学与计算机,2010,40(3):347-353.[8] 王海洋,陈弘毅.一种小面积的高吞吐率AES协处理器设计[J].微电子学与计算机,2009,26(6):12-16.作者简介:李冬冬 男,(1985-),博士研究生.研究方向为无线通信、信号与信息处理、集成电路设计.E-mail:ldong03057284@163.com.杨 军 男,(1968-),研究员,博士生导师.研究方向为阵列信号处理及智能结构、3D音频系统及声信号处理、数字信号处理及其在通讯、多媒体和生物医学工程中的应用等.301。
改进的7轮AES-128的不可能差分攻击
改进的7轮AES-128的不可能差分攻击
胡弘坚;金晨辉;李信然
【期刊名称】《密码学报》
【年(卷),期】2015(0)1
【摘要】AES的不可能差分分析是AES众多分析方法中最为有效的方法之一.本文之前,AES-128的不可能差分攻击最好结果是由Mala等人在2010年提出的.他们构造了一个新的4轮不可能差分区分器并攻击了7轮AES-128,攻击需要2106.2个选择明文,时间复杂度为2110.2次AES加密,存储量为294.2个字节.在本文中,我们采用并行攻击技术和明文对早夭技术,运用基于快速排序原理的明文对筛选方法,对Mala等人的7轮AES-128的不可能差分攻击进行了改进,更为有效地排除错误的候选密钥,降低了时间复杂度和存储复杂度.我们的攻击需要21062个选择明文,时间复杂度为2108.6次加密,存储量为285.2字节,这个结果是目前为止最好的7轮AES-128的不可能差分攻击结果.
【总页数】9页(P92-100)
【作者】胡弘坚;金晨辉;李信然
【作者单位】解放军信息工程大学,郑州450001;解放军信息工程大学,郑州450001;解放军信息工程大学,郑州450001
【正文语种】中文
【中图分类】TN918.1
【相关文献】
1.7轮AES-128的非对称不可能飞来器攻击 [J], 董晓丽;胡予濮;陈杰;韦永壮
2.分组密码AES-128的差分故障攻击 [J], 刘祥忠
3.分组密码9轮Rijndael-192的不可能差分攻击 [J], 董晓丽; 商帅; 陈杰
4.Robin算法改进的6轮不可能差分攻击 [J], 沈璇;王欣玫;何俊;孙志远
5.Robin算法一个新的不可能差分攻击 [J], 王佳琳;欧海文;施瑞
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
能差分密码分析的结果就是文献 ’ ( 中的结论 . 笔者主要研究 / 给出一个 & 轮 ) 0 1 中的不可能差分密码分析 $ 不可能差分密码特性 $ 并利用该特性提出一种新的不 可能 差分密 码分 析 ) 轮 / 该方法适用于所 0 1 的 方 法$ 有 ( 种密钥情况下的 / 0 1.
收稿日期 ! ! " " # $ " % $ " & 基金项目 ! 现代通信国家重点实验室基金项目 ! " # 高等学校博士点专项科研基金 ! " # ’ & ( ) " ( " ’ " # * + " ’ " # ! " " ! " , " ’ " ’ ( 作者简介 ! 陈 ! 杰! " $ 女$ 助教 $ 西安电子科技大学博士研究生 . ’ , $
% # # 8 # ( + ) . 6 F < 8 8 6 D Q A> 6 = = A : A 7 9 6 C Q K : 9 C 7 C Q 8 6 8 C > N C 7 K A >A 7 K : 9 6 < 78 9 C 7 > C : > K : 9 C 7 C Q 8 6 8 ! G ; G ; ; G ; G ; 39
-. # 础上 ! 前后各加一轮 ! 提出了一种不可能差分密码分析 ) 轮 / 该新 方 法 需 要 ! 的选择明 0 1 的新方法 . # , % ) ). # 文! 记忆存储空间为 ! 分组 ! 以及约 ! 的)轮 / 且恢复密钥的错误概率仅为 !2) 0 1 计算 ! .
关键词 ! 不可能差分密码分析 # 高级加密标准 # 密码分析 中图分类号 ! " # 34 ’ %. ’!! 文献标识码 ! /!! 文章编号 ! ’ " " ’ $ ! & " " ! " " ) " & $ " # % $ " &
!" # $% # & ’ ( )* ( + , % ( . . , / 0 #) , * * # + # " & , 1 0 2 + & 1 " 1 0 . , . 3 3 ( * & ’ #4 5 + ( 6 " )1 ) 7 1 " 2 # )# " 2 + & , ( ". & 1 " ) 1 + ) 3 $%&’( ) *$+%,’-. / * " /$%1. / " / 0 2
! $ 5 6 7 6 8 9 : =0 > ? .@ A C D . < =E < F ? 9 A :4 A 9 H < : IC 7 >J 7 = < : F C 9 6 < 71 A K ? : 6 9 ;< ;B G ; $ " L 6 > 6 C 7M 7 6 N . L 6 O C 7 ’ " " , ’$ E P 6 7 C !, % ! / . & + 1 2 & P 6 8G C A : = 6 : 8 9 : A 8 A 7 9 8 C 7 6 F < 8 8 6 D Q A> 6 = = A : A 7 9 6 C Q : < A : 9 = 9 P A & $ : < ? 7 >/ 0 1 $ 6 = < 7 Q 7 A! $ !3 G G G G G ;< ;< $ D < R< = 9 P A 6 7 ? 9 Q C 6 7 9 A R 9 C 6 : 6 8> 6 = = A : A 7 9 C 7 > 6 9 6 8 6 F < 8 8 6 D Q A 9 P C 9 9 P A : AD A 9 P : A A> 6 = = A : A 7 9 ! $ D < R A 8 6 7 9 P A G G G G $ 8 C F AK < Q ? F 7= < : 9 P AK < : : A 8 < 7 > 6 7 6 P A : $ 9 A R 9G C 6 :C = 9 A :& $ : < ? 7 >A 7 K : 9 6 < 7 . T C 8 A >< 79 P 6 8G : < A : 9 C G SK G ; G G ; $ 7 A HF A 9 P < > 6 8G : < < 8 A > = < : K : 9 C 7 C Q U 6 7 9 P A ) $ : < ? 7 >/ 0 1 H P 6 K P 6 8 9 <C > >< 7 A : < ? 7 > 9 <A C K PA 7 >< = 9 P A G ; G ; S 6 F < 8 8 6 D Q A> 6 = = A : A 7 9 6 C QK : 9 C 7 C Q 8 6 8= < :9 P A& $ : < ? 7 >/ 0 1.3 P 6 8C 9 9 C K I< 79 P A: A > ? K A >) $ : < ? 7 >/ 0 1 G ; G ;
! " " )年%月 第( (卷!第&期
!
西安电子科技大学学报 (自然科学版) % &’()" *!& +!, . ")!’) / #( $ 01
!
/ ? . ! " " ) S X < Q . ( (!4 < . &
一种新的 ! 轮 "# $ 不可能差分密码分析方法
陈 ! 杰! 张 跃 宇! 胡 予 濮
=!! ; < 中的不可能差分密码分析
在文献 $ % 中T ’ 6 P C F 等人给出了 / 0 1 的 & 轮不可能差分特性的性质 ’. 性质 !! 若明文对只有 ’ 字节不同 & 只有一个 ! ! 那么&轮之后的密文对不可能在以下&种组 "盒不同 ’ 合出现不同的 ! & ’ ! & ’ ! & ’ 或& ’ "盒 " ’! %! ’ ’! ’ & !! #! ’ !! ’ # (! )! -! ’ ) &! ,! ’ "! ’ ( . 同理 ! 可利用类似方法分析 & 轮 / 在文献 $ % 中Z 0 1! % P C 7 等人给出了如下不可能差分特性的性质 !. 性质 "! 若明文对只有 ’ 字节不同 ! 那么 & 轮之后 的密 文 对 相 同 的 ! 盒 不 可 能 出 现 在 以 下 组 合" & $ ’! %! ’ ! & ’ ! & ’ ! & ’ ! & ’ ! & ’ ! & ’ ’! ’ & !! #! ’ !! ’ # (! )! -! ’ ) &! ,! ’ "! ’ ( ’! !! #! %! ’ ’! ’ !! ’ &! ’ # !! (! #! )! -! ’ !! ’ #! ’ ) (! &! )! ’ ! & ’ ! & ! & ,! -! ’ "! ’ (! ’ ) ’! &! ,! %! ’ "! ’ ’! ’ (! ’ & !! (! &! #! )! ,! -! ’ "! ’ !! ’ (! ’ #! ’ )’ ’! (! &! )! ,! %! -! ’ "! ’ ’! ’ (! ’ ! & ’ 或& ’ ’ &! ’ ) ’! !! &! #! ,! %! ’ "! ’ ’! ’ !! ’ (! ’ &! ’ # ’! !! (! #! )! %! -! ’ ’! ’ !! ’ &! ’ #! ’ ) . 这里 ! 利用以上两个 & 轮 / 的不可能差分性质 ! 可得到性质 0 1 (. 性质 #! 若明文对只有 ’ 字节不同 ! 那么 & 轮之后密文对不可能在同一列的 ( 个字节出现不同的 ! 盒. $ 这是因为 / 若输入对只有 ’ 字节不同 & 一个 ! ! 那么对 应输出 0 1 算法的列混淆具有如下性质 " " 盒不同 ’ 对的同一列&字节都不同 & 同一列的&个! 利用该列混淆的性质可知在输入明文对只有’字节不 "盒都不同 ’ # 同 时! 若&轮输出的同一列的(个 ! 则第(轮的输出在某一 ! 轮之后的输出对的’ )个 ! " 盒都不同 # " 盒不同 ! 列上 & 个 ! 这样第 ( 轮的输入即第 ! 轮的输出至少有 & 个 ! " 盒都相等 ! " 盒是相同的 #这与前面列混淆的性 质矛盾 ! 因而可得到性质 (. 这里考虑 ( 个字节都在第 ’ 列 ! 即密文对 不 同 的 ! & ’ ! & ’ ! & " 盒 不 可 能 出 现 在 以 下 组 合" ’! #! ’! -! ’ ( ’! ’或 & ’ 当密文对不同的 ! ’时 ! 不可能差分表示为图 !# 这里 ! 每一个状态都对 应 ’ #! ’ ( #! -! ’ ( # " 盒为 & ’! #! ) 个! 即图!的’ 白色的方框表示两对明文相应状态的! 黑色的方框表示两对明文相应 "盒 ! )个方框 # " 盒相等 ! 状态的 ! 其中 1 " 盒不相等 !每一过程如此表示 . T 表示比特替换 ! 1 [ 表示行移位 ! 5E 表示列 混淆 ! /[ 表示 密钥加法 ( 1 T2’ ! /[2’ ! 5E2’ 和 /[2’ 分别表示它们的逆运算 . 下面将利用性质 ( 这一 & 轮不可能差分特性对 ) 轮 / 0 1 进行不可能差分密码分析 .