网站大量收购独家精品文档,联系QQ:2885784924

第四章 分组密码4 现代密码学PPT课件.ppt

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

第四章 分组密码 一、分组密码概述 二、分组密码运行模式 三、DES 四、AES 五、分组密码的分析 四、AES AES提出 1997年1月,美国NIST向全世界密码学界发出征集21世纪高级加密标准(AES——Advanced Encryption Standard)算法的公告,并成立了AES标准工作研究室,1997年4月15日的例会制定了对AES的评估标准。 AES的要求 (1)AES是公开的; (2)AES为单钥体制分组密码; (3)AES的密钥长度可变,可按需要增大; (4)AES适于用软件和硬件实现; (5)AES可以自由地使用,或按符合美国国家标准(ANST)策略的条件使用; 算法衡量条件 满足以上要求的AES算法,需按下述条件判断优劣 a. 安全性 b. 计算效率 c. 内存要求 d. 使用简便性 e. 灵活性。 AES的评审 1998年4月15日全面征集AES算法的工作结束。1998年8月20日举行了首届AES讨论会,对涉及14个国家的密码学家所提出的候选AES算法进行了评估和测试,初选并公布了15个被选方案,供大家公开讨论。 CAST-256, RC-6, CRYPTON-128,DEAL-128, FROG, DFC, LOKI-97, MAGENTA, MARS, HPC, RIJNDAEL, SAFER+, SERPENT, E-2, TWOFISH。 这些算法设计思想新颖,技术水平先进,算法的强度都超过3-DES,实现速度快于3-DES。 AES的评审 1999年8月9日NIST宣布第二轮筛选出的5个候选算法为: MARS(C.Burwick等,IBM), RC6TM(R. Rivest等,RSA Lab.), RIJNDEAL(J. Daemen,比), SERPENT(R. Anderson等,英、以、挪威), TWOFISH(B. Schiener)。 2000年10月2日,NIST宣布Rijndael作为新的AES AES算法设计思想 抵抗所有已知的攻击; 在多个平台上速度快,编码紧凑; 设计简单。 Rijndael没有采用Feistel结构,轮函数由3个不同的可逆均匀变换构成的,称为3个层 均匀变换是指状态的每个bit都用类似的方法处理 轮函数的3层 线性混合层 确保多轮之上的高度扩散; 非线性层 将具有最优的“最坏情况非线性特性”的S盒并行使用; 密钥加层 单轮子密钥简单的异或到中间状态上,实现一次性掩盖。 算法说明 分组和密钥长度可变,各自可独立指定为128、192、256比特。 状态 算法中间的结果也需要分组,称之为状态,状态可以用以字节为元素的矩阵阵列表示,该阵列有4行,列数Nb为分组长度除32 种子密钥 以字节为元素的矩阵阵列描述,阵列为4行,列数Nk为密钥长度除32 算法说明 算法的输入、输出和种子密钥可看成字节组成的一维数组。 下标范围 输入输出:0-4Nb-1, 种子密钥:0-4Nk-1 Nb=6和Nk=4的状态密钥阵列 分组和阵列中元素对应关系 分组下标n 阵列位置(i,j) i=n mod 4, j=[n/4];n=i+4j 轮数Nr与Nb和Nk对应关系 轮函数 字节代换 行移位 列混合 密钥加 字节代换 非线性代换,独立地对状态的每个字节进行,并且代换表(S盒)可逆,记为ByteSub(State),分两步 将字节作为GF(28)上的元素映射到自己的逆元 将字节做如下的GF(2)上变换 字节代换 行移位 将状态阵列的各行进行循环移位,不同行的移位量不同 0行:不动 1行:循环左移C1字节 2行:循环左移C2字节 3行:循环左移C3字节 记为:ShiftRow(State) 行移位 移位量与分组长度的关系 列混合 将每列视为GF(28)上多项式,与固定的多项式c(x)进行模x4+1乘法,要求c(x)模x4+1可逆。 表示为MixColumn(State) 密钥加 轮密钥与状态进行逐比特异或。 轮密钥由种子密钥通过密钥编排算法得到 轮密钥长度与分组密钥长度相同 表示为AddRoundKey(State,RoundKey) 轮函数的伪C代码 Round(State,RoundKey) { ByteSub(State); ShiftRow(State); MixColumn(State); AddRoundKey(State,Roundkey);

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档