密码编码学与网络安全(第五版) 向金海 04-对称密码-a

上传人:xiao****1972 文档编号:71602643 上传时间:2019-01-21 格式:PPT 页数:63 大小:1.87MB
返回 下载 相关 举报
密码编码学与网络安全(第五版) 向金海 04-对称密码-a_第1页
第1页 / 共63页
密码编码学与网络安全(第五版) 向金海 04-对称密码-a_第2页
第2页 / 共63页
密码编码学与网络安全(第五版) 向金海 04-对称密码-a_第3页
第3页 / 共63页
密码编码学与网络安全(第五版) 向金海 04-对称密码-a_第4页
第4页 / 共63页
密码编码学与网络安全(第五版) 向金海 04-对称密码-a_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《密码编码学与网络安全(第五版) 向金海 04-对称密码-a》由会员分享,可在线阅读,更多相关《密码编码学与网络安全(第五版) 向金海 04-对称密码-a(63页珍藏版)》请在金锄头文库上搜索。

1、Chapter 4 对 称 密 码,DES? 继续加强DES:2DES、3DES 寻找替代性算法,2019/1/21,2,2019/1/21,3,三重DES算法,2DES 3DES,2019/1/21,4,2DES? C = EK2(EK1(P) EK3(P)? 对单步加密进行推导 EK2(EK1(P) EK3(P)? 中间相遇攻击 已知明文攻击可以成功对付密钥长度为112位的2DES X = EK1(P) = DK2(C) 用所有可能的密钥加密明文并存储 用所有可能的密钥解密密文,并与存储的X匹配 2112/264=248,248/264=2-16,两组明密对后,正确密钥的概率是1-2-16

2、 ;三组明密对后,正确密钥的概率是1-2-80 付出数量级为 O(256),比攻击单DES的O(255)多不了多少,2DES?,(264)!101020 2561017,2019/1/21,5,使用两个密钥的3DES,三重两密 思路:加密-解密-加密: 说明:第二步用解密运算,可适应单DES,即当k2 k1时,3DES1DES 安全性:目前无可行攻击方法 应用:较多,如密钥管理标准ANSI X9.17和ISO 8732。,2019/1/21,6,2019/1/21,7,三重三密 思路:加密-解密-加密 应用:较多,如PGP和S/MINE 。 五重三密DES 思路:加密-解密-加密-解密-加密

3、应用:可适应单DES或三重两密的情形,使用三个密钥的3DES,高级加密标准 AES,2019/1/21,8,2019/1/21,9,Advanced Encryption Standard (AES) 2001年由美国国家标准技术局(NIST)发布 对称分组密码算法,用以取代DES,2019/1/21,10,高级加密标准的评估准则,高级加密标准的起源 1997年4月15日,NIST发起征集高级加密标准的活动,活动目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法,作为新的数据加密标准。 1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。作为进入AES候

4、选过程的一个条件,开发者承诺放弃被选中算法的知识产权。,2019/1/21,11,NIST对AES算法的要求 算法应比三重DES快而且至少还要一样的安全 应当具有128比特分组长度和128/192/256比特密钥长度 1998年NIST收到12个国家的15个候选算法 1999年NIST从中选出5个算法进一步筛选: MARS(IBM)、RC6(MIT)、Rijndael( 比) 、Serpent( 英、以、美) 、Twofish(美)。 2 0 0 0 年NIST 宣布选择比利时的密码专家的Rijndael作为最终AES的算法。,2019/1/21,12,AES Requirements,pri

5、vate key symmetric block cipher 128-bit data, 128/192/256-bit keys stronger & faster than Triple-DES active life of 20-30 years (+ archival use) provide full specification & design details both C & Java implementations NIST have released all submissions & unclassified analyses,2019/1/21,13,AES Evalu

6、ation Criteria,initial criteria security effort for practical cryptanalysis cost in terms of computational efficiency algorithm & implementation characteristics final criteria general security ease of software & hardware implementation implementation attacks flexibility (in en/decrypt, keying, other

7、 factors),2019/1/21,14,AES Shortlist,after testing and evaluation, shortlist in Aug-99: MARS (IBM) - complex, fast, high security margin RC6 (USA) - v. simple, v. fast, low security margin Rijndael (Belgium) - clean, fast, good security margin Serpent (Euro) - slow, clean, v. high security margin Tw

8、ofish (USA) - complex, v. fast, high security margin then subject to further analysis & comment saw contrast between algorithms with few complex rounds verses many simple rounds which refined existing ciphers verses new proposals,2019/1/21,15,The AES Cipher - Rijndael,designed by Rijmen-Daemen in Be

9、lgium has 128/192/256 bit keys, 128 bit data an iterative rather than feistel cipher processes data as block of 4 columns of 4 bytes operates on entire data block in every round designed to be: resistant against known attacks speed and code compactness on many CPUs design simplicity,2019/1/21,16,201

10、9/1/21,17,2019/1/21,18,AES密码,AES的参数,2019/1/21,19,AES密码,AES的特性 所有的已知攻击具有免疫性 在各种平台上执行速度快,代码紧凑 设计简单,2019/1/21,20,AES密码,数据结构 以字节为单位的方阵描述:输入分组in、中间数组State、输出、密钥 排列顺序:方阵中从上到下,从左到右,2019/1/21,21,AES密码,SP网络结构 在这种密码的每一轮中,轮输入首先被一个由子密钥控制的可逆函数S作用,然后再对所得结果用置换(或可逆线性变换)P作用。S和P分别被称为混乱层和扩散层,主要起混乱和扩散作用。,2019/1/21,22,A

11、ES密码,AES算法结构 AES算法的轮变换中没有Feistel结构,轮变换是由三个不同的可逆一致变换组成,称之为层。 线性混合层:确保多轮之上的高度扩散 非线性层:具有最优最差-情形非线性性的S-盒的并行应用 密钥加层:轮密钥简单地异或到中间状态上,2019/1/21,23,AES密码,AES算法结构,2019/1/21,24,AES-128加解密过程,Rijndael,2019/1/21,25,2019/1/21,26,AES密码,数据结构:状态、密钥、输出的矩阵表示,2019/1/21,27,字节代换(Substitute Bytes )变换,正向和逆向变换 字节代替是一个非线性的字节代

12、替,独立地在每个状态字节上进行运算。 代替表(S-盒)是可逆的,是一个1616的矩阵。,2019/1/21,28,2019/1/21,29,字节代换(Substitute Bytes )变换,S-盒 代替表(S-盒)是可逆的,是一个1616的矩阵。,2019/1/21,30,2019/1/21,31,字节代换(Substitute Bytes )变换,例子,2019/1/21,32,S盒的构造 初始化 元素求逆:在GF中求逆 元素置换,其中:,=(01100011)2,2019/1/21,33,行移位(shift Row)变换,正向和逆向变换,2019/1/21,34,行移位(shift Ro

13、w)变换,例子,2019/1/21,华中农业大学信息学院,35,列混淆(Mix Column)变换,正向和逆向变换 代替操作,将状态的列看作有限域GF(28)上的4维向量并被有限域GF(28)上的一个固定可逆方阵A乘 乘法是GF(28)定义中定义的,素多项式为: m(x) =x8+x4+x3+x+1,2019/1/21,华中农业大学信息学院,36,2019/1/21,华中农业大学信息学院,37,列混淆(Mix Column)变换,例子,2019/1/21,华中农业大学信息学院,38,轮密钥加(Add Round Key)变换,一个简单地按位异或的操作,2019/1/21,华中农业大学信息学院,

14、39,内部函数的功能小结,SubBytes 的目的是为了得到一个非线性的代换密码。对于分析密码抗差分分析来说,非线性是一个重要的性质。 ShiftRows 和MixColumns 的目的是获得明文消息分组在不同位置上的字节混合。 AddRoundKey 给出了消息分布所需的秘密随机性。,2019/1/21,华中农业大学信息学院,40,AES的密钥扩展,轮密钥是通过密钥调度算法从密钥中产生,包括两个组成部分:密钥扩展和轮密钥选取。基本原理如下: 所有轮密钥比特的总数等于分组长度乘轮数加1。(如128比特的分组长度和10轮迭代,共需要1408比特的密钥)。 将密钥扩展成一个扩展密钥。 轮密钥按下述

15、方式从扩展密钥中选取:第一个轮密钥由开始Nb个字组成,第二个轮密钥由接下来的Nb个字组成,如此继续下去。,2019/1/21,华中农业大学信息学院,41,AES的密钥扩展,密钥扩展 扩展过程,2019/1/21,华中农业大学信息学院,42,2019/1/21,华中农业大学信息学院,43,AES的密钥扩展,函数g RotWord执行一字节循环左移b0,b1,b2,b3 b1,b2,b3,b0 SubWord执行使用S-盒实行字节替换 前两步的结果XOR与轮常数Rconj,2019/1/21,华中农业大学信息学院,44,AES的密钥扩展,轮常量,2019/1/21,华中农业大学信息学院,45,AE

16、S的密钥扩展,例子,2019/1/21,华中农业大学信息学院,46,对应的逆运算,2019/1/21,华中农业大学信息学院,47,实现,可以在8-bit CPU上有效实现 byte substitution works on bytes using a table of 256 entries shift rows is simple byte shift add round key works on byte XORs mix columns requires matrix multiply in GF(28) which works on byte values, can be simplified to use table lookups & byte XORs,2019/1/21,华中农业大学信息学院,48,实现,可以在32-bit CPU上有效实现 重新定义步骤以适应32-bit的字长 可以预先计算256个字的四个表 then each column in each round can be c

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号