对称密钥体制课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《对称密钥体制课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对称 密钥 体制 课件
- 资源描述:
-
1、第三章对称密钥体制 对称加密技术n基本概念n标准算法的介绍nDES算法nAES算法n分组密码的分析方法n分组密码的工作模式 基本概念n密码学中常见的有两种体制:n对称密码体制(单钥密码体制)如果一个加密系统的加密密钥和解密密钥相同,或者虽然不相同,但是由其中的任意一个可以很容易地推导出另一个,即密钥是双方共享的,则该系统所采用的就是对称密码体制。n非对称密码体制(公钥密码体制)n分组密码是指将处理的明文按照固定长度进行分组,加解密的处理在固定长度密钥的控制下,以一个分组为单位独立进行,得出一个固定长度的对应于明文分组的结果。属于对称密码体制的范畴。基本概念(续)n在分组密码的设计中用代替、置换
2、手段实现扩散和混淆功能。n混淆 指加密算法的密文与明文及密钥关系十分复杂,无法从数学上描述,或从统计上去分析。n扩散 指明文中的任一位以及密钥中的任一位,对全体密文位有影响。经由此种扩散作用,可以隐藏许多明文在统计上的特性,增加密码的安全 对称加密技术n基本概念n标准算法的介绍nDES算法n国际数据加密算法(IDEA)nAES算法n分组密码的分析方法n分组密码的工作模式 DES加密算法的背景l发明人 美国IBM公司W.Tuchman 和 C.Meyer 1971-1972年研制成功。l基础 1967年美国Horst Feistel提出的理论l产生 美国国家标准局(NBS)1973年5月到197
3、4年8月两次发布通告,公开征求用于电子计算机的加密算法。经评选从一大批算法中采纳了IBM的LUCIFER方案。l标准化 DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data Encryption Standard),于1977年7月15日生效。DES加密算法的背景n美国国家安全局(NSA,National Security Agency)参与了美国国家标准局制定数据加密标准的过程。NBS接受了NSA的某些建议,对算法做了修改,并将密钥长度从LUCIFER方案中的128位压缩到56位。n1979年,美国银行协会批准使用DES。n1980年,DES成为
4、美国标准化协会(ANSI)标准。n1984年2月,ISO成立的数据加密技术委员会(SC20)在DES基础上制定数据加密的国际标准工作。到目前为止,还没有人给出攻击三重DES的有效方法。可变的密钥长度:RC5适合于传输长度大于64位的报文,还可以进行用户鉴别,是大多系统的标准如 SSL、IPSec现设输入为:DD1D2D3D4D5D6 令:列D2D3D4D5 行D1D6然后在S1表中查得对应的数,以4位二进制表示,此即为选择函数S1的输出。将密码密钥扩展成一个扩展密钥。同样信息多次出现造成泄漏双重DES(Double DES)密钥的有效长度为168位误差传递:密文块损坏仅对应明文块损坏有较好的数
5、学理论作为基础换句话说,对已知2个明文-密文对的中间相遇攻击成功的概率为1-2-16。美国国家标准局(NBS)1973年5月到1974年8月两次发布通告,公开征求用于电子计算机的加密算法。给定两个明密文对,虚警率降为248-64=2-16。i=j=x=y=0适用于软件或者硬件实现误差传递:密文块损坏两明文块损坏密钥Ki(48bit)的生成算法密码学中常见的有两种体制:从直观上看,上面的假设不可能为真。Si 为移位寄存器,j为流单元宽度DES算法描述n为二进制编码数据设计的,可以对计算机数据进行密码保护的数学运算。nDES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。
6、在每轮编码时,一个48位的“每轮”密钥值由56位的“种子”密钥得出来。nDES算法的入口参数有三个:Key、Data和Mode。nKey为8个字节共64位,是DES算法的工作密钥;nData也为8个字节64位,是要被加密或被解密的数据;nMode为DES的工作方式,有两种:加密或解密n64位明文变换到64位密文,密钥64位,实际可用密钥长度为56位。攻击用的代价加密或解密所用运算次数 2 256REi=(REi-1 LEi)LEi)+S2i+1;对称密码体制(单钥密码体制)RFC2040 Baldwin,R.REi=(REi-1 LEi)LEi)+S2i+1;经评选从一大批算法中采纳了IBM的
7、LUCIFER方案。整个加密使用了下述3个基本运算和它们的逆运算:2000年4月13日,第三次AES会议上,对这5个候选算法的各种分析结果进行了讨论。互不满足分配律、结合律2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25C=EK3(DK2(EK1(P)P=DK3(EK2(DK1(C)FinalRound(State,RoundKey)【例】第1位经过初始置换后,处于第40位,而通过逆置轮密钥加(Add Round Key)运算:XOR,模216(65536)加 ,模(216+1)(65537)乘可变的密钥长度:RC5可变的F:CAST-128DES的实际密钥长
8、度为56-bit,就目前计算机的计算机能力而言,DES不能抵抗对密钥的穷举搜索攻击。DES算法描述(续)n初始换位的功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则见下表:58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7n例:设置换前
9、的输入值为D1D2D3.D64,则经过初始置换后的结果为:L0=D58D50.D8;R0=D57D49.D7。DES算法描述(续)n逆置换正好是初始置的逆运算。【例】第1位经过初始置换后,处于第40位,而通过逆置 换,又将第40位换回到第1位,其逆置换规则如下表所示:40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1
10、41 9 49 17 57 25DES算法的一次迭代过程图DES算法描述(续)n扩展置换为:32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1nP-盒置换为:16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25n在变换中用到的S1,S2.S8为选择函数,俗称为S-盒,是D
11、ES算法的核心。其功能是把6bit数据变为4bit数据。S1:14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 015 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 n在S1中,共有4行数据,命名为0,1、2、3行;每行有16列,命名为0、1、2、3,.,14、15列。现设输入为:DD1D2D3D4D5D6 令:列D2D3D4D5 行D1D6然后在S1表中查得对应的数,以4位二进制表示,此即为选择函
12、数S1的输出。密钥Ki(48bit)的生成算法 DES的破解n DES的实际密钥长度为56-bit,就目前计算机的计算机能力而言,DES不能抵抗对密钥的穷举搜索攻击。n 1997年1月28日,RSA数据安全公司在RSA安全年会上悬赏10000美金破解DES,克罗拉多州的程序员Verser在Inrernet上数万名志愿者的协作下用96天的时间找到了密钥长度为40-bit和48-bit的DES密钥。n 1998年7月电子边境基金会(EFF)使用一台价值25万美元的计算机在56小时之内破译了56-bit的DES。n 1999年1月电子边境基金会(EFF)通过互联网上的10万台计算机合作,仅用22小时
13、15分就破解了56-bit的ES。n 不过这些破译的前提是,破译者能识别出破译的结不过这些破译的前提是,破译者能识别出破译的结果确实是明文,也即破译的结果必须容易辩认。如果果确实是明文,也即破译的结果必须容易辩认。如果明文加密之前经过压缩等处理,辩认工作就比较困难。明文加密之前经过压缩等处理,辩认工作就比较困难。DES算法的公开性与脆弱性nDES的两个主要弱点:n密钥容量:56位不太可能提供足够的安全性nS盒:可能隐含有陷井(Hidden trapdoors)nDES的半公开性:S盒的设计原理至今未公布 对称加密技术n基本概念n标准算法的介绍nDES算法nAES算法n分组密码的工作模式n分组密
14、码的分析方法分组密码的操作模式n电子密码本ECB(electronic codebook mode)n密码分组链接CBC(cipher block chaining)n密码反馈CFB(cipher feedback)n输出反馈OFB(output feedback)前两步的结果XOR与轮常数Rconj在每轮编码时,一个48位的“每轮”密钥值由56位的“种子”密钥得出来。需要共同的初始化向量IV40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31Triple DES12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21
15、22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1有较好的数学理论作为基础Ci=EK(Pi)Pi=DK(Ci)用变量Lei,Rei参与三密钥的三重DES分析ByteSub(State);RC5版本:RC5-w/r/b有较好的数学理论作为基础对于不同的消息,IV必须唯一密钥相关的S盒:BlowfishC=EK2(EK1(P)X=EK1(P)=DK2(C)DES-EEE2:K1=K3,同上Proof that DES is not a group整个加密使用了下述3个基本运算和它们的逆运算:2000年4月13日,第三次AES会议上,对这5个候选算法的各种分
16、析结果进行了讨论。电子密码本(ECB)Ci=EK(Pi)Pi=DK(Ci)ECB特点简单和有效可以并行实现不能隐藏明文的模式信息相同明文相同密文同样信息多次出现造成泄漏对明文的主动攻击是可能的信息块可被替换、重排、删除、重放误差传递:密文块损坏仅对应明文块损坏适合于传输短信息密码分组链接CBCCi=EK(Ci-1Pi)Pi=EK(Ci)Ci-1CBC特点没有已知的并行实现算法能隐藏明文的模式信息需要共同的初始化向量IV相同明文不同密文初始化向量IV可以用来改变第一块对明文的主动攻击是不容易的信息块不容易被替换、重排、删除、重放误差传递:密文块损坏两明文块损坏n安全性好于ECBn适合于传输长度大
17、于64位的报文,还可以进行用户鉴别,是大多系统的标准如 SSL、IPSec 密码反馈CFBCFB:分组密码流密码 Si 为移位寄存器,j为流单元宽度 加密:Ci=Pi(EK(Si)的高j位)Si+1=(Sij)|Ci 解密:Pi=Ci(EK(Si)的高j位)Si+1=(Sij)|Ci CFB加密示意图加密示意图Ci=Pi(EK(Si)的高的高j位位);Si+1=(Sij)|Ci CFB解密示意图解密示意图Pi=Ci(EK(Si)的高的高j位位);Si+1=(Sij)|Ci 换,又将第40位换回到第1位,其逆置换规则如下表所示:1998年7月电子边境基金会(EFF)使用一台价值25万美元的计算机
18、在56小时之内破译了56-bit的DES。C=EK2(EK1(P)X=EK1(P)=DK2(C)RFC2040 Baldwin,R.2000年10月2日,NIST宣布了获胜者Rijndael算法,2001年11月出版了最终标准FIPS PUB197。LE0=A+S0需要共同的移位寄存器初始值IV解密:Pi=Ci(EK(Si)的高j位)误差传递:密文块损坏两明文块损坏模2w加法运算,表示为“+”;现设输入为:DD1D2D3D4D5D6 令:列D2D3D4D5 行D1D6然后在S1表中查得对应的数,以4位二进制表示,此即为选择函数S1的输出。DES-EEE2:K1=K3,同上运算:XOR,模216
19、(65536)加 ,模(216+1)(65537)乘误差传递:密文块损坏两明文块损坏在变换中用到的S1,S2.有较好的数学理论作为基础误差传递:密文块损坏仅对应明文块损坏C=EK3(DK2(EK1(P)P=DK3(EK2(DK1(C),and Rivest,R.没有已知的并行实现算法CFB特点分组密码流密码没有已知的并行实现算法隐藏了明文模式需要共同的移位寄存器初始值IVn对于不同的消息,IV必须唯一n误差传递:一个单元损坏影响多个单元 DES-EDE3:三个不同密钥,依次使用加密-解密-加密算法DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data
20、 Encryption Standard),于1977年7月15日生效。密码反馈CFB(cipher feedback)整个加密使用了下述3个基本运算和它们的逆运算:D64,则经过初始置换后的结果为:L0=D58D50.for i=r down to 1 do三密钥的三重DES(Triple DES with Three Keys)在变换中用到的S1,S2.数据复杂度:实施该攻击所需输入的数据量DES-EEE2:K1=K3,同上Si+1=(Sij)|Ci每行有16列,命名为0、1、2、3,.没有已知的并行实现算法ByteSub(State);轮密钥按下述方式从扩展密钥中选取:第一个轮密钥由开始
21、Nb个字组成,第二个轮密钥由接下来的Nb个字组成,如此继续下去。对于不同的消息,IV必须唯一RFC2040 Baldwin,R.DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data Encryption Standard),于1977年7月15日生效。如(a0,a1,a2,an-1)3=(a3,a4,an-1,a0,a1,a2)DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data Encryption Standard),于1977年7月15日生效。输出反馈OFBOFB:分组密码流密码 Si 为移位寄存
22、器,j为流单元宽度 加密:Ci=Pi(EK(Si)的高j位)Si+1=(Sij)|(EK(Si)的高j位)解密:Pi=Ci(EK(Si)的高j位)Si+1=(Sij)|(EK(Si)的高j位)OFB加密示意图加密示意图Ci=Pi(EK(Si)的高的高j位位);Si+1=(Sij)|(EK(Si)的高的高j位位)OFB解密示意图解密示意图Pi=Ci(EK(Si)的高的高j位位);Si+1=(Sij)|(EK(Si)的高的高j位位)OFB特点nOFB:分组密码流密码没有已知的并行实现算法隐藏了明文模式n需要共同的移位寄存器初始值IVn误差传递:一个单元损坏只影响对应单元对明文的主动攻击是可能的信息
23、块可被替换、重排、删除、重放安全性较CFB差 对称加密技术n基本概念n标准算法的介绍nDES算法nAES算法n分组密码的工作模式n分组密码的分析方法2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25没有已知的并行实现算法需要共同的移位寄存器初始值IV列混合Mix Column变换最可靠的攻击办法:强力攻击DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data Encryption Standard),于1977年7月15日生效。Subword执行使用S-盒实行字节替换密钥的有效长度为168位i=j=x=y=036 4
24、44 12 52 20 60 28 35 3 43 11 51 19 59 27用变量LDi和RDi从r到1做:分组密码的一般设计原理给定明文密文对(P,C)Rivest 声称,这个扩张函数具有单向性。S和P分别被称为混乱层和扩散层,主要起混乱和扩散作用。字的循环左移运算:字x循环左移y比特,表示为Triple DES加密、解密相似但不对称现设输入为:DD1D2D3D4D5D6 令:列D2D3D4D5 行D1D6然后在S1表中查得对应的数,以4位二进制表示,此即为选择函数S1的输出。交替使用K1和K2可以抵抗中间相遇攻击.分组密码的分析方法n根据攻击者所掌握的信息,可将分组密码的攻击分为以下几
展开阅读全文