欢迎来到天天文库
浏览记录
ID:15856413
大小:811.00 KB
页数:6页
时间:2018-08-06
《高级加密标准aes的过程分析及其破解思考》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、AdvancedEncryptionStandardAESprocessanalysisandtocracktheofthinkingDuChangYu(GuizhouUniversityforNationalities MathsandComputerScience College,Guiyang,550025)Abstract: Thisarticle,thecurrentrelativelysafetouseAdvancedEncryptionStandardAESconductedamoredetailedprocessanalysis,Aimistoletmorepeopl
2、eunderstandtheAES,AndhopethiscanfindwaystocracktheAES。Thisarticleconsistsoftwoparts:First,AESanalysisoftherealizationoftheprocess。Including1,encryptionprocessing;2,AESkeyscheduling。Second,AESthinkingofcrack。Onthecurrentmethodscommonlyusedtobreaktheappropriatedescription,Andproposedsomeideassuppl
3、ythereference。Keywords: EncryptionStandard,processanalysis,Key,crack6高级加密标准AES的过程分析及其破解思考杜昌钰(贵州民族学院数学与计算机科学学院,贵阳,550025)摘要:本文针对目前使用比较安全的高级加密标准AES进行了比较详细的过程分析,目的是能让更多的人理解AES,并希望由此能找到破解AES的方法。本文由两部分组成:一、AES的实现过程分析。包括1、加密处理;2、AES密钥调度。二、AES的破解思考。对目前常用的破解方法进行了适当说明,并提出了一些想法供参考。关键词:加密标准,过程分析,密钥,破解中图分类号
4、:TP309.7文献标识码:A一、AES的实现过程分析Rijndael使用的是置换-组合架构,而非Feistel架构。AES是一个新的可以用于保护电子数据的加密算法。AES算法是基于置换和代替的,置换是数据的重新排列,而代替是用一个单元数据替换另一个。AES使用了几种不同的技术来实现置换和替换。AES是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(pe
5、rmutations)和替换(substitutions)输入数据。[1]对AES算法按加密处理和密钥调度两个方面进行分析:1、加密处理加密处理过程:加密时,各轮AES加密循环(除最后一轮外)均包含4个步骤:[2]1)、SubBytes—透过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。61)、ShiftRows—将矩阵中的每个横列进行循环式移位。2)、MixColumns—为了充分混合矩阵中各个直行的操作。这个步骤使用线性转换来混合每行内的四个字节。3)、AddRoundKey—矩阵中的每一个字节都与该次循环的子密钥(roundkey)做XOR运算;每个子密钥由密钥
6、生成方案产生。最后一个加密循环中省略MixColumns步骤,而以另一个AddRoundKey取代。SubBytes步骤在SubBytes步骤中,矩阵中各字节被固定的8位查找表中对应的特定字节所替换,S;bij=S(aij).如图所示:ShiftRows步骤在ShiftRows步骤中,矩阵中每一列的各个字节循环向左方位移。位移量则随着行数递增而递增。在ShiftRows步骤中,矩阵中每一列的各个字节循环向左方位移。位移量则随着行数递增而递增。MixColumns步驟在MixColumns步骤中,每个直行都在modulox4+1之下,和一个固定多项式c(x)作乘法。AddRoundKey
7、步骤AddRoundKey步骤,子密钥将会与原矩阵合并。在每次的加密循环中,都会由主密钥产生一把子密钥(透过Rijndael密钥生成方案产生),6这把子密钥大小会跟原矩阵一样,以与原矩阵中每个对应的字节作异或(⊕)加法。类推继续,完成10轮循环:2、AES密钥调度密钥调度包括两个部分:密钥扩展和轮密钥选取。密钥bit的总数=分组长度×(轮数Round+1)例如当分组长度为128bits和轮数Round为10时,轮密钥长度为128×(10+1)=
此文档下载收益归作者所有