分组密码 4.5 高级加密标准(AES)(续).ppt

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

密码学 第四章 分组密码 4.5 高级加密标准(AES)(续) 密文(字节矩阵) 明文(字节矩阵) 字节代替变换 行移位变换 列混合变换 行移位变换 字节代替变换 ? k1 k10 k0 第一圈 第十圈 AES加密运行图 密钥生成算法 脱密算法 加脱密相似性 AES的简单分析 4.5 高级加密标准(AES)(续) 圈密钥是通过密钥生成算法从初始密钥中获得的,其长度等于分组长度。AES的密钥生成算法由两部分组成: 初始密钥经密钥扩展过程产生出11?4 = 44个四字节密钥字的扩展密钥。 W0 W1 W2 W3 W4 W5 W6 W7 … W43 (一)密钥扩展 一、密钥生成算法 (二)圈密钥选取 圈密钥按顺序取自扩展密钥。 W0 W1 W2 W3 W4 W5 W6 W7 … W40 W41 W42 W43 k0 k1 k10 当 时,如果 ,那么 如果 ,那么 扩展密钥的前4个字W0 W1 W2 W3 直接取自初始密钥,后面的字由前面的字递归定义。 (一)密钥扩展 一、密钥生成算法 (1)函数 RotByte( ):输入输出都是四字节的字,将输入按字节循环左移一位可得输出,即: RotByte (a, b, c, d) = (b, c, d, a)。 (2)函数 SubByte ( ):AES的S盒变换,输入输出都是四字节的字。 一、密钥生成算法 (3)圈常数 Rcon[ j]是一个四字节的字,按下述方法定义: Rcon[ j] = (xj-1modm(x), 0016, 0016, 0016)。 x0(modm(x)) 0116 x1(modm(x)) 0216 x2(modm(x)) 0416 x3(modm(x)) 0816 x4(modm(x)) 1016 x5(modm(x)) 2016 x6(modm(x)) 4016 x7(modm(x)) 8016 x8(modm(x)) 1B16 x4(modm(x)) 3616 一、密钥生成算法 设初始密钥为 一、密钥生成算法 (二)圈密钥选取 圈密钥按顺序取自扩展密钥。即第0圈的圈密钥由扩展密钥中最前面的4个字组成,第1圈的圈密钥由接下来的4个字组成,…,第10圈即最后一圈的圈密钥由最后的4个字组成。 W0 W1 W2 W3 W4 W5 W6 W7 … W40 W41 W42 W43 k0 k1 k10 一、密钥生成算法 二、脱密算法 AES的加、脱密过程具有等价结构。通过将加密过程中的变换用相应的逆变换代替,以及在密钥调度中作适当变化即成为脱密过程。 明文(字节矩阵) 密文(字节矩阵) 逆字节代替变换 逆行移位变换 逆列混合变换 逆行移位变换 逆字节代替变换 ? C-1(k9 ) k0 10 k 第一圈 第十圈 AES脱密运行图 (一)逆字节代替变换 逆字节代替变换是字节代替变换的逆变换。它将状态中的每一个字节非线性地变换为另一个字节,也由两个可逆变换复合而成。先用仿射变换的逆变换作用,再在GF(28)中取乘法逆即得。 二、脱密算法 AES的逆S盒 二、脱密算法 (二) 逆行移位变换 逆行移位变换是行移位变换的逆变换。如果将一个状态的状态矩阵的行从上到下分别称为第0,1,2,3行,则逆行移位变换的作用是将一个状态的第i 行循环右移i 个字节。 二、脱密算法 (三)逆列混合变换 逆列混合变换是列混合变换的逆变换。它将一个状态的每一列视为系数在GF(28)上的一个多项式且与一个固定多项式 a-1(x) = {0b}x3 + {0d}x2 + {09}x + {0e} 模 x4 + 1 相乘。 二、脱密算法 二、脱密算法 (四)脱密算法中的圈密钥 AES脱密算法的初始圈和最后一圈(第10圈)的圈密钥分别是加密算法的最后一圈(第10圈)和初始圈的圈密钥,脱密算法的第1圈到第9圈的圈密钥分别是加密算法的第9圈到第1圈的圈密钥经逆列混合变换后得到的。 加密密钥: 解密密钥: 二、脱密算法 记:S为字节代替变换,R为行移位变换,C 为列混合变换;S-1为逆字节代替变换,R-1为逆行移位变换,C -1为逆列混合变换,Ak表示圈密钥加变换,显然有: SS-1= I,RR-1= I,CC-1= I,AkAk= I, 三、加脱密相似性 字节代替与行移位可交换 SR = RS ú ú

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档