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