沈鑫剡编著(网络安全)教材配套课件第3章_第1页
沈鑫剡编著(网络安全)教材配套课件第3章_第2页
沈鑫剡编著(网络安全)教材配套课件第3章_第3页
沈鑫剡编著(网络安全)教材配套课件第3章_第4页
沈鑫剡编著(网络安全)教材配套课件第3章_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 2006工程兵工程学院 计算机教研室第三章本章主要内容本章主要内容n基本概念和分类;基本概念和分类;n对称密钥体制;对称密钥体制;n非对称密钥体制;非对称密钥体制;n两种密钥体制的特点和适用范围。两种密钥体制的特点和适用范围。本讲主要内容本讲主要内容n基本概念;基本概念;n加密传输过程;加密传输过程;n密码体制分类。密码体制分类。1 1加密解密本质加密解密本质 加密加密前的原始信息称为明文,加密后的信息前的原始信息称为明文,加密后的信息称为密文,加密过程就是明文至密文的转换过程。称为密文,加密过程就是明文至密文的转换过程。为了保障信息的保密性,不能通过密文了解明文为了保障信息的保密性,不能通

2、过密文了解明文的内容。明文至密文的转换过程必须是可逆的,的内容。明文至密文的转换过程必须是可逆的,解密过程就是加密过程的逆过程,是密文至明文解密过程就是加密过程的逆过程,是密文至明文的转换过程。的转换过程。2 2传统加密解密传统加密解密算法算法(1 1)凯撒密码)凯撒密码 A B C D E FG H IJK LM N O P Q RS TU V W X Y ZD E FG H IJK LM N O P Q R S T UV W X Y ZA B CGOOD MORNINGJRRG PRUQLQJ2 2传统加密解密传统加密解密算法算法(2 2)换位密码)换位密码 换位换位密码是一种通过改变明文

3、中每一个字符的位置,密码是一种通过改变明文中每一个字符的位置,完成将明文转换成密文过程的加密算法。完成将明文转换成密文过程的加密算法。加密加密过程过程换位换位规则(规则(2,4,1,32,4,1,3)解密过程解密过程换位规则换位规则(3,1,4,23,1,4,2)3 3现代加密解密算法现代加密解密算法 明文明文m m、密文、密文c c、加密算法、加密算法E E、加密密钥、加密密钥keke、解密算法、解密算法D D和解密密和解密密钥钥kdkd。明文。明文m m转换成密文转换成密文c c的过程如下:的过程如下: c=E c=E(m m,keke)加密加密过程是以明文过程是以明文m m和加密密钥和加

4、密密钥keke为输入的加密函数运算过程为输入的加密函数运算过程。 c=E c=E(m m,keke)也可以用)也可以用c=Ec=Ekeke(m m)表示表示密文密文c c转换成明文转换成明文m m的过程如下:的过程如下: m=D m=D(c c,kdkd)解密解密过程是以密文过程是以密文c c和解密密钥和解密密钥kdkd为输入的解密函数运算过程为输入的解密函数运算过程。 m=D m=D(c c,kdkd)也可以用)也可以用m=Dm=DKdKd(c c)表示。)表示。密码体制要求满足:密码体制要求满足:D DKdKd(E Ekeke(m m)= =m m。3 3现代加密解密算法现代加密解密算法

5、n明文集合明文集合M M,由明文,由明文m m的二进制数位数确定,如果明文的二进制数位数确定,如果明文m m的二进制数的二进制数位数为位数为nmnm,则明文集合,则明文集合M M包含包含2 2nmnm个不同的明文;个不同的明文;n密文集合密文集合C C,由密文,由密文c c的二进制数位数确定,如果密文的二进制数位数确定,如果密文c c的二进制数的二进制数位数为位数为ncnc,则密文集合,则密文集合C C包含包含2 2ncnc个不同的密文;个不同的密文;n加密密钥集合加密密钥集合KEKE,由加密密钥的二进制数位数确定,如果加密密,由加密密钥的二进制数位数确定,如果加密密钥的二进制数位数为钥的二进

6、制数位数为nkenke,则加密密钥集合,则加密密钥集合KEKE包含包含2 2nkenke个不同的密钥;个不同的密钥;n解密密钥集合解密密钥集合KDKD,由解密密钥的二进制数位数确定,如果解密密,由解密密钥的二进制数位数确定,如果解密密钥的二进制数位数为钥的二进制数位数为nkdnkd,则解密密钥集合,则解密密钥集合KDKD包含包含2 2nkdnkd个不同的密钥。个不同的密钥。现代现代密码体制的密码体制的KerckhoffsKerckhoffs原则是:所有加密解密算法都是公开原则是:所有加密解密算法都是公开的,保密的只是密钥。的,保密的只是密钥。n发送端将明文发送端将明文m m和加密密钥和加密密钥

7、keke作为加密函数作为加密函数E E的输的输入,加密函数入,加密函数E E的运算结果是密文的运算结果是密文c c。n密文密文c c沿着发送端至接收端的传输路径到达接收沿着发送端至接收端的传输路径到达接收端端。n接收接收端将密文端将密文c c和解密密钥和解密密钥kdkd作为解密函数作为解密函数D D的输的输入,解密函数入,解密函数D D的运算结果是明文的运算结果是明文m m。1 1对称密钥体制和非对称密钥体制对称密钥体制和非对称密钥体制 如果如果加密密钥加密密钥keke等于解密密钥等于解密密钥kdkd,这,这种密钥体制称为对称密钥体制种密钥体制称为对称密钥体制。 如果如果加密密钥加密密钥kek

8、e不等于解密密钥不等于解密密钥kdkd,且无法由一个密钥直接导出另一个密钥,且无法由一个密钥直接导出另一个密钥,这种密钥体制称为非对称密钥体制。非对这种密钥体制称为非对称密钥体制。非对称密钥体制也称为双密钥密码体制。称密钥体制也称为双密钥密码体制。2 2两种密钥体制的两种密钥体制的特点特点n对称密钥体制的特点是密钥分发和保护困对称密钥体制的特点是密钥分发和保护困难难。n非对称非对称密钥体制的特点是密钥分发容易。密钥体制的特点是密钥分发容易。本讲主要内容本讲主要内容n分组密码体制和流密码体制;分组密码体制和流密码体制;n分组密码体制;分组密码体制;n流密码体制;流密码体制;n对称密钥体制的密钥分

9、配过程。对称密钥体制的密钥分配过程。1 1安全性安全性要求要求n唯密文唯密文攻击攻击n已知明文已知明文攻击攻击n选择明文选择明文攻击攻击n选择密文攻击选择密文攻击2 2安全密码体制实现思路安全密码体制实现思路 存在两种实现安全密码体制的方法,一是可以重复存在两种实现安全密码体制的方法,一是可以重复使用密钥使用密钥k k,但是,加密解密算法必须复杂到能够防御选,但是,加密解密算法必须复杂到能够防御选择明文攻击和选择密文攻击的程度,且这种防御攻击的择明文攻击和选择密文攻击的程度,且这种防御攻击的能力已经被广泛证明。二是一次一密钥,每一次加密运能力已经被广泛证明。二是一次一密钥,每一次加密运算使用不

10、同的密钥,且密钥必须在足够大的密钥集中随算使用不同的密钥,且密钥必须在足够大的密钥集中随机产生,确保密钥之间没有相关性,攻击者无法根据已机产生,确保密钥之间没有相关性,攻击者无法根据已知的有限密钥序列推导出下一次用于加密运算的密钥,知的有限密钥序列推导出下一次用于加密运算的密钥,但对加密解密算法的复杂性没有要求。分组密码体制针但对加密解密算法的复杂性没有要求。分组密码体制针对第一种方法。流密码体制针对第二种方法,流密码体对第一种方法。流密码体制针对第二种方法,流密码体制也称序列密码体制。制也称序列密码体制。1 1分组密码体制的本质含义分组密码体制的本质含义输入是输入是n n位明文位明文m m和

11、和b b位密钥位密钥k k,输出是,输出是n n位密文位密文c c,表示成,表示成E Ek k(m m)=c=c。1 1分组密码体制的本质含义分组密码体制的本质含义 首先对任意长度明文进行填充,使得填充后的明文长度是首先对任意长度明文进行填充,使得填充后的明文长度是加密算法要求的长度的整数倍。然后将填充后的明文分割成长加密算法要求的长度的整数倍。然后将填充后的明文分割成长度等于加密算法规定长度的数据段,对每一段数据段独立进行度等于加密算法规定长度的数据段,对每一段数据段独立进行加密运算,产生和数据段长度相同的密文,密文序列和明文分加密运算,产生和数据段长度相同的密文,密文序列和明文分段后产生的

12、数据段序列一一对应。段后产生的数据段序列一一对应。1 1分组密码体制的本质含义分组密码体制的本质含义 分组密码体制的分组密码体制的加密算法完成的是加密算法完成的是n n位位明文至明文至n n位密文之间的位密文之间的映射,同样,解密算映射,同样,解密算法完成的是法完成的是n n位密文至位密文至n n位明文之间的映射。位明文之间的映射。 n n位明文至位明文至n n位密文之位密文之间的映射可以多达间的映射可以多达2 2n n! !,密钥密钥k k的值用于在多达的值用于在多达2 2n n! !种映射中选择一种种映射中选择一种映射,并因此导出映射,并因此导出2 2n n个个明文编码和明文编码和2 2n

13、 n个密文编个密文编码之间的对应关系。码之间的对应关系。(1 1)Feistel Feistel 分组密码结构的加密运算过程分组密码结构的加密运算过程加密加密运算运算nLiRi-1nRi=Li-1 F(Ri-1,Ki)解密运算解密运算nRi-1 LinLi-1=Ri F(Ri-1,Ki) F( Li ,Ki)加密解密算法的复杂度取决于函数加密解密算法的复杂度取决于函数F F的运的运算复杂度,函数算复杂度,函数F F往往由多次替代和置换往往由多次替代和置换运算实现。运算实现。(2 2)替代运算)替代运算 替代是将数据段中的二进制数分段,替代是将数据段中的二进制数分段,每一段二进制数用对应的编码代

14、替。每一段二进制数用对应的编码代替。(3 3)置换运算)置换运算 置换运算是按照置换规则重新排列数置换运算是按照置换规则重新排列数据段中二进制数的顺序。据段中二进制数的顺序。(3 3)置换运算)置换运算 3 3数据加密标准数据加密标准 64 64位明文首先进行初位明文首先进行初始置换(始置换(IPIP),初始置换结),初始置换结果被分成两部分:果被分成两部分:L L0 0和和R R0 0,它们成为它们成为Feistel Feistel 分组密分组密码结构的原始输入。经过码结构的原始输入。经过1616次迭代运算的结果就是次迭代运算的结果就是Feistel Feistel 分组密码结构的分组密码结

15、构的输出输出L Ln+1n+1和和R Rn+1n+1,对其进行初,对其进行初始置换对应的逆置换,逆置始置换对应的逆置换,逆置换结果就是换结果就是DESDES加密运算后加密运算后的密文。的密文。3 3数据加密标准数据加密标准 58 50 12 34 26 18 10 260 52 44 36 28 20 12 462 54 46 38 30 22 14 664 56 48 40 32 24 16 857 49 41 33 25 17 9159 51 43 35 27 19 11 361 53 45 37 29 21 13 563 55 47 39 31 23 15 7初始置换规则表初始置换规则表

16、40 848 16 56 2464 32 39 747 15 55 23 63 3138 646 14 54 2262 30 37 545 13 53 21 61 2936 444 12 52 2060 28 35 343 11 51 19 59 2734 242 10 50 1858 26 33 141 949 17 57 25初始置换规则表初始置换规则表nDES迭代函数;迭代函数;nE是扩展运算;是扩展运算;nS是替代运算;是替代运算;nP是置换运算。是置换运算。 选位和置换运算选位和置换运算1 1(P1P1)所完)所完成的功能就是从成的功能就是从6464位密钥位密钥k k中提取出中提取出

17、真正用作密钥的真正用作密钥的5656位,得到的结果位,得到的结果被分成两部分,前被分成两部分,前2828位作为位作为C C0 0,后,后2828位作为位作为D D0 0; 这两部分分别循环左移这两部分分别循环左移n1n1位。位。产生不同的子密钥时,循环左移的产生不同的子密钥时,循环左移的位数是不同的;位数是不同的; 选位和置换运算选位和置换运算2 2(P2P2)所完)所完成的功能就是从循环左移后得到的成的功能就是从循环左移后得到的5656位结果中提取位结果中提取4848位。位。AES加密运算过程加密运算过程n明文分段;明文分段;n每一段单独加密,产生密文;每一段单独加密,产生密文;n各段密文组

18、合成最终密文各段密文组合成最终密文n如果明文内容有规律重复,密文内容也同样有规律重复,降低保密性。如果明文内容有规律重复,密文内容也同样有规律重复,降低保密性。分组密码操作模式分组密码操作模式(1 1)电码本模式)电码本模式(2 2)加密分组链接模式)加密分组链接模式加密加密过程过程nY1=EK(IV P1)nYi= EK(Yi-1 Pi)解密过程解密过程nP1=IV DK(Y1)nPi= Yi-1 DK(Yi)重复的明文内容,不会产生重重复的明文内容,不会产生重复的密文,改变初始向量,可复的密文,改变初始向量,可以使相同明文产生不同的密文,以使相同明文产生不同的密文,以此增强保密性。以此增强

19、保密性。加密过程加密过程解密过程解密过程n无穷大的密钥集,密钥不可能重复,密钥之间没有任何相关性。无穷大的密钥集,密钥不可能重复,密钥之间没有任何相关性。n密文密文Y=P Ki,因此,很容易根据明文和密文得出密钥,因此,很容易根据明文和密文得出密钥, Ki = P Y。n密钥的安全性在于不重复、不可预测。密钥的安全性在于不重复、不可预测。流密码体制流密码体制nIVK作为随机数种子,伪随机数生成器产生一次密钥,作为随机数种子,伪随机数生成器产生一次密钥,K一定时间内维持不变,因此,密钥集大小一定时间内维持不变,因此,密钥集大小224。n由于由于K不变,和不变,和伪随机数生成算法的问题,伪随机数生

20、成算法的问题,密钥之间存密钥之间存在相关性。在相关性。1 1WEPWEP加密解密过程加密解密过程1.1. 用户用户A A向向KDCKDC发送请求:发送请求:E EKAKA(A A,B B););2.2. KDCKDC分配会话密钥分配会话密钥R1R1,向用户,向用户A A发送发送E EKAKA(R1(R1E EKBKB(A,R1)(A,R1);3.3. 用户用户A A向用户向用户B B发送发送E EKBKB(A,R1)(A,R1)4.4. 双方用会话密钥双方用会话密钥R1R1加密数据。加密数据。Diffie-HellmanDiffie-Hellman密钥交换算法同步密钥密钥交换算法同步密钥K K

21、的过程的过程本讲主要内容本讲主要内容n公开密钥加密算法原理;公开密钥加密算法原理;nRSARSA公开密钥加密算法;公开密钥加密算法;n公开密钥加密算法密钥分发原则。公开密钥加密算法密钥分发原则。 发送者用加密算法发送者用加密算法E E和密钥和密钥PKPK对明文对明文m m进行加密,接收者用解密算法进行加密,接收者用解密算法D D和密钥和密钥SKSK对密文对密文c c进行解密。加密密钥进行解密。加密密钥PKPK是公开的,是公开的,而解密密钥而解密密钥SKSK是保密的,只有接收者知道。是保密的,只有接收者知道。n容易成对生成密钥容易成对生成密钥PKPK和和SKSK。n加密和解密算法是公开的,而且可

22、以对调,加密和解密算法是公开的,而且可以对调,即即D DSKSK(E EPKPK(m m)E EPKPK(D DSKSK(m m)m m。n加密和解密过程容易实现。加密和解密过程容易实现。n从计算可行性讲,无法根据从计算可行性讲,无法根据PKPK推导出推导出SKSK。n从计算可行性讲,无法根据从计算可行性讲,无法根据PKPK和密文和密文c c推推导出明文导出明文m m。nRSARSA公开密钥加密算法也是一种分组密码公开密钥加密算法也是一种分组密码算法,每一组数据算法,每一组数据m m是是0 0n n1 1的整数,的整数,n n和密钥的长度相关。和密钥的长度相关。nc=mc=me e mod n

23、mod n。nm=cm=cd d mod n=mod n=(m me e)d d mod n=mmod n=med ed mod nmod n。n能够找到整数能够找到整数e e、d d和和n n,对所有,对所有0 0n n1 1的整的整数数m m,满足等式,满足等式m =mm =med ed mod nmod n。n对所有对所有0 0n n1 1的整数的整数m m,计算,计算m me e和和m meded (c cd d)是可行的。是可行的。n从计算可行性讲,无法根据从计算可行性讲,无法根据e e和和n n,推导出,推导出d d。 RSA RSA公开密钥加密算法的基本思想是数论中的以下公开密钥

24、加密算法的基本思想是数论中的以下规则:求出两个大素数比较简单,但将它们的乘规则:求出两个大素数比较简单,但将它们的乘积分解开则及其困难。根据上述思想得出求解积分解开则及其困难。根据上述思想得出求解e e、d d和和n n的过程如下。的过程如下。n选择两个不同的大素数选择两个不同的大素数p p和和q q,使得,使得n=pn=pq q。n计算欧拉函数计算欧拉函数(n n)= =(p p1 1)(q q1 1)。)。n从从2 2(n n)1 1中选择一个与中选择一个与(n n)互素的数)互素的数作为作为e e。n求出满足等式求出满足等式ed mod ed mod (n n)= 1= 1的的d d。n当当n n足够大时,很难通过足够大时,很难通过n n和和e e推导出推导出d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论