第二章-密码学基础ppt课件.ppt
《第二章-密码学基础ppt课件.ppt》由会员分享,可在线阅读,更多相关《第二章-密码学基础ppt课件.ppt(158页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022-8-1网络安全网络安全Network SecurityNetwork Security2022-8-1第第2 2章章 密码学基础密码学基础2022-8-1第第2 2章章 密码学基础密码学基础2022-8-1l密码算法分类密码算法分类密码算法密码算法基于密钥保密性基于密钥保密性基于算法保密性基于算法保密性基于保密的内容基于保密的内容对称密码算法对称密码算法非对称密码算法非对称密码算法分组密码算法分组密码算法流密码算法流密码算法明文处理方法明文处理方法密码算法密码算法对称密码学:对称密码学: DESAES非对称密码学:非对称密码学:RSAECC5 数据加密数据加密(Encryption)
2、是指将明文信息是指将明文信息(Plaintext)采取数学方法进行函数转换成密文采取数学方法进行函数转换成密文(Ciphertext),只有,只有特定接受方才能将其解密特定接受方才能将其解密(Decryption)还原成明文的还原成明文的过程。过程。 q 明文明文(Plaintext) : 加密前的原始信息;加密前的原始信息;q 密文密文(Ciphertext) :明文被加密后的信息;:明文被加密后的信息;q 密钥密钥(Key): 控制加密算法和解密算法得以实控制加密算法和解密算法得以实现的关键信息,分为加密密钥和解密密钥;现的关键信息,分为加密密钥和解密密钥;q 加密加密(Encryptio
3、n):将明文通过数学算法转换:将明文通过数学算法转换成密文的过程;成密文的过程;q 解密解密(Decryption):将密文还原成明文的过程。:将密文还原成明文的过程。67q 数据保密;数据保密;q 身份验证;身份验证;q 保持数据完整性;保持数据完整性;q 确认事件的发生。确认事件的发生。传统密码学传统密码学1. 置换密码(permutation cipher),又称换位密码(transposition cipher):将明文字母互相换位,明文的字母不变,但顺序被打乱了。例如:线路加密法 明文以固定的宽度水平写出,密文按垂直方向读出。明文:COMPUTER SYSTEMS ECURITYCO
4、MPUTERSYSTEMSECURITY密文:CTSETOETCYMREUPSMRUYSI2 2、代替法、代替法 :代替密码就是明文中每一个字符被:代替密码就是明文中每一个字符被替换成密文中的另外一个字符,代替后的各字替换成密文中的另外一个字符,代替后的各字母保持原来位置。对密文进行逆替换就可恢复母保持原来位置。对密文进行逆替换就可恢复出明文。出明文。 凯撒密码凯撒密码就是单表代替密码,它的每一个明文就是单表代替密码,它的每一个明文字符都由其右边第字符都由其右边第3 3个(模个(模2626)字符代替()字符代替(A A由由D D代替,代替,B B由由E E代替代替,W,W由由Z Z代替代替,X
5、,X由由A A代替,代替,Y Y由由B B代代替,替,Z Z由由C C代替)。代替)。明文明文 abcdefghijklm密文密文 DEFGHIJKLMNOP明文明文 nopqrstuvwxyz密文密文 QRSTUVW XYZABC 若明文若明文m=Casear cipher is a shift substitution 则密文则密文C=E(m)=FDVHDU FLSHU LV D VKLIW VXEVWLWXWLRQCAESAR密码的加法变换密码的加法变换 c (P + k) mod 26其中其中P是明文对应的数据,是明文对应的数据,c是与明文对应的密文数是与明文对应的密文数据,据,k是加
6、密用的参数,叫密钥。是加密用的参数,叫密钥。例如:明文:例如:明文:data security 对应数据序列:对应数据序列:4,1,20,1,19,5,3,21,18,9,20,25,当,当k=5时,密文序列是多少?时,密文序列是多少?得密文序列:得密文序列:9,6,25,6,24,10,8,0,23,14,25,4密文:密文:ifyxjhzwnyd缺点:容易破解密码,可以使用统计攻击缺点:容易破解密码,可以使用统计攻击 练习:明文P:I am a network manager 密钥k=413密码的分类密码的分类密码体制从原理上分为:密码体制从原理上分为:1)传统密码体制)传统密码体制 :对
7、称密码体制(单钥体制):对称密码体制(单钥体制)2)现代密码体制:非对称密码体制(公钥密码体制、双)现代密码体制:非对称密码体制(公钥密码体制、双钥体制)钥体制)按照对明文的处理方式分为:分组密码算法和序列密码按照对明文的处理方式分为:分组密码算法和序列密码算法(流密码)。算法(流密码)。分组密码算法:把明文分成等长的组分别加密,例分组密码算法:把明文分成等长的组分别加密,例DES序列密码算法:是一个比特一个比特地处理,用已知的序列密码算法:是一个比特一个比特地处理,用已知的密钥随机序列与明文按位异或密钥随机序列与明文按位异或,例例RC414加密算法加密算法解密算法解密算法密钥密钥网络信道网络
8、信道明文明文明文明文密文密文加密密钥加密密钥解密密钥解密密钥两者相等两者相等 DES DES算法概述算法概述 为了建立适用于计算机系统的商用密码,美国商业部的国家标为了建立适用于计算机系统的商用密码,美国商业部的国家标准局准局NBSNBS于于19731973年年5 5月和月和19741974年年8 8月两次发布通告,向社会征求密码月两次发布通告,向社会征求密码算法。算法。 在征得的算法中,由在征得的算法中,由IBMIBM公司提出的算法公司提出的算法luciferlucifer中选。中选。 于于19761976年年1111月被美国政府采用,月被美国政府采用,DESDES随后被美国国家标准局和随后
9、被美国国家标准局和美国国家标准协会美国国家标准协会(American National Standard Institute(American National Standard Institute,ANSI) ANSI) 承认。承认。 19771977年年1 1月以数据加密标准月以数据加密标准DESDES(Data Encryption StandardData Encryption Standard)的名称正式向社会公布。的名称正式向社会公布。DES算法概述算法概述个人个人攻击攻击小组小组攻击攻击院 、 校院 、 校网 络 攻网 络 攻击击大公司大公司军 事 情军 事 情报机构报机构404
10、0(bitsbits)数周数周数日数日数小时数小时数毫秒数毫秒数微秒数微秒5656数百年数百年数十年数十年数年数年数小时数小时数秒钟数秒钟6464数千年数千年数百年数百年数十年数十年数日数日数分钟数分钟8080不可能不可能不可能不可能不可能不可能数百年数百年数百年数百年128128不可能不可能不可能不可能不可能不可能不可能不可能数千年数千年 M.Matsui M.Matsui 提出的线性分析方法,利用提出的线性分析方法,利用243243个已知明文,成功个已知明文,成功地破译了地破译了1616圈圈DESDES算法,到目前为止,这是最有效的破译方法。算法,到目前为止,这是最有效的破译方法。从从19
11、971997年开始,年开始,RSARSA公司发起了一个称作公司发起了一个称作“向向DESDES挑战挑战”的竞技赛。的竞技赛。在首届挑战赛上,罗克在首届挑战赛上,罗克维瑟用了维瑟用了9696天时间破解了用天时间破解了用DESDES加密的一加密的一段信息。段信息。19991999年年1212月月2222日,日,RSARSA公司发起公司发起“第三届第三届DESDES挑战赛(挑战赛(DES DES Challenge IIIChallenge III)”。20002000年年1 1月月1919日,由电子边疆基金会组织研制的日,由电子边疆基金会组织研制的2525万美元的万美元的DESDES解解密机以密机
12、以22.522.5小时的战绩,成功地破解了小时的战绩,成功地破解了DESDES加密算法。加密算法。DESDES已逐渐已逐渐完成了它的历史使命。完成了它的历史使命。明文64 bit码初始变换轮乘积变换逆初始变换密文bit码输出输出算法算法数据加密标准DESDES是一种明文分组为64比特,有效密钥56比特,输出密文64比特的,具有16轮迭代的分组对称密码算法,DES由初始置换,16轮迭代,初始逆置换组成。 2022-8-1DES1DES的基本运算 初始置换IP和初始逆置换IP-1 2.一轮一轮DES代换算法说明代换算法说明 DES结构f 函数为: f(R, K)=P(S(K E(R),如图3-6所
13、示: (1) E-扩展运算E-扩展运算是扩位运算,将32比特扩展为48比特,用方阵形式可以容易地看出其扩位其中粗方框中的为原始输入数据。 (2) S-盒运算S-盒运算由8个S-盒函数构成,其中,每一个S-盒函数都是6比特的输入,4比特的输出。 的值就是对应表si中(h1h6)2行和(h2h3h4h5)2列上的值。 2022-8-1S1:l14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,l0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,l4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,l15,12,8,2,4,9
14、,1,7,5,11,3,14,10,0,6,13,lS8:l13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,l1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,l7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,l2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11,2022-8-1l在在DES算法中,算法中,S盒变换是将每个盒变换是将每个s盒的盒的6位输入变换为位输入变换为4位输出,假位输出,假设设s盒盒2的的6位输入为位输入为111010,写出其输出。,写出其输出。S215 1 8 14
15、6 11 3 4 9 7 2 13 12 0 5 103 13 4 7 15 2 8 14 12 0 1 10 6 9 11 50 14 7 11 10 4 13 1 5 8 12 6 9 3 2 1513 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9l假设输入假设输入A=a1a2a3a4a5a6则则a2a3a4a5=k,a1a6=h,在在s盒的盒的h行行k列找列找到一个数到一个数B,B在在015之间,则用二进制表示之间,则用二进制表示B=b1b2b3b4,就是就是s1的的输出;输出;根据以上算法,根据以上算法,B在在S盒的盒的2行行13列,顺着表找到数字列,顺着表找到
16、数字9,用二进制表,用二进制表示为示为1001,即输出为,即输出为10012022-8-1(3)P-置换P-置换是对8个S-盒的输出进行变换,可以扩散单个P-盒的效果,如表3-5所示。3子密钥生成器密钥(64bit)PC-1K1C0置换选择1(去奇偶校验、置换56bit)D0LS1LS1C1D1LS2LS2C2D2PC-2置换选择228bit28bit56bitK2PC-256bitLS16LS16C16D16K16PC-256bit48bit48bit48bitl64比特的密钥K,经过PC-1后,生成56比特的串。其下标如表所示:2022-8-1l该比特串分为长度相等的比特串C0和D0。然后
17、C0和D0分别循环左移1位,得到C1和D1。C1和D1合并起来生成C1D1。C1D1经过PC-2变换后即生成48比特的K1。K1的下标列表为:2022-8-1lC1、D1分别循环左移LS2位,再合并,经过PC-2,生成子密钥K2依次类推直至生成子密钥K16。l注意:Lsi (I =1,2,.16)的数值是不同的。具体见下表:2022-8-1DESDES算法的解密过算法的解密过程是一样的,区程是一样的,区别仅仅在于第一别仅仅在于第一次迭代时用子密次迭代时用子密钥钥K K(1515),第二),第二次次K K(1414)、)、.,最后一次用最后一次用K K(0 0),算法本身),算法本身并没有任何变
18、化。并没有任何变化。DES的安全性分析 ( 1 ) S-盒的设计准则S盒的设计准则还没有完全公开,人们仍然不知道S盒的构造中是否使用了进一步的设计准则。 ( 2 ) 56位有效密钥太短 这是最致命的缺陷。 ( 3 ) 弱密钥和半弱密钥 ( 4 ) 代数结构存在互补对称性 对称加密的优点: 算法效率高,尤其是硬件实现的情况 很强的保密性对称加密的缺点: 密钥管理麻烦: 有N个用户,n(n-1)/2个密钥量。 假设n=1000,则需要49995000个密钥。三重DES为了增强DES算法的安全性,人们提出了许多DES的改进方案。其中,称为三重DES的多重加密算法是DES的一个重要的改进算法。 DES
19、解密DES加密DES加密DES加密DES解密DES解密明文M密文CK1K2K3加密38加密算法加密算法解密算法解密算法公开密钥公开密钥网络信道网络信道明文明文明文明文密文密文私有密钥私有密钥公钥公钥私钥私钥 公钥公钥私钥私钥不可相互推导不可相互推导不相等不相等Q:公钥加密和数字公钥加密和数字签名的区别签名的区别RSARSA密码是由密码是由Rivest, ShamirRivest, Shamir和和AdlemanAdleman三位学者于三位学者于19771977年联合提出的双密钥(公钥)密码系统,年联合提出的双密钥(公钥)密码系统,RSARSA是由他们的名字的首字母命名。是由他们的名字的首字母命
20、名。是迄今理论上最为是迄今理论上最为成熟完善的一种公钥密码体制。成熟完善的一种公钥密码体制。 RSARSA密码基于计算复杂性原理获得加密强度,密码基于计算复杂性原理获得加密强度,但其缺点是系统的安全取决于所用的两个大素数,但其缺点是系统的安全取决于所用的两个大素数,如果能找出一种快速方法分解这两个大素数,系统如果能找出一种快速方法分解这两个大素数,系统很容易被攻破。很容易被攻破。RSA密码体制密码体制RSA的算法描述(1)密钥的生成 1. 选择两个大素数 p,q,(p,q为互异素数,需要保密), 2. 计算n = pq, (n) = (p1)(q1) 3. 选择整数 e 使 (n),e) =1
21、, 1e (n) 4. 计算d,使d = e1mod (n), 得到:公钥 为e,n; 私钥为d(2)加密(用e,n): 明文:M BoblStep 1:Bob选择选择Ep(a,b)的元素的元素G,使得使得G的阶的阶n是一个大是一个大素数素数,秘密选择整数秘密选择整数k.计算计算P=kG,公开公开(p,a,b,G,P),保,保密密k。其中。其中KbkG为为Bob公钥,公钥,Kbk为为Bob私钥私钥lStep 2:将消息:将消息m编码为编码为x-y形式的点形式的点PmlStep 3:Alice随机选择一个正整数随机选择一个正整数r,对,对Pm产生密文产生密文CmrG,PmrKblStep 4:B
22、ob解密解密lCm-Kb(rG)l=Pm+rKb-krGl=Pm+r(kG)-rkG=Pm2022-8-1ECC加密加密/解密实现(续)解密实现(续)lAlice-Bob(示例)示例)lStep 1:Bob选择选择E88331(3,45),G(4,11), Bob私钥私钥KbK=3, Bob公布公钥公布公钥Kb(413,1808) lStep 2: Pm=(5,1734) lStep 3:Alice随机选择一个正整数随机选择一个正整数r=8,对,对Pm产生密文产生密文:CmrG,PmrKb=(5415,6321),(6626,3576)lStep 4:Bob解密解密lKb(rG)=3(5415
23、,6321)=(673,146)lCm -Kb(rG)=(6626,3576)-(673,146)=(5,1734)2022-8-1序列密码序列密码l按位处理消息按位处理消息l一般具有一个伪随机密钥流发生器一般具有一个伪随机密钥流发生器l对明文按位进行异或运算对明文按位进行异或运算 (XOR)l以随机的以随机的密钥流密钥流来破坏消息的统计特征来破坏消息的统计特征lCi = Mi XOR StreamKeyi 2022-8-1序列密码(续)序列密码(续)同步流密码原理同步流密码原理密钥流生成器密钥流生成器密钥流生成器密钥流生成器加密变换加密变换解密变换解密变换安全信道安全信道公开信道公开信道种子
24、密钥种子密钥k种子密钥种子密钥k密钥流密钥流Ki密钥流密钥流Ki明文明文m密文密文c密文密文c明文明文m2022-8-1序列密码(续)序列密码(续)自同步流密码原理自同步流密码原理密钥流生成器密钥流生成器密钥流生成器密钥流生成器加密变换加密变换解密变换解密变换安全信道安全信道公开信道公开信道种子密钥种子密钥k种子密钥种子密钥k密钥流密钥流Ki密钥流密钥流Ki明文明文m密文密文c密文密文c明文明文m2022-8-1序列密码:序列密码:RC4lRC: “RC” is Rons Code or Rivest Cipherl1987年年Ron Rivest 为为RSA公司所设计的流密码公司所设计的流密
25、码算法算法l可变密钥长度的、面向字节操作的流密码:可变密钥长度的、面向字节操作的流密码:82048位可变位可变l1994年算法才公开年算法才公开l在在SSL/TLS和和IEEE 802.11无线网络中有广泛应无线网络中有广泛应用:用:WEP协议协议2022-8-1序列密码:序列密码:RC4(续)(续)l用从用从1到到256个字节的可变长度个字节的可变长度密钥初始化矢量密钥初始化矢量S:0.255 ,S0,S1,S255lS 形成了算法的内部状态形成了算法的内部状态l密钥流字节密钥流字节K由由S中中255个元素按照一定方式选出一个元个元素按照一定方式选出一个元素来生成素来生成l每生成一个每生成一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 密码学 基础 ppt 课件
限制150内