AES加密算法详解解答.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 高级加密标准(AES) AES的起源 AES的设计原则 AES算法描述 1. AES的起源 1997年9月,NIST征集AES方案,以替代DES。 1999年8月,以下5个方案成为最终候选方案:MARS, RC6, Rijndael, Serpent, Twofish。 2000年10月,由比利时的Joan Daemen和Vincent Rijmen提出的算法最终胜出。( Rijndael 读成Rain Doll。) http://www.esat.kuleuven.ac.be/~rijmen/rijndael/ 2. AES的设计原则 能抵抗所有已知的攻击; 在各种平台上易于实现,速度快; 设计简单。 3. AES 算法的一般描述 3. AES 算法加密部分的实现 一些相关的的术语定义和表示 状态(State):密码运算的中间结果称为状态。 State的表示:状态用以字节为基本构成元素的矩阵阵列来表示,该阵列有4行,列数记为Nb。 Nb=分组长度(bits)÷ 32 Nb可以取的值为4,6,8,对应的分组长度为128, 192, 256 bits。 密码密钥(Cipher Key)的表示: Cipher Key类似地用一个4行的矩阵阵列来表示,列数记为Nk。 Nk=密钥长度(bits)÷32 Nk可以取的值为4,6,8,对应的密钥长度为128, 192, 256 bits。 Fig 3. 当Nb=6时的状态和Nk=4时的密钥布局 用伪代码表示的Rijndael轮变换 ByteSubstitution(字节替代) Fig 6. ByteSubstitution 该变换可以用一个256字节的表来实现 ByteRotation(字节移位) Fig 7. ByteRotation MixColumn(列混合) Fig 8. MixColumn 这一运算作用在每一列上 2.4 AddRoundKey(轮密钥加) 用伪代码表示的Rijndael加密算法 提前进行密钥扩展后的Rijndael加密算法描述 AES 的密钥调度 密钥调度包括两个部分:密钥扩展和轮密钥选取。 密钥bit的总数=分组长度×(轮数Round+1)例如当分组长度为128bits和轮数Round为10时,轮密钥长度为128×(10+1)=1408bits。 将密码密钥扩展成一个扩展密钥。 从扩展密钥中取出轮密钥:第一个轮密钥由扩展密钥的第一个Nb个4字节字,第二个圈密钥由接下来的Nb个4字节字组成,以此类推。 密钥扩展 Key expansion 轮密钥选取 AES的解密算法 解密算法与加密算法不同 每个阶段均可逆,因此易证解密函授的确可以恢复明文 见图5.7,P.121 AES 算法的设计原理 GF(28)中乘法使用的多项式是8次不可约多项式列表中的第一个多项式。 ByteSubstitution(称为S盒)在设计时考虑到抵抗差分密码分析、线性密码分析的要求,应满足以下条件:1. 可逆性; 2. 输入比特的线性组合与输出比特的组合之间的最大非平凡相关性的极小化; 3. 异或差分表中最大非平凡值的极小化; 4. GF(28)中代数表示的复杂性; 5. 描述的简单性。 MixColumn变换符合以下准则: 1. 可逆性; 2. GF(2)中的线性性; 3. 适当的扩散性能; 4. 8位处理器上实现速度快;5. 对称性; 6. 描述的简单性。选择模数多项式x4+1可满足准则2、5、6。准则1、3、4要求系数的值要小,故选00、01、02 、 03。 ByteRotation符合以下准则: 1. 4个位移量互不相同且C0=0; 2. 能抵抗差分截断攻击; 3. 能抗Square攻击; 4. 简单。 从满足准则2和准则3出发,AES的作者选取了最简单的组合。 与一些其它算法的比较: 与DES相比: 1. 无DES中的弱密钥和半弱密钥; 2. 紧凑的设计使得没有足够的空间来隐藏陷门。 与IDEA相比: 无IDEA中的弱密钥。 具有扩展性:密钥长度可以扩展到为32bits倍数的任意密钥长度,分组长度可以扩展到为64bits倍数的任意分组长度。圈数和循环移位偏移量作为参数,要重新定义。 关于有限域G(28)的一些解释 G(28)可看为8位二进制比特串的集合 直观上有限域的运算可为密码算法的实现带来方便 只有满足一些规则后,G(28)才是有限域( 参加第4章,p.95) G(28)上的运算 加法 按位异或 乘法 可通过对多个中间结果的移位运算和异或一个特定的比特串(

您可能关注的文档

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档