AES算法安全性研究.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AES算法安全性研究

AES算法安全性研究   摘 要:为了防止信息丢失和非法用户的监听,信息量的安全性尤为重要。而AES算法可对通信过程中的数据进行加解密,具有高性能的安全性。文章主要介绍了AES算法的基本运算,给出了其加/解密流程,并对其安全性进行了分析研究。   关键词: 安全性;AES算法;加密;解密   中图分类号:TP309 文献识别码:A 文章编号:2095-1302(2014)07-0061-02   0引言   无线通信系统中的信息量远超过以前,为了防止信息丢失和非法用户的监听,通常要采取一系列的安全措施。尤其是在LTE/4G时代,高速信息率的大信息量,安全性尤为重要。在LTE系统中,主要采用AES算法对通信过程中的数据进行加解密,AES算法是一种高效率的对称加密算法,具备很强的扩散性能,最后形成具有很高随机性的密码,从而使信息得到有效的保护[1]。   1AES算法概述   AES算法是一种比DES算法安全性更高的分组加密算法,是美国国家标准和技术研究所(NIST)发布征集的新加密算法。它的明文分组长度和密钥长度都可以被指定为128位、192位和256位[2]。在AES计算中,有一个4×4 B的数组State,可通过多轮操作来修改。AES算法的主循环对State执行4个不同的运算:字节替换(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)、轮密钥加(AddRoundKey)。   2AES算法的基本运算   AES算法的基本运算是字节替换(SubBytes),也就是对State中的每个字节经过S-BOX查表转换。其具体的操作为对于4×4状态矩阵中每个16进制的字节,前4 b标示为x,后4 b标示为y,坐标(x,y)所确定的数即为字节替换的结果。图1所示是AES算法的字节替换图。      图 1字节替换   行移位(ShiftRows)是字节替换的基本步骤,就是对图1中1字节替换中生成的新矩阵(4行4列),以字节为单位进行循环左移操作,即第1行:不执行循环左移操作;第2行:循环左移1个字节;第3行:循环左移2个字节;第4行:循环左移3个字节。      图 2行移位   列混淆(MixColumns)则是对State的列进行复杂的转换,每一列的4个元素与一个多项式相乘,并将这一列的每一个元素扩散到这一列的全部4个元素,具体的运算如下:   S0,C = ({02}?S0,C) ({03}?S1,C) S2,CS3,C   S1,C = S0,C({02}?S1,C) ({03}?S2,C) S3,C   S2,C = S0,C S1,C ({02}?S2,C) ({03}?S3,C)   S3,C = ({03}?S0,C)S1,CS2,C({02}?S3,C)   这里要注意的是:如果Si,C<128,上述公式中的{02}?Si,C =2* Si,C;如果Si,C≥128,{02}?Si,C =(2* Si,C)283,{03}?Si,C ={{02}?Si,C} Si,C。图3所示是其列混淆示意图。   轮密钥加(AddRoundKey)是在操作中,用轮密钥矩阵和状态矩阵进行简单的按位的异或运算。这里的轮密钥就是下文要提到的密钥编排所生成的轮密钥。其轮密钥加示意图如图4所示。   Rijndael有11轮密钥,标号为0~10,那些轮密钥每个都是4×4的矩阵字节。那些轮密钥通过下面所描述的密钥安排由Cipher Key所生成。初始轮密钥 (被看做是第0个轮密钥)是直接由Cipher Key组成。第0个轮密钥不做改变的用于初始密钥加[3]。剩余的轮密钥被用于其余十轮中。每一个新的轮密钥都是从上一个轮密钥中生成的。具体如表1所列。      图 3列混淆      图 4轮密钥加   表1轮密钥生成表K0 K4 K8 K12   K1 K5 K9 K13   K2 K6 K10 K14   K3 K7 K11 K15      rkr,i,j是第r个轮密钥矩阵中位置为 (i,j)的值(第i行第j列),ki,j是4×4 Cipher Key。其他轮密钥(r=1~10)可利用如下方法由前一个轮密钥计算得出。第0列的组成方式如下:   rkr,0,0=rkr-1,0,0S-box[rkr-1,1,3]round_const[r];   rkr,1,0 = rkr-1,1,0 S-box[rkr-1,2,3];   rkr,2,0 = rkr-1,2,0 S-box[rkr-1,3,3];   rkr,3,0 = rkr-1,3,0 S-box[rkr-1,0,3];   round_const[1]=1,round_const[r

文档评论(0)

189****7685 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档