AES密码体制.pptVIP

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AES密码体制

AES内容;AES数学基础 ; 1997年4月15日,美国ANSI发起征集AES(advanced encryption standard)的活动,并为此成立了AES工作小组。此次活动的目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法,以作为新的数据加密标准。1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。对AES的基本要求是:比三重DES快、至少与三重DES一样安全、数据分组长度为128比特、密钥长度为128/192/256比特。; 1998年8月12日,在首届AES候选会议(first AES candidate conference)上公布了AES的15个候选算法,任由全世界各机构和个人攻击和评论,这15个候选算法是CAST256、CRYPTON、E2、DEAL、FROG、SAFER+、RC6、MAGENTA、LOKI97、SERPENT、MARS、Rijndael、DFC、Twofish、HPC。1999年3月,在第2届AES候选会议(second AES candidate conference)上经过对全球各密码机构和个人对候选算法分析结果的讨论,从15个候选算法中选出了5个。; 这5个是RC6、Rijndael、SERPENT、Twofish和MARS。2000年4月13日至14日,召开了第3届AES候选会议(third AES candidate conference),继续对最后5个候选算法进行讨论。2000年10月2日,NIST宣布Rijndael作为新的AES。至此,经过3年多的讨论,Rijndael终于脱颖而出。 ; Rijndael 由比利时的Joan Daemen和Vincent Rijmen设计,算法的原型是Square算法,它的设计策略是宽轨迹策略(wide trail strategy)。宽轨迹策略是针对差分分析和线性分析提出的,它的最大优点是可以给出算法的最佳差分特征的概率及最佳线性逼近的偏差的界;由此,可以分析算法抵抗差分密码分析及线性密码分析的能力。;设计思想 Rijndael密码的设计力求满足以下3条标准: ① 抵抗所有已知的攻击。 ② 在多个平台上速度快,编码紧凑。 ③ 设计简单。; 当前的大多数分组密码,其轮函数是Feistel结构,即将中间状态的部分比特不加改变地简单放置到其他位置。Rijndael没有这种结构,其轮函数是由3个不同的可逆均匀变换组成的,称它们为3个“层”。所谓“均匀变换”是指状态的每个比特都是用类似的方法进行处理的。不同层的特定选择大部分是建立在“宽轨迹策略”的应用基础上的。简单地说,“宽轨迹策略”就是提供抗线性密码分析和差分密??分析能力的一种设计。; 为实现宽轨迹策略,轮函数3个层中的每一层都有它自己的功能: 线性混合层——确保多轮之上的高度扩散; 非线性层——将具有最优的“最坏情况非线性特性”的S盒并行使用; 密钥加层——单轮子密钥简单地异或到中间状态上,实现一次性掩盖。; Rijndael是一个迭代型分组密码,其分组长度和密钥长度都可变,各自可以独立地指定为128比特、192比特、256比特。;AES加密和解密;1. 状态、种子密钥和轮数 算法中间结果的分组为状态,所有的操作都在状态上进行。状态可以用以字节为元素的矩阵阵列表示,该阵列有4行,列数记为Nb,Nb,等于分组长度除以32。 种子密钥类似地用一个以字节为元素的矩阵阵列表示,该阵列有4行,列数记为Nk,Nk等于分组长度除以32。; “状态”是以字节为单位构成的矩阵,每一列为1个字,含4个字节,32位,即:4字节构成的列向量长度称为1个字。 1个字=4个字节=32位(2进制);2. 轮函数 Rijndael的轮函数由4个不同的计算部件组成,分别是: 字节代换(ByteSub) 行移位(ShiftRow) 列混合(MixColumn) 密钥加(AddRoundKey);(1) 字节代换(ByteSub) 字节代换是非线形变换,独立地对状态的每个字节进行。代换表(即S-盒)是可逆的,由以下两个变换的合成得到: ① 首先,将字节看作GF(28)上的元素,映射到自己的乘法逆元,‘00’映射到自己。 ② 其次,对字节做如下的(GF(2)上的,可逆的)仿射变换:; 上述S-盒对状态的所有字节所做的变换记为 ByteSub (State) 图 字节代换示意图;S盒查表方式; ByteSub的逆变换由代换表的逆表做字节代换,可通过如下两步实现: 首先进行仿射变换的逆变换,再求每一字节在GF(28)上逆元。;(2) 行移位(ShiftRow) 行移位是将状态阵列的各行进行循环移字节,不同状态行的位移量不同。第0行不移

文档评论(0)

zw4044 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档