欢迎来到天天文库
浏览记录
ID:40523953
大小:505.50 KB
页数:17页
时间:2019-08-04
《AES算法用于保护文档的机密性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.AES算法分析1.1AES算法产生背景作为传统对称加密算法标准DES的替代者,由美国国家标准与技术研究所(NIST)于1997年面向全球提出征集该算法的公告,要求分组大小为128位,允许3个不同的密钥大小,即128位,192位或256位,算法必须是可公开的。1999年3月22日,NIST从15个候选算法中公布了5个候选算法进入第二轮选择:MARS,RC6,Rijndael,SERPENT和Twofish。2000年10月2日,以安全性(稳定的数学基础,没有算法弱点,算法抗密码分析的强度,算法输出的随
2、机性),性能(必须能在多种平台上以较快的速度实现),大小(不能占用大量的存储空间和内存),实现特性(灵活性,硬件和软件适应性,算法的简单性等)为标准而最终选定了两个比利时研究者VincentRijmen和JoanDaemen发明的Rijndael算法。并于2001年12月正式发布了AES标准(FIPS197)。该算法是迭代分组密码算法,其分组长度和密钥长度都可改变,该算法的扩充形式允许分组长度和密钥长度以32b的步长,从128b到256b范围内进行特定的变化。该算法的主要优点是:设计简单,密钥建立时间短
3、,且灵敏良好,需要的内存空间少,在所有平台上运行良好,支持并行处理,抗所有已知攻击。1.2AES算法原理堆成密码算法根据对明文消息加密方式的不同,可分为两大类;即分组密码和流密码。分组密码将消息分为固定长度的分组,输出的密文分组通常与输入的明文分组长度相同。AES算法属于分组密码算法,它的输入分组,输出分组以及加/解密过程中的中间分组都是128比特。密钥的长度k为128,192,或265比特。用Nk-4,6,8代表密钥串的字数(1字--32比特),在本文编制的程序中由用户选定。用Nr表示对一个数据分组加
4、密的轮数(加密轮数与密钥长度的关系见表1)。每一轮都需要一个和输入分组具有同样长度(128比特)的扩展密钥Kc的参与。由于外部输入的加密密钥K长度有限,所以在AES中要用一个密钥扩展程序把外部密钥K扩展成更长的比特串,以生成各轮的加密密钥。1)加密变换设X是AES的128比特明文输入,Y是128比特的密文输出,则AES密文Y可以用下面的复合变换表示;Y=Ak(r+1)*R*S*Akr*C*R*S*A(r-1)*****C*R*S*Akl(X)。其中“*”表示复合运算。这里Aki:表示对X的一个变换Aki
5、(X)=X异或Ki(Ki为第i轮的子密钥,为比特串的异或运算)。S:S是一个给定的转换表。R:行置换。C:列置换。S`(x)=a(x)异或s(x)1.3AES算法安全性分析1)AES汇聚了安全性能,效率,可是线性和灵活性等优点,最大的优点是可以给出算法最佳差分特征的概率,并分析算法抵抗差分密码分析及线性密码分析的能力。AES对内存的需求非常低,也使它你适合用于资源受限制的环境。AES操作简单,并可抵御强大和实时的攻击.AES的密钥,分组和轮数的组合对应关系。2)对AES密码的攻击大致有差分和线性分析攻击
6、,变量法攻击和Square攻击等。3)差分和线性分析攻击:差分和线性分析方法是到目前为止二种最有用的通用密码分析方法。对于这些攻击提供轮数低的复杂度是在设计AES密码时的最基本的准则。对于AES密码来说,已经证明对于一个4轮的AES密码来说,差分分析方法的概率上限是2-150,线性分析方法的概率上限是2-75。结合实际AES密码的轮数,这些轮数对于抵抗上述攻击能够提供足够的安全性。已经证明对于一个4轮的AES密码来说,差分分析方法的概率上限是2-150,线性分析方法的概率上限是2-75。结合实际AES密
7、码的轮数,这些轮数对于抵抗上述攻击能够提供足够的安全性。4)变量法攻击:在变量法公布之后,线性和差分攻击方法在某些方面已经做了扩展,也公布了一些和它相关的攻击方法。最好的扩展方法是截段差分分析法(truncateddifferentials)。但是在设计AES密码的时候就已经考虑到这种攻击方法,AES密码能够比较好地抵抗这种攻击。其他的攻击方法还有:不可能差分攻击:差分密码攻击是利用高概率特征或差分恢复密钥,不可能差分攻击是利用概率为0(或非常小)的特征或差分,其基本思想是排除那些导致概率为0(或非常小
8、)的特征或差分的候选密钥。对5轮的AES密码,可以用不可能差分攻击方法,它要求229.5个选择明文、231个密文、242个存储字和226小时的预先处理时间,使得它可以攻击6轮的AES密码。但是对于轮数更高的AES密码,采用该方法攻击则没有更好的效果。5)Square攻击:对AES密码分析最有效的就是Square攻击,它是一个选择明文攻击,通过研究基于字节结构的密文来进行攻击。它对于和AES密码的其中一轮有相似结构的任何密文都是有效的。这种攻
此文档下载收益归作者所有