《对称密码体制》PPT课件.ppt
《《对称密码体制》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《对称密码体制》PPT课件.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 对称密码体制对称密码体制主讲内容主讲内容 1.1.分组密码的一般设计原理分组密码的一般设计原理 2.DES 2.DES数据加密标准数据加密标准 3.AES 3.AES加密算法加密算法QUIZE TIME 1.古典密码的两个基本操作:古典密码的两个基本操作:、。维吉尼亚密码是采用什么操作?斯巴达的维吉尼亚密码是采用什么操作?斯巴达的金腰带的密钥是什么?金腰带的密钥是什么?2.密码体制分为密码体制分为、3.公钥密码体制的两个密钥是否相同?公钥密码体制的两个密钥是否相同?4.对称密钥密码体制的密钥是否相同?对称密钥密码体制的密钥是否相同?对称密钥算法对称密钥算法 对称算法就是对称算法就是
2、加密密钥能够从解密密加密密钥能够从解密密钥中推算出来钥中推算出来,反过来也成立。在大多数,反过来也成立。在大多数对称算法中,对称算法中,加加/解密密钥是相同解密密钥是相同的。这的。这些算法也叫秘密密钥算法或单密钥算法,些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消密钥,泄漏密钥就意味着任何人都能对消息进行加息进行加/解密。解密。对称算法序列密码序列密码 序列密码序列密码的主要原理是,通过伪随机序列发生器的主要原理是,通过伪随机
3、序列发生器产生性能优良的伪随机序列,使用该序列加密信息产生性能优良的伪随机序列,使用该序列加密信息流,(逐比特加密)得到密文序列,所以,序列密流,(逐比特加密)得到密文序列,所以,序列密码算法的安全强度完全决定于伪随机序列的好坏。码算法的安全强度完全决定于伪随机序列的好坏。序列密码算法将明文逐位转换成密文序列密码算法将明文逐位转换成密文。密钥流发密钥流发生器输出一系列比特流:生器输出一系列比特流:K1K1,K2K2,K3K3,KiKi。密。密钥流跟明文比特流钥流跟明文比特流P1P1,P2P2,P3P3,Pi Pi ,进行异,进行异或运算产生密文比特流。或运算产生密文比特流。Ci=PiKi Ci
4、=PiKi 在解密端,密文流与完全相同的密钥流异或运算在解密端,密文流与完全相同的密钥流异或运算恢复出明文流。恢复出明文流。Pi=CiKiPi=CiKi序列密码序列密码 基于移位寄存器的序列密码应用十分广泛。一个反馈移位寄存器由两部分组成:移位寄存器和反馈函数。移位寄存器的长度用位表示,如果是n位长,称为n位移位寄存器。移位寄存器每次向右移动一位,新的最左边的位根据反馈函数计算得到,移位寄存器输出的位是最低位。最简单的反馈移位寄存器是线形反馈移位寄存器,反馈函数是寄存器中某些位简单异或。对称算法序列密码序列密码 序列密码序列密码的主要原理是,通过伪随机序列发生器的主要原理是,通过伪随机序列发生
5、器产生性能优良的伪随机序列,使用该序列加密信息产生性能优良的伪随机序列,使用该序列加密信息流,(逐比特加密)得到密文序列,所以,序列密流,(逐比特加密)得到密文序列,所以,序列密码算法的安全强度完全决定于伪随机序列的好坏。码算法的安全强度完全决定于伪随机序列的好坏。序列密码算法将明文逐位转换成密文序列密码算法将明文逐位转换成密文。密钥流发密钥流发生器输出一系列比特流:生器输出一系列比特流:K1K1,K2K2,K3K3,KiKi。密。密钥流跟明文比特流钥流跟明文比特流P1P1,P2P2,P3P3,Pi Pi ,进行异,进行异或运算产生密文比特流。或运算产生密文比特流。Ci=PiKi Ci=PiK
6、i 在解密端,密文流与完全相同的密钥流异或运算在解密端,密文流与完全相同的密钥流异或运算恢复出明文流。恢复出明文流。Pi=CiKiPi=CiKi 对称算法分组密码要求分组密码要求 (1)分组长度应足够大分组长度应足够大。使得不同明文分组的个数足够大,以防让明文被穷学法攻击。新的算法标推般要求M128。(2)密钥空间应足够大密钥空间应足够大,尽可能消除弱密钥,从而使所有密钥同等概率,以防灾学密钥攻击。同时,密钥不能太长,以利于密钥管理。DES采用56比特有效密钥,现在看来显然不够长。今后一段时间内,128比特密钥应该是足够安全的。对称算法分组密码要求分组密码要求 (3)由密钥确定的算法要足够复杂
7、由密钥确定的算法要足够复杂,充分实现明文与密钥的扩散和混淆,没有简单关系可循,要能抵抗各种已知的攻击,如差分攻击和线性攻击等;另外,还要求有较高的非线性阶数。(4)软件实现的要求软件实现的要求:尽量使用适合编程的子块和简单的运算。密码运算在于块上进行,要求子块的长度能适应软件编程,如8、16、32比特等。应尽量避免按比特置换。怎么样满足 分组密码要求分组密码要求 Shannon在1949的论文中介绍了一个新思想:通过“乘积乘积”来组合密码体制。所谓乘积乘积密码就是采用m个函数(密码)f1,f2,fm的复合,其中每个fi可能是一个代换或置换代换或置换。Shannon建议交替使用代换和置换两种方法
8、,即他称之为混乱混乱(confusion)和扩散扩散(diffusion)的过程,破坏对密码系统进行的各种统计分析。这种思想在现代密码体制的设计中十分重要,深刻影响着数据加密标准DES、高级数据加密标准AES的设计。Shannon的新思想:“乘积乘积”扩散扩散,就是将明文的统计特性迅速散布到密文明文的统计特性迅速散布到密文中去中去,实现方式是使得明文的每一位影响密文中多位的值,即密文中每一位受明文中多位影响;将密钥的每位数字尽可能扩散到更多个密文数字密钥的每位数字尽可能扩散到更多个密文数字中去,以防止对密钥进行逐段破译。根据扩散原则,分组密码应设计成明文的每个比特与密钥的每个比特对密文的每个比
9、特都产生影响。Shannon的新思想:“乘积乘积”混乱的目的在于使明文和密文之间的统计关系变得尽可混乱的目的在于使明文和密文之间的统计关系变得尽可能复杂。使用复杂的非线形代换算法可得预期的混淆效果能复杂。使用复杂的非线形代换算法可得预期的混淆效果。常见的常见的乘积乘积密码是迭代密码。典型的迭代密码定义了密码是迭代密码。典型的迭代密码定义了一个一个轮函数和轮函数和一个一个密钥编排密钥编排方案,对明文的加密将经过多方案,对明文的加密将经过多轮迭代。轮迭代。设设K K是一个定长的主密钥,密码编排方案用是一个定长的主密钥,密码编排方案用K K生成生成NrNr轮轮个轮密钥(子密钥)个轮密钥(子密钥)Ki
10、Ki。轮函数。轮函数g g以轮密钥以轮密钥KiKi和当前状态和当前状态wi-1wi-1作为输入。作为输入。初始状态初始状态w0=xw0=x,明文,明文x x,密文,密文y y,经过所,经过所有有NrNr轮后的状态轮后的状态wNrwNr。加密过程是。加密过程是:w0=x wi=g(wi-1,Ki)i=1,2,Nr 解密过程是:解密过程是:wNr=y wi-1=g-1(wi,Ki)i=Nr,Nr-1,1 Feistel网络的结构网络的结构 Feistel提出利用乘积密码可获得简单的代换密码,乘积密码指顺序地执行多个基本密码系统,使得最后结果的密码强度高于每个基本密码系统产生的结果。取一个长度为n的
11、分组(n为偶数),然后把它分为长度为n/2的两部分:L和R。定义一个迭代的分组密码算法,其第i轮的输出取决于前一轮的输出,Feistel网络的结构如下图:Feistel网络结构网络结构图SP网络结构奥利奥 汉堡在哪里数据加密标准数据加密标准(Data Encryption Standard,DESData Encryption Standard,DES)背景背景发明人发明人:美国:美国IBMIBM公司公司 W.Tuchman W.Tuchman 和和 C.Meyer C.Meyer 1971-1972 1971-1972年研制成功年研制成功基础基础:19671967年美国年美国Horst Ho
12、rst FeistelFeistel提出的理论提出的理论产生产生:美国国家标准局(:美国国家标准局(NBS)1973NBS)1973年年5 5月到月到19741974年年8 8月两月两次发布通告,公开征求用于电子计算机的加密算法。经评次发布通告,公开征求用于电子计算机的加密算法。经评选从一大批算法中采纳了选从一大批算法中采纳了IBMIBM的的LUCIFERLUCIFER方案方案标准化标准化:DESDES算法算法19751975年年3 3月公开发表,月公开发表,19771977年年1 1月月1515日由日由美国国家标准局颁布为数据加密标准(美国国家标准局颁布为数据加密标准(Data Encryp
13、tion Data Encryption StandardStandard),于),于19771977年年7 7月月1515日生效日生效背景背景美国国家安全局(美国国家安全局(NSA,National Security Agency)参与了美国国家标准局制定数据加密标准参与了美国国家标准局制定数据加密标准的过程。的过程。NBS接受了接受了NSA的某些建议,对算法做了的某些建议,对算法做了修改,并将密钥长度从修改,并将密钥长度从LUCIFER方案中的方案中的128位压位压缩到缩到56位位1979年,美国银行协会批准使用年,美国银行协会批准使用DES1980年,年,DES成为美国标准化协会成为美国
14、标准化协会(ANSI)标准标准1984年年2月,月,ISO成立的数据加密技术委员会成立的数据加密技术委员会(SC20)在在DES基础上制定数据加密的国际标准工作基础上制定数据加密的国际标准工作DES概述概述分组加密算法:明文和密文为分组加密算法:明文和密文为64位分组长度位分组长度对称算法:加密和解密除密钥编排不同外,使用同一算法对称算法:加密和解密除密钥编排不同外,使用同一算法密钥长度:密钥长度:56位,但每个第位,但每个第8位为奇偶校验位,可忽略位为奇偶校验位,可忽略密钥可为任意的密钥可为任意的56位数,但存在弱密钥,容易避开位数,但存在弱密钥,容易避开采用采用混乱和扩散混乱和扩散的组合,
15、每个组合先替代后置的组合,每个组合先替代后置换,共换,共16轮轮只使用了标准的算术和逻辑运算,易于实现只使用了标准的算术和逻辑运算,易于实现DES加密算法的一般描加密算法的一般描述述输入输入64比特明文数据比特明文数据初始置换初始置换IP在密钥控制下在密钥控制下16轮迭代轮迭代初始逆置换初始逆置换IP-1输出输出64比特密文数据比特密文数据交换左右交换左右32比特比特 DES加密过程加密过程DES加解密过程加解密过程Ek(m)=IP-1T16T15T1IP(m)。其中IP为初始置换,IP-1是IP的逆,Ti,i=1,2,16是一系列的变换。解密算法为m=Ek-1 Ek(m)=IP-1T1T2T
16、16IPEk(m)。DES中的各种置换、扩展和中的各种置换、扩展和替代替代初始置换初始置换IP和初始逆置换和初始逆置换IP1 IP和和IP1IPIP1Li-1(32比特)比特)Ri-1(32比特)比特)Li(32比特)比特)48比特寄存器比特寄存器选择扩展运算选择扩展运算E48比特寄存器比特寄存器子密钥子密钥Ki(48比特)比特)32比特寄存器比特寄存器选择压缩运算选择压缩运算S置换运算置换运算PRi(32比特)比特)Li=Ri-1DES的的一轮迭代一轮迭代扩展置换扩展置换-盒盒32位扩展到位扩展到48位位扩展扩展压缩替代压缩替代S-盒盒48位压缩到位压缩到32位位共共8个个S盒盒S-盒1S-
17、盒2S-盒3S-盒4S-盒5S-盒6S-盒7S-盒8S-盒的构造盒的构造S-盒的构造盒的构造DES中其它算法都是线性的,而中其它算法都是线性的,而S-盒运算则是非线盒运算则是非线性的性的S-盒不易于分析,它提供了更好的安全性盒不易于分析,它提供了更好的安全性所以所以S-盒是算法的关键所在盒是算法的关键所在S-盒的构造准则盒的构造准则S盒的每一行是整数盒的每一行是整数0,15的一个置换的一个置换没有一个没有一个S盒是它输入变量的线性函数盒是它输入变量的线性函数改变改变S盒的一个输入位至少要引起两位的输出改变盒的一个输入位至少要引起两位的输出改变对任何一个对任何一个S盒和任何一个输入盒和任何一个输
18、入X,S(X)和和 S(X 001100)至少有两个比特不同(这里至少有两个比特不同(这里X是长度为是长度为6的比特串)的比特串)对任何一个对任何一个S盒,对任何一个输入对盒,对任何一个输入对e,f属于属于0,1,S(X)S(X 11ef00)对任何一个对任何一个S盒,如果固定一个输入比特,来看一个固定输出比特盒,如果固定一个输入比特,来看一个固定输出比特的值,这个输出比特为的值,这个输出比特为0的输入数目将接近于这个输出比特为的输入数目将接近于这个输出比特为1的的输入数目输入数目S-盒的构造要求盒的构造要求S-盒是许多密码算法的唯一非线性部件盒是许多密码算法的唯一非线性部件,因此因此,它的密
19、码它的密码强度决定了整个算法的安全强度强度决定了整个算法的安全强度提供了密码算法所必须的混乱作用提供了密码算法所必须的混乱作用如何全面准确地度量如何全面准确地度量S-盒的密码强度和设计有效的盒的密码强度和设计有效的S-盒盒是分组密码设计和分析中的难题是分组密码设计和分析中的难题非线性度、差分均匀性、严格雪崩准则、可逆性、没有非线性度、差分均匀性、严格雪崩准则、可逆性、没有陷门陷门置换置换p-盒的构造盒的构造p-盒的构造准则盒的构造准则P置换的目的是提供雪崩效应置换的目的是提供雪崩效应明文或密钥的一点小的变动都引起密文的较大明文或密钥的一点小的变动都引起密文的较大变化变化DES中的子密钥的生成中
20、的子密钥的生成密钥置换算法的构造准则密钥置换算法的构造准则设计目标:子密钥的统计独立性和灵活性设计目标:子密钥的统计独立性和灵活性实现简单实现简单速度速度不存在简单关系:不存在简单关系:(给定两个有某种关系的种子密钥给定两个有某种关系的种子密钥,能预测它们能预测它们轮子密钥之间的关系轮子密钥之间的关系)种子密钥的所有比特对每个子密钥比特的影响大致相同种子密钥的所有比特对每个子密钥比特的影响大致相同从一些子密钥比特获得其他的子密钥比特在计算上是难的从一些子密钥比特获得其他的子密钥比特在计算上是难的没有弱密钥没有弱密钥Li-1(32比特)比特)Ri-1(32比特)比特)Li(32比特)比特)48比
21、特寄存器比特寄存器选择扩展运算选择扩展运算E48比特寄存器比特寄存器子密钥子密钥Ki(48比特)比特)32比特寄存器比特寄存器选择压缩运算选择压缩运算S置换运算置换运算PRi(32比特)比特)Li=Ri-1DES的的一轮迭代一轮迭代DES加密算法的一般描加密算法的一般描述述多重多重DES两重两重DES三重三重DESQuize time 5 minutes1.DES是对称密钥加密算法还是公钥加密算法?是是对称密钥加密算法还是公钥加密算法?是分组密码还是序列密码?分组密码还是序列密码?2.DES有效密钥长度有效密钥长度位,分组长度位,分组长度位,位,3DES有效密钥长度有效密钥长度位?位?3.DE
22、S用于加密消息还是传递密钥?相对于公钥,用于加密消息还是传递密钥?相对于公钥,加密速度快还是慢?加密速度快还是慢?4.序列密码比分组密码安全高还是低?序列密码比分组密码安全高还是低?5.DES是否有弱密钥?是否有弱密钥?6.DES是在古典密码基本操作基础上,通过乘积实是在古典密码基本操作基础上,通过乘积实现的,对吗?现的,对吗?DES的安全性的安全性 F F函数函数(S-Box)S-Box)设计原理未知设计原理未知 密钥长度的争论密钥长度的争论 DESDES的的破译破译 弱密钥与半弱密钥弱密钥与半弱密钥破译破译DES19901990年,以色列密码学家年,以色列密码学家Eli Eli Biham
23、Biham和和AdiAdi Shamir Shamir提出了差分密码分析法,可提出了差分密码分析法,可对对DESDES进行选择明文攻击进行选择明文攻击差分密码分析差分密码分析(Differential cryptanalysis)DESDES经经历历了了近近2020年年全全世世界界性性的的分分析析和和攻攻击击,提提出出了了各种方法,但破译难度大都停留在各种方法,但破译难度大都停留在2 25555量级上。量级上。19911991年年BihamBiham和和ShamirShamir公公开开发发表表了了差差分分密密码码分分析析法法才才使使对对DESDES一一类类分分组组密密码码的的分分析析工工作作向
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对称密码体制 对称 密码 体制 PPT 课件
限制150内