- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
混淆变换示意图 轮密钥加 轮密钥加(AddRoundKey( ))在轮密钥加变换中,128位的State按位与128位子密钥异或 可以将这种操作看成是state一列中的4个字节与轮密钥的一个字进行异或 也可以看成是两者之间的字节异或 AES的密钥扩展 当分组长度和密钥长度都是128位时,AES的加密算法共迭代10轮,需要11个子密钥 AES的密钥扩展的目的是将输入的128位密钥扩展成11个128位的子密钥 AES的密钥扩展算法是以字为一个基本单位 一个字等于4个字节,共32位,刚好是密钥矩阵的一列 因此4个字(128位)密钥需要扩展成11个子密钥,共44个字 若Nr表示加密算法轮数,那么密钥扩展总共生成Nb(Nr+1)个字 扩展后的密钥编排结果由一个4-byte字的线性数组组成 第一个子密钥的Nk个字由密码的原始密钥直接填充 下面以Nk=4(即密钥为128位)为例,说明AES的密钥扩展过程 密钥扩展过程 (1) 将输入密钥直接复制到扩展密钥数组的前4个字中,得到w[0],w[1],w[2],w[3]。 (2) 然后每次用4个字填充扩展密钥数组w的余下部分,w[i]值依赖于 w[i-1]和 w[i-4],i ≥4。 (3) 当数组w下标不是4的倍数时, w[i]值为 w[i-1]和 w[i-4] 的异或。 (4) 当数组w下标为4的倍数时,按照下面方法计算: ① 将一个字的四个字节循环左移一个字节,即将输入字[b0, b1, b2, b3]变为[b1, b2, b3, b0]; ② 用S盒对输入字的每个字节进行字节代换; ③ 将步骤①和步骤②的结果再与轮常数Rcon[i]相异或 轮常数Rcon[i]是一个字,这个字的最右边三个字节总是0 与轮常数的一个字异或,其结果即是与该字最左边的字节相异或 每轮的轮常数均不同,其定义为Rcon[i] = (RC[i], {00}, {00}, {00}),其中RC[1] ={01},RC[i] = {02} ( RC[i-1]),用多项式表示为RC[i] = x ( RC[i-1]) = xi-1,i≥2 字节用16进制表示,同时理解为GF(28)上的元素 xi-1为GF(28)中的多项式x的i-1次方所对应的字节 考虑到x对应的字节为{02}, 轮常数也可以写为: Rcon[i] = ((02) i-1, {00}, {00}, {00}) 前10个轮常数RC[i]的值如表3.4所示,对应的Rcon[i] 如表3.5所示 AES解密算法 AES解密算法是AES加密算法的逆变换 解密算法和加密算法轮结构的顺序不同 但是加密和解密算法中的密钥编排形式相同 在加密过程中,其轮结构是字节代换、行移位、列混淆和轮密钥加。在解密过程中,其轮结构是逆向行移位、逆向字节代换、轮密钥加和逆向列混淆 其缺点是在于对同时要求加密和解密的应用而言, 需要两个不同的软件或者固件模块 需要构造一个等价的解密算法,解密时各个变换的操作顺序与加密(由逆向变换取代原来的变换)相同 通过两处改进可以使解密算法结构和加密算法结构一致 交换逆向字节代换和逆向字节代换和交换轮密钥加和逆向列混淆 AES的安全性 AES的设计的各个方面都使它具有能够抵抗所有已知攻击的能力 AES的轮函数设计是基于宽轨迹策略(Wide Trail strategy),这种设计策略是针对差分密码分析和线性密码分析制定的 宽轨迹策略的最大优点是可以估计算法的最大差分特征概率和最大线性逼近概率,由此可以评估算法抵抗差分密码分析和线性密码分析的能力 AES的密钥长度也足以抵抗穷举密钥攻击 AES算法对密钥的选择没有任何限制,还没有发现弱密钥和半弱密的存在 它们是: MARS(由IBM公司研究部门的一个庞大团队发布,对它的评价是算法复杂、速度快、安全性高) RC6(由RSA实验室发布,对它的评价是极简单、速度极快、安全性低) Rijndael(由Joan Daemen和 Vincent Rijmen 两位比利时密码专家发布,对它的评价是算法简洁、速度快、安全性好) Serpent(由Ross Anderson , Eli Biham 和 Lars Knudsen发布,对它的评价是算法简洁、速度慢、安全性极高) Twofish(由Counterpane公司一个庞大的团队发布,对它的评价是算法复杂、速度极快、安全性高) 从全方位考虑,Rijndael(读成Rain Doll)汇聚了安全,性能,效率,易用和灵活等优点,使它成为AES最合适的选择 2000年10月Rijndael算法被选为高级加密标准 2001年11月发布为联邦信息处理标准(Federal Infor
您可能关注的文档
最近下载
- 2025云南红河州州属事业单位考试调动21人笔试备考题库及答案解析.docx VIP
- 2025云南红河州州属事业单位考试调动21人考试备考题库及答案解析.docx VIP
- [现代武器(国防教育系列].ppt VIP
- 2025云南红河州州属事业单位考试调动21人备考练习题库及答案解析.docx VIP
- 教学菜——川菜完整版全套PPT电子课件教案.pptx
- Unit 7 A Day to Remember 单元检测 人教版七年级英语下册.docx
- 中国现代武器发展历程.pptx VIP
- 青少版新概念英语2A-unit3PPT.ppt VIP
- 菜鸟驿站施工方案.docx VIP
- 2025年未来武器技术的前沿探索.pptx VIP
文档评论(0)