第三章-分组密码ppt课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第三章-分组密码ppt课件.ppt》由会员分享,可在线阅读,更多相关《第三章-分组密码ppt课件.ppt(136页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第三章第三章 分组密码分组密码3.1 3.1 分组密码概述分组密码概述3.2 DES3.2 DES3.3 3.3 分组密码运行模式分组密码运行模式3.4 AES 3.4 AES 一、分组密码概述一、分组密码概述分组密码概述分组密码概述n分组密码是许多系统安全的一个重要组成部分。分组密码是许多系统安全的一个重要组成部分。可用于构造可用于构造n伪随机数生成器伪随机数生成器n流密码流密码n消息认证码消息认证码(MAC)(MAC)和杂凑函数和杂凑函数n消息认证技术、数据完整性机制、实体认证协议以消息认证技术、数据完整性机制、实体认证协议以及单钥数字签字体制的核心组成部分及单钥数字签字体制的核心组成部
2、分。 应用中对于分组密码的要求应用中对于分组密码的要求n安全性安全性n运行速度运行速度n存储量存储量( (程序的长度、数据分组长度、高速缓程序的长度、数据分组长度、高速缓存大小存大小) )n实现平台实现平台( (硬、软件、芯片硬、软件、芯片) )n运行模式运行模式分组密码概述分组密码概述 明文序列明文序列 x1, x2, xi, 加密函数加密函数E: VnKVm 这种密码实质上是字长为这种密码实质上是字长为n的数字序列的代换密码的数字序列的代换密码。 解密算法加密算法密钥k=(k0, k1, kt-1 )密钥k=(k0, k1, kt-1 )明文明文x=(x0, x1, xn-1)明文明文x=
3、(x0, x1, xn-1)密文密文x=(y0, y1, ym-1)分组密码概述分组密码概述n通常取通常取n=m。n若若nm ,则为有数据压缩的分组密码。,则为有数据压缩的分组密码。分组密码设计问题分组密码设计问题 分组密码的设计问题在于找到一种算法,分组密码的设计问题在于找到一种算法,能在密钥控制下从一个足够大且足够好的置能在密钥控制下从一个足够大且足够好的置换子集中,简单而迅速地选出一个置换,用换子集中,简单而迅速地选出一个置换,用来对当前输入的明文的数字组进行加密变换。来对当前输入的明文的数字组进行加密变换。分组密码设计准则n混淆混淆:人们所设计的密码应使用使得:人们所设计的密码应使用使
4、得密钥和明文密钥和明文以及密文以及密文之间的依赖关系相当复杂以至于这种依之间的依赖关系相当复杂以至于这种依赖性对密码分析者来说是无法利用的。赖性对密码分析者来说是无法利用的。n扩散扩散:人们所设计的密码应使得:人们所设计的密码应使得密钥的每一位数密钥的每一位数字影响密文的许多位数字字影响密文的许多位数字以防止对密钥进行逐段以防止对密钥进行逐段破译,而且破译,而且明文的每一位数字也应影响密文的许明文的每一位数字也应影响密文的许多位数字多位数字以便隐藏明文数字统计特性。以便隐藏明文数字统计特性。分组密码算法应满足的要求分组密码算法应满足的要求n分组长度分组长度n要足够大:要足够大: 防止明文穷举攻
5、击法奏效。防止明文穷举攻击法奏效。n密钥量要足够大:密钥量要足够大: 尽可能消除弱密钥并使所有密钥同等地好,以防止密尽可能消除弱密钥并使所有密钥同等地好,以防止密钥穷举攻击奏效钥穷举攻击奏效。n由密钥确定置换的算法要足够复杂:由密钥确定置换的算法要足够复杂: 充分实现明文与密钥的扩散和混淆,没有简单的关系充分实现明文与密钥的扩散和混淆,没有简单的关系可循可循,要能抗击各种已知的攻击。要能抗击各种已知的攻击。 分组密码算法应满足的要求分组密码算法应满足的要求n加密和解密运算简单加密和解密运算简单: 易于软件和硬件高速实现易于软件和硬件高速实现。n数据扩展:数据扩展: 一般无数据扩展,在采用同态置
6、换和随机化加密技一般无数据扩展,在采用同态置换和随机化加密技术时可引入数据扩展术时可引入数据扩展。n差错传播尽可能地小差错传播尽可能地小。 分组密码的实现原则n软件实现的原则软件实现的原则:使用子块和简单的运算。如:使用子块和简单的运算。如将分组将分组n化分为子段,每段长为化分为子段,每段长为8、16或或32。在。在以软件实现时,应选用简单的运算,使作用于以软件实现时,应选用简单的运算,使作用于子段上的密码运算易于以标准处理器的基本运子段上的密码运算易于以标准处理器的基本运算,如算,如加、乘、移位加、乘、移位等实现,避免用以软件难等实现,避免用以软件难于实现的逐比特置换。于实现的逐比特置换。n
7、硬件实现的原则硬件实现的原则:加密解密可用同样的器件来:加密解密可用同样的器件来实现。实现。代换网络代换网络n代换代换是输入集是输入集A到输出到输出A上的双射变换上的双射变换: fk:AA k是控制输入变量,在密码学中则为密钥是控制输入变量,在密码学中则为密钥。n实现代换实现代换fk的网络称作的网络称作代换网络代换网络。双射条件保证。双射条件保证在给定在给定k下可从密文惟一地恢复出原明文下可从密文惟一地恢复出原明文。代换网络代换网络n代换代换fk的集合:的集合: S=fk k KnK是密钥空间。如果网络可以实现所有可是密钥空间。如果网络可以实现所有可能的能的2n!个代换,则称其为全代换网络个代
8、换,则称其为全代换网络。代换结构代换网络代换网络n密码设计中需要先定义代换集密码设计中需要先定义代换集S,而后还需定,而后还需定义解密变换集,即逆代换网络义解密变换集,即逆代换网络S S-1-1,它以密文,它以密文y作为输入矢量,其输出为恢复的明文矢量作为输入矢量,其输出为恢复的明文矢量x x。n要实现全代换网络并不容易。因此实用中常要实现全代换网络并不容易。因此实用中常常利用一些简单的基本代换,通过组合实现常利用一些简单的基本代换,通过组合实现较复杂的、元素个数较多的代换集。实用密较复杂的、元素个数较多的代换集。实用密码体制的集合码体制的集合S S中的元素个数都远小于中的元素个数都远小于2
9、2n n! !。 代换盒代换盒(S盒盒) 在密码设计中,可选在密码设计中,可选 n=r n0,其中,其中r和和n0都为正整都为正整数,将设计数,将设计n个变量的代换网络化为设计个变量的代换网络化为设计r个较小的个较小的子代换网络,而每个子代换网络只有子代换网络,而每个子代换网络只有n0个输入变量,个输入变量,称每个子代换网络为代换盒称每个子代换网络为代换盒(Substitution Box) S盒 x5 x4 x3 x2 x1 x0 y3 y2 y1 y0DES的S盒DES的的S1-盒的输入和输出关系盒的输入和输出关系nx5 x0 x5 x4 x3 x2 x1 x0 1 0 1 0 1 1 0
10、 0 列号列号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 行号行号 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 3 15 12 8 2 4 9 1 7 5 11 2 14 10 0 6 13 (y3 , y2, y1 , y0)=(0,0,1,0) S S盒的设计准则盒的设计准则 迄今为止,有关方面未曾完全公开有关迄今为止,有关方面未曾完全公开有关DES的的S盒的设计
11、准盒的设计准则。则。Branstead等曾披露过下述准则:等曾披露过下述准则:nP1 S盒的输出都不是其输入的线性或仿射函数。盒的输出都不是其输入的线性或仿射函数。nP2 改变改变S盒的一个输入比特,其输出至少有两比特产生变盒的一个输入比特,其输出至少有两比特产生变化,即近一半产生变化。化,即近一半产生变化。nP3 当当S盒的任一输入位保持不变,其它盒的任一输入位保持不变,其它5位输入变化时位输入变化时(共共有有25 =32种情况种情况),输出数字中的,输出数字中的0和和1的总数近于相等。的总数近于相等。 这三点使这三点使DES的的S盒能够实现较好的混淆。盒能够实现较好的混淆。Feistel密
12、码结构密码结构乘积密码乘积密码指顺序地执行两个或多个基本密码系统,指顺序地执行两个或多个基本密码系统,使得最后结果的密码强度高于每个基本密码系统产使得最后结果的密码强度高于每个基本密码系统产生的结果生的结果. .Feistel还提出了实现代换和置换的方法。其思想实还提出了实现代换和置换的方法。其思想实际上是际上是Shannon提出的提出的利用乘积密码实现混淆和扩利用乘积密码实现混淆和扩散思想散思想的具体应用。的具体应用。Feistel网络示意图网络示意图输入是分组长为输入是分组长为2w的明文和一个密钥的明文和一个密钥K。将每组明文分成左右。将每组明文分成左右两半两半L0和和R0,在进行完,在进
13、行完n轮迭代后,左右两半再合并到一起以轮迭代后,左右两半再合并到一起以产生密文分组。第产生密文分组。第i i轮迭代的输入为前一轮输出的函数:轮迭代的输入为前一轮输出的函数:其中其中Ki是第是第i轮用的子密钥,由加密密钥轮用的子密钥,由加密密钥K得到。一般地,各轮得到。一般地,各轮子密钥彼此不同而且与子密钥彼此不同而且与K也不同。也不同。111,iiiiiiLRRLF RKFeistel密码结构密码结构Feistel密码结构密码结构Feistel网络的实现与以下参数和特性有关:网络的实现与以下参数和特性有关: 分组大小分组大小: : 分组越大则安全性越高,但加密速度就越慢。分组越大则安全性越高,
14、但加密速度就越慢。 密钥大小密钥大小:密钥越长则安全性越高,但加密速度就越慢。:密钥越长则安全性越高,但加密速度就越慢。 轮数轮数:单轮结构远不足以保证安全性,但多轮结构可提供:单轮结构远不足以保证安全性,但多轮结构可提供足够的安全性。典型地,轮数取为足够的安全性。典型地,轮数取为1616。 子密钥产生算法子密钥产生算法:该算法的复杂性越大,则密码分析的困:该算法的复杂性越大,则密码分析的困难性就越大。难性就越大。 轮函数轮函数:轮函数的复杂性越大,密码分析的困难性也越大。:轮函数的复杂性越大,密码分析的困难性也越大。在设计在设计Feistel网络时,还有以下两个方面需要考虑:网络时,还有以下
15、两个方面需要考虑: 快速的软件实现快速的软件实现:在很多情况中,算法是被镶嵌在应用:在很多情况中,算法是被镶嵌在应用程序中,因而无法用硬件实现。此时算法的执行速度是考虑程序中,因而无法用硬件实现。此时算法的执行速度是考虑的关键。的关键。 算法容易分析算法容易分析:如果算法能被无疑义地解释清楚,就可:如果算法能被无疑义地解释清楚,就可容易地分析算法抵抗攻击的能力,有助于设计高强度的算法。容易地分析算法抵抗攻击的能力,有助于设计高强度的算法。Feistel密码结构密码结构 Feistel解密过程本质上和加密过程是一样的,算法解密过程本质上和加密过程是一样的,算法使用密文作为输入,但使用子密钥使用密
16、文作为输入,但使用子密钥Ki的次序与加密的次序与加密过程相反,即第过程相反,即第1 1轮使用轮使用Kn,第,第2 2轮使用轮使用Kn-1,最后一轮使用最后一轮使用K1。这一特性保证了解密和加密可采。这一特性保证了解密和加密可采用同一算法。用同一算法。Feistel解密结构解密结构 FeistelFeistel加解密过程加解密过程在加密过程中:在解密过程中161516151516,LERERELEF REK10161510016161516151516151615,LDRDLERERDLDF RDKREF REKLEF REKF REKLEFeistel密码结构密码结构所以解密过程第所以解密过程
17、第1 1轮的输出为轮的输出为LE15RE15,等于加密过程第,等于加密过程第16轮输入左右两半交换后的结果。容易证明这种对应关系在轮输入左右两半交换后的结果。容易证明这种对应关系在16轮中每轮都成立。一般地,加密过程的第轮中每轮都成立。一般地,加密过程的第i轮有轮有因此因此111,iiiiiiLERERELEF REK111,iiiiiiiiiRELELEREF REKREF LE KFeistel密码结构密码结构3.2 美国数据加密标准美国数据加密标准DES(Data Encryption Standard)美国制定数据加密标准简况美国制定数据加密标准简况n目的目的 通信与计算机相结合是人类
18、步入信息社会的一通信与计算机相结合是人类步入信息社会的一个阶梯,它始于六十年代末,完成于个阶梯,它始于六十年代末,完成于9090年代初。年代初。计算机通信网的形成与发展,要求信息作业标准计算机通信网的形成与发展,要求信息作业标准化,安全保密亦不例外。只有标准化,才能真正化,安全保密亦不例外。只有标准化,才能真正实现网的安全,才能推广使用加密手段,以便于实现网的安全,才能推广使用加密手段,以便于训练、生产和降低成本。训练、生产和降低成本。 美国制定数据加密标准简况美国制定数据加密标准简况n美国美国NBSNBS(National Bureau of Standards)在在19731973年年5
19、5月月1515公布了征求建议。公布了征求建议。19741974年年8 8月月2727日日NBSNBS再次出公告征求建议,再次出公告征求建议,对建议方案提出如下要求:对建议方案提出如下要求:(1)(1)算法必须提供高度的安全性算法必须提供高度的安全性(2)(2)算法必须有详细的说明算法必须有详细的说明, ,并易于理解并易于理解(3)(3)算法的安全性取决于密钥算法的安全性取决于密钥, ,不依赖于算法不依赖于算法(4)(4)算法适用于所有用户算法适用于所有用户(5)(5)算法适用于不同应用场合算法适用于不同应用场合(6)(6)算法必须高效、经济算法必须高效、经济(7)(7)算法必须能被证实有效算法
20、必须能被证实有效(8)(8)算法必须是可出口的算法必须是可出口的美国制定数据加密标准简况美国制定数据加密标准简况nIBM公司在公司在1971年完成的年完成的LUCIFER密码密码 (64 bit分组,代换分组,代换-置换,置换,128 bit密钥密钥)的基础上,改进成为建议的的基础上,改进成为建议的DES体制体制n1975年年3月月17日日NBS公布了这个算法,并说明要以它作为联公布了这个算法,并说明要以它作为联邦信息处理标准,征求各方意见。邦信息处理标准,征求各方意见。n1977年年1月月15日建议被批准为联邦标准日建议被批准为联邦标准FIPS PUB 46,并设,并设计推出计推出DES芯片
21、。芯片。n1981年美国年美国ANSI (American National Standards Institute)将其作为标准,称之为将其作为标准,称之为DEAANSI X3.92n1983年国际标准化组织年国际标准化组织(ISO,International Organization for Standardization)采用它作为标准,称作采用它作为标准,称作DEA-1 美国制定数据加密标准简况美国制定数据加密标准简况nNSA(National Security Agency)宣布每隔)宣布每隔5年重新审议年重新审议DES是否继续作为联邦标准,是否继续作为联邦标准,1988年(年(FI
22、PS46-1)、)、1993年年(FIPS46-2),),1998年不再重新批准年不再重新批准DES为联邦标准。为联邦标准。n虽然虽然DES已有替代的数据加密标准算法,但它仍是迄今为止已有替代的数据加密标准算法,但它仍是迄今为止得到最广泛应用的一种算法,也是一种最有代表性的分组加得到最广泛应用的一种算法,也是一种最有代表性的分组加密体制。密体制。n1993年年4月,月,Clinton政府公布了一项建议的加密技术标准,政府公布了一项建议的加密技术标准,称作密钥托管加密技术标准称作密钥托管加密技术标准EES(Escrowed Encryption Standard)。算法属美国政府。算法属美国政府
23、SECRET密级。密级。美国制定数据加密标准简况美国制定数据加密标准简况nDES发展史确定了发展公用标准算法模式,而发展史确定了发展公用标准算法模式,而EES(Escrowed Encryption Standard)的制定路线与的制定路线与DES的的背道而驰。人们怀疑有陷门和政府部门肆意侵犯公民权利。背道而驰。人们怀疑有陷门和政府部门肆意侵犯公民权利。此举遭到广为反对。此举遭到广为反对。n1995年年5月月AT&T Bell Lab的的M. Blaze博士在博士在PC机上用机上用45分分钟时间使钟时间使SKIPJACK的的 LEAF协议失败,伪造协议失败,伪造ID码获得成码获得成功。功。19
24、95年年7月美国政府宣布放弃用月美国政府宣布放弃用EES来加密数据,只将来加密数据,只将它用于语音通信。它用于语音通信。n1997年年1月美国月美国NIST着手进行着手进行AES(Advanced Encryption Standard)的研究,成立了标准工作室。)的研究,成立了标准工作室。2001年年Rijndael被批准为被批准为AES标准。标准。nDES(Data Encryption Standard)算法于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。这是IBM的研究成果。nDES是第一代公开的、完全说明细节的商业级现代算法,并被世界公认。美国制定数据加
25、密标准简况美国制定数据加密标准简况DES 算法算法n分组长度为分组长度为64 bits (8 bytes)n密文分组长度也是密文分组长度也是64 bits。n密钥长度为密钥长度为64 bits,有,有8 bits奇偶校验,有效密钥长奇偶校验,有效密钥长度为度为56 bits。n算法主要包括:算法主要包括:初始置换初始置换IP、16轮迭代的乘积变换轮迭代的乘积变换、逆初始置换逆初始置换IP-1以及以及16个子密钥产生器。个子密钥产生器。 DES算法框图算法框图 初始置换初始置换IPIPn将将64 bit明文的位置进行置换,得到一个乱序的明文的位置进行置换,得到一个乱序的64 bit明文组,而后分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 分组 密码 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内