收藏 分享(赏)

第3章_密码学基础1.ppt

上传人:hwpkd79526 文档编号:7414488 上传时间:2019-05-16 格式:PPT 页数:104 大小:8.96MB
下载 相关 举报
第3章_密码学基础1.ppt_第1页
第1页 / 共104页
第3章_密码学基础1.ppt_第2页
第2页 / 共104页
第3章_密码学基础1.ppt_第3页
第3页 / 共104页
第3章_密码学基础1.ppt_第4页
第4页 / 共104页
第3章_密码学基础1.ppt_第5页
第5页 / 共104页
点击查看更多>>
资源描述

1、,网络安全与管理,第3章 密码学基础,2,学习目标,密码学的基本概念和术语 对称和非对称密码的区别 古典密码学的基本方法 掌握DES算法、RSA算法的基本原理,3,3.1 密码学概述,3.1.1 密码学的发展史 3.1.2密码系统 3.1.3密码的分类 3.1.4 近代加密技术 3.1.5密码的破译,4,公元前世纪,古斯巴达人 用一条带子缠绕在一根木棍上, 沿木棍纵轴方向写好明文, 解下来的带子上就只有杂乱无章的密文字母。 解密者只需找到相同直径的木棍, 再把带子缠上去,沿木棍纵轴方向即可读出有意义的明文。 这种叫做“天书”的器械堪称人类历史上最早使用的密码器械。,3.1密码学简史,5,公元前

2、1世纪,著名的恺撒密码(古罗马统帅恺撒:约公元前10044)被用于高卢战争中,这是一种简单易行的单字母替代密码。,密码学简史,6,密码学简史,9世纪,阿拉伯的阿尔.金迪提出频度分析的方法来解密,通过分析计算密文字符出现的频率来破译密码。16世纪晚期,苏格兰女王玛丽 密码信,策划暗杀英国女王伊丽莎白。 英国的菲利普斯 利用频度分析法成功破解 这次解密将玛丽送上了断头台。,7,密码学简史,16世纪中期,意大利的卡尔达诺发明了卡尔达诺漏格板,覆盖在密文上,可从漏格中读出明文,这是较早的一种分置式密码。,追杀令:YOU KILL AT ONCE,情书,密钥,8,16世纪晚期, 法国的维吉尼亚Vigen

3、ere 提出著名的维吉尼亚方阵密表、维吉尼亚密码, 这是一种多表加密的替代密码, 可使阿尔.金迪和菲利普斯的频度分析法失效。,密码学简史,9,密码学简史,维吉尼亚方阵密表,10,19世纪, 英国的巴贝奇、普鲁士的卡西斯基Kasiski 发展了更复杂的频度分析法, 可破解维吉尼亚密码,密码学简史,11,密码学简史,17世纪, 英国著名的哲学家 弗朗西斯培根 学问的发展 最早给密码下了定义: “所谓密码应具备三个必要的条件,即 易于翻译、第三者无法理解、在一定场合下不易引人生疑。”,12,密码学简史,1883年,荷兰密码学家A.Kerckhoffs密码设计规则军事密码学: G 密码系统应该是计算安

4、全的; G 密钥由通信双方事先约定好,并根据一定协议进行更换; G 密码系统应该易于使用;G 密码系统应该精确而有效; G 除了密钥,密码系统的所有细节都为对手所知。Kerckhoffs原则在今天看来仍然具有十分重要的现实意义。,13,11世纪 兵书武经总要 中国历史上第一部有关密码的记述 介绍了一个小型却名副其实的密码本。,密码学简史,14,密码学简史,劉邦打下天下之後,害怕韓信造反,所以打算把他殺了。 又怕他帶的士兵太多,所以問了一下韓信目前帶了多少兵? 韓信感覺氣氛詭異,因此回答: 兵不知數,三三數之剩二,五五數之剩三,七七數之剩二 這個回答讓劉邦不知所措,連軍師張良一下子也算不出, 想

5、到一个数136,0128 (一百多万),不敢輕舉妄動。 韓信所帶的兵,人數可以少到23人,當然也可能是千萬人, 中国剩余定理,15,密码学简史,一战前,密码研究还只限于一个小领域,没有得到各国应有的重视。 第一次世界大战是世界密码史上的第一个转折点。 随着战争的爆发,各国逐渐认识到密码在战争中发挥的巨大作用, 积极给予大力扶持,使密码很快成为一个庞大的学科领域。第一次世界大战进行到关键时刻,英国破译密码的专门机构“40号房间”利用缴获的德国密码本破译了著名的“齐默尔曼电报”,促使美国放弃中立参战,改变了战争进程。,16,密码学简史,第二次世界大战爆发后, 世界各国开始重视对密码破译的研究工作,

6、纷纷成立专门的研究和破译机构,在战争中发挥重要的作用。德国潜艇指挥部德尼茨的B机关泄露了太多的军事情报。 波兰人和英国人破译了德国著名的“恩格玛”密码机密码, 德国的许多重大军事行动对盟军都不成为秘密。,17,18,1944年6月4日, 德国U-505潜艇受到美海军特遣大队反潜深炸弹攻击, 受伤浮起后,美军冲入无线电室, 缴获了密码机和大量明、密报, 并秘密将U-505潜艇拖回美国。 德军误认为U-505潜艇沉没海底而未换密码。 在欧战结束前的11个月里,依靠破译的密码, 美军和同盟国军队共击沉德国潜艇300多艘,平均每天一艘, 同时大大减少了自己船只的损失, 对战争的胜利产生了重大影响。,密

7、码学简史,19,美军成功地破译了日本的通讯密码, 从而导致日本在中途岛海战中失利, 既报了珍珠港的一箭之仇,又使太平洋战场的局面得到彻底扭转。二战期间,美军破译日本海军密码多达75种,由于密码被破译, 日本总吨数约三之二的商船被美国潜艇击沉, 给日本军队带来了严重的战争后果。,密码学简史,20,1948年以前的密码技术可以说是一种艺术,而不是一种科学, 那时的密码专家是凭直觉和信念来进行密码设计和分析的, 而不是靠推理证明。 1948年,C. E. Shannon(19162002) 在贝尔系统技术杂志上发表论文通信的数学理论, 创立了著名的新理论信息论, 保密系统的通信理论标志着密码术到密码

8、学的转变。,密码学简史,21,20世纪70年代中期,密码学界发生了两件跨时代的大事: Diffie和Hellman发表的题为“密码学新方向”文章, 提出了“公钥密码”新体制,冲破了传统“单钥密码”体制的束缚。传统密码体制主要功能是信息的保密,双钥(公钥)密码体制不但赋予了通信的保密性,而且还提供了消息的认证性新的双钥密码体制无需事先交换秘密钥就可通过不安全信道安全地传递信息,大大简化了密钥分配的工作量。双钥密码体制适应了通信网的需要,为保密学技术应用于商业领域开辟了广阔的天地。,密码学简史,22,20世纪70年代中期,密码学界发生了两件跨时代的大事: 美国国家标准局NBS于1977年公布实施美

9、国数据加密标准DES, 保密学史上第一次公开加密算法,并广泛应用于商用数据加密这两件引人注目的大事揭开了保密学的神秘面纱, 标志着保密学的理论与技术的划时代的革命性变革 为保密学的研究真正走向社会化作出了巨大贡献, 同时也为保密学开辟了广泛的应用前景。 从此,掀起了现代密码学研究的高潮。,密码学简史,23,密码学的作用和意义,我们正在步入一个崭新的信息社会, 信息在社会中的地位和作用越来越重要, 每个人的生活都与信息的产生、存储、处理和传递密切相关 “谁掌握了信息,控制了网络,谁就将拥有整个世界!” 信息的安全与保密问题成了人人都关心的事情, 使密码学脱去神秘的面纱, 成为大家感兴趣并为更多人

10、服务的科学。,24,密码学,密码学(Cryptology):研究信息系统安全保密的科学。它包含两个分支, 密码编码学(Cryptography),对信息进行编码,实现对信息的隐蔽。 密码分析学(Cryptanalysis),研究分析破译密码或消息的伪造。,25,加密通信模型,密码学的目的:Alice和Bob两个人在不安全的信道上进行通信,而破译者eve不能理解他们通信的内容。,明文 加密 密文 解密,26,加密的简化模型,27,密码体制,一个密码系统(体制)包含了所以可能的明文、密文、密钥、加密算法和解密算法。密码系统的安全性是基于密钥,而不是加密算法和解密算法的细节。(这意味着算法可以公开,

11、甚至可以当成一个标准来公布)- Kerckhoff准则,28,密码算法的分类,按照保密的内容分: 受限制的(restricted)算法:算法的保密性基于保持算法的秘密 基于密钥的(key-based)算法:算法的保密性基于对密钥的保密。,29,密码算法分类,基于密钥的算法,按照密钥的特点分: 对称密码算法(symmetric cipher):加密和解密的密钥相同,或者说实质上等同的,即从一个易于推出另一个。又称为秘密密钥算法或单密钥算法。 非对称密钥算法(asymmetric cipher):加密密钥和解密密钥不同,从一个很难推出另一个。又称为公开密钥算法(public-key cipher)

12、。,30,密码算法的分类,按照明文的处理方法分: 分组密码(block cipher):将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。 流密码(stream cipher):又称为序列密码。它每次加密一位或一字节的明文。序列密码是手工和机械密码时代的主流。,31,密码算法的分类,对称密钥密码可以分为: 1. 分组密码 每次对一块数据加密 多数网络加密应用 DES, AES, IDEA, RC6等。 2. 流密码 每次对一位或一个字节加密 手机 One-time padding, Vigenre, Vernam,32,密码算法分类,公开密钥密码: 大部分是分组密码

13、, 只有概率密码是属流密码。 每次对一块数据加密 数字签名,身份认证 RSA、ECC、ElGamal 加解密速度慢,33,密码分析,假设破译者Eve是在已知密码体制的前提下来破译Bob使用的密钥。这个假设称为Kerchhoff原则。最常见的破解类型如下: 已知明文的破译方法:知道一部分明文和其对应的密文,分析发现密钥。 选定明文的破译方法 :设法让对手加密自己选定的一段明文,并获得密文,再分析发现密钥。差别比较分析法 :设法让对方加密一组差别细微的明文,通过比较它们加密后的结果来分析密钥。,34,密码算法的安全性,无条件安全(Unconditionally secure)无论破译者计算能力有多

14、强,无论截获多少密文,都无法破译明文。 计算上安全(Computationally secure) 破译的代价超出信息本身的价值 破译的时间超出信息的有效期,35,S1. A, B2. KABKAS, KABKBSA 3. KABKBS, A B有了密码算法,信息就安全了吗?,36,S,1. A, C2KACKAS,KACKCS1. A, B2. KACKAS,KACKCS3. KACKCS, A这里C成功的冒充了B,要求C必须是一个对于服务器S来说的一个合法用户安全密码算法+安全协议 信息安全,C,A,B,37,3.2古典密码学,芦花丛中一扁舟, 俊杰俄从此地游, 义士若能知此理, 反躬逃难

15、可无忧。我画兰江水悠悠, 爱晚亭上枫叶稠。 秋月融融照佛寺, 香烟枭枭绕轻楼。1949年之前,密码学还不是科学,而是艺术,38,古典密码是密码学的渊源,这些密码大都比较简单,现在已很少采用了。然而,研究这些密码的原理,对于理解、构造和分析现代密码都是十分有益的。,39,3.2.1代换密码 3.2.2 置换密码,3.2古典密码学,40,3.2.1代换密码,1、移位密码 移位密码基于数论中的模运算。因为英文有26个字母,故可将移位密码定义如下: 令P=A,B,C,Z,C=A,B,C,Z,K=0,1,2,25, 加密变换:Ek(x)=(x+k)mod 26 解密变换:Dk(y)=(y-k)mod 2

16、6其中:xP,yC,kK,41,3.2.1代换密码,例3-1:假设移位密码的密钥k=10,明文为:computer,求密文。 首先建立英文字母和模26的剩余025之间的对应关系,如表:利用上表可得computer所对应的整数:2 14 12 15 20 19 4 17 将上述每一数字与密钥10相加进行模26运算得:12 24 22 25 4 3 14 1 再对应上表得出相应的字母串:MYWZEDOA 如何解密?,42,讨论:上述移位加密算法到的密钥空间有多大,是否容易破解?,43,3.2.1代换密码,2、单表代换密码 明文字母和密文字母是一一对应的 如:利用一个密钥字来构造替换作为密钥,不同的

17、密钥字可得到不同的替换表。,明文为:networksecurity 密文为:GDPTHMCODARMIPX,44,例: 密钥字:cipher 明文:networksecurity 密文:,45,单表代换密码的缺陷:明文字母和密文字母的对应关系是固定的,根据英文字母出现频率的统计规律和连缀关系,就可以分析出明文。,46,字母的使用频率,47,3.2.1代换密码,3、多表替换密码 Vigenere密码:设密钥K=k1k2kn,明文M=m1m2mn, 加密变换:ci(mi+ki)mod 26,i=1,2,n 解密变换:mi(ci-ki)mod 26,i=1,2,n 例如:明文:X=cipher bl

18、ock,密钥为:hit密文:JQI OMK ITH JS,48,例:采用Vigenere密码技术,假设通信双方均已互相约定好一把秘密密钥“cryptography”,将明文“strike while the iron is hot ”加密。 密文:UKPXDSCYIAIRJVGGHBOTHDA 多表替换中同一密文可以对应不同的明文,安全性更高一些。,49,3.2.2 置换密码,保持明文的所有字母不变,只是打乱明文字母出现的位置 令m为一正整数,P=C=A,B,C,Z,对任意的置换(密钥),定义: 加密变换:E(x1,x2,xm)=(x(1), x(2), x(m), 解密变换:D(y1,y2,

19、ym)=(x-1(1), x-1 (2), x-1 (m),50,逆序密码:将明文倒序 例:P= computer systemC= metsys retupmoc,3.2.2置换密码技术,51,将明文排成矩阵后按列进行输出 例:明文can you understand,C=y n s d n u r n c o d t a u e a,密钥为4312。将矩阵第1列字符作为密文的第3组,第2列作为密文的第4 组,第3列作为密文的第2 组,第4列作为密文的第1组,结果为:,3.2.2置换密码技术,52,将明文排成矩阵后按列进行输出 例:明文can you understand,C=y n s d

20、 n u r n c o d t a u e a,密钥为4312。将矩阵第1列字符作为密文的第3组,第2列作为密文的第4 组,第3列作为密文的第2 组,第4列作为密文的第1组,结果为:,3.2.2置换密码技术,53,3.2.2 置换密码,设m=6,密钥为如下的置换,假设有一段明文:internet standards and rfcs. 将明文每六个字母分为一组:intern|etstan|dardsa|ndrfcs351642 351642 351642 351642 根据上面给出的转换,可得密文: tnirnesneattradsadrsncdf 密文如何译成明文?,54,3.2.2 置换

21、密码,将密文每六个字母分为一组: tnirne|sneatt|radsad|rsncdf 361524 361524 361524 361524 根据上面给出的-1转换,可得明文:internetstandardsandrfcs 置换密码也无法防范基于统计的密码分析攻击,55,3.3对称密码学,3.3.1分组密码概述 3.3.2 分组密码的基本设计思想Feistel网络 3.3.3 DES算法 3.3.4 其它的对称加密算法 3.3.5 对称密码的工作模式,56,3.3.1分组密码概述,明文b1b2b3b4.被划分成长度为n的分组,一个分组表示为:mi=(bj,bj+1,bj+n-1),各个分

22、组在密钥的作用下,变换为等长的数字输出序列ci=(xj,xj+1,xj+2,xj+n-1)。,57,3.3.1分组密码概述,设计分组密码算法时,需要考虑以下几个要素 : (1)分组长度n要足够大 (2)密钥空间足够大。 (3)算法要足够复杂。 (4)加密和解密运算简单,易于实现,差错传播尽可能小。,58,3.3.2 分组密码的基本设计思想Feistel网络,1、扩散和混乱 扩散和混乱是由Shannon提出的设计密码系统的两个基本方法,目的是抵抗攻击者对密码的统计分析。 扩散就是指将明文的统计特性散布到密文的多位,密文的每一位受多位明文影响,明文或密钥的某一位发生变化,则对应的密文将发生“雪崩效

23、应”,即面目全非。 混乱就是使密文和密钥之间的统计关系变得尽可能复杂,解密者无法从密文和明文的对应关系中寻找出它们与密钥之间的联系。,59,2、Feistel网络结构及特点 (1)将明文分组分为左右两个部分:L0,R0,数据的这两部分通过n轮(round)处理后,再结合起来生成密文分组; (2)第i轮处理其上一轮产生的Li-1和Ri-1和K产生的子密钥Ki作为输入。一般说来,子密钥Ki与K不同,相互之间也不同,它是用子密钥生成算法从密钥生成的; (3)每一轮的处理的结构都相同,置换在数据的左半部分进行,其方法是先对数据的右半部分应用处理函数F,然后对函数输出结果和数据的左半部分取异或(XOR)

24、; (4)处理函数F对每轮处理都有相同的通用结构,但由循环子密钥Ki来区分; (5)在置换之后,执行由数据两部分互换构成的交换; (6)解密过程与加密过程基本相同。规则如下:用密文作为算法的输入,但以相反顺序使用子密钥Ki; (7)加密和解密不需要用两种不同的方法。,60,3.3.2 分组密码的基本设计思想Feistel网络,61,3.3.3 DES算法,1、算法描述,62,3.3.3 DES算法,一轮的运算,63,(1)E变换,扩展置换E:将输入32比特明文按每4位进行分组,这4位作为输出6位的中间4位,输出6位的其余两位分别由相邻的两个4位小分组的最外面的两位扩展进入本分组产生。按照上图所

25、示方法扩展,输出的前6比特顺次是输入的第32、1、2、3、4、5比特;输出的第二个6比特顺次是输入的第4、5、6、7、8、9比特;输出的第八个6比特顺次是输入的第28、29、30、31、32、1比特。,32 1 2 3 4 5,1 2 3 4,5 6 7 8,29 30 31 32,3.3.3 DES算法,64,3.3.3 DES算法,S-盒置换 每个S-盒是一个4行16列的表 6-bit数的首、末两位数决定输出项所在的行;中间的四位决定输出项所在的列,65,(2) S-盒 把48比特的数分成8个6比特的数,每个6比特查一个S-盒得到4比特的输出。 每个S-盒是一个4行16列的表 6-bit数

26、的首、末两位数决定输出项所在的行;中间的四位决定输出项所在的列 。,3.3.3 DES算法,66,3.3.3 DES算法,假设第6个S-盒的输入为110101 则输出为第3行第10列的项(行或列的记数从0开始),即输出为4-bit组0001。,12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11,10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8,9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6,4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13,S6:,67,例:S1(100100)则对应的4位输

27、出是什么? 答案:1110,68,从64 bit 的带校验位的密钥K(本质上是56 bit密钥k)中,生成16个48 bit的子密钥Ki,用于16个f函数中:,3.3.3 DES算法,(3)密钥扩展,69,(4)解密,解密是加密的逆变换。其运算与加密相似,以密文作为输入,子密钥的选取次序正好与加密变换相反K1=K16,K16=K1。,3.3.3 DES算法,70,DES举例,已知明文m=computer,密钥k=program,用ASCII码表示为: m=01100011 01101111 01101101 01110000 01110101 01110100 01100101 0111001

28、0 k=01110000 01110010 01101111 01100111 01110010 01100001 01101101因为k只有56位,必须插入第8,16,24,32,40,48,56,64位奇偶校验位,合成64位。而这8位对加密过程没有影响。,71,明文m经过初始置换后得到 L0= 11111111 10111000 01110110 01010111 R0= 00000000 11111111 00000110 10000011 初始密钥k通过置换得到 C0= 11101100 10011001 00011011 1011 D0= 10110100 01011000 1000

29、1110 0110 再各自左移一位,通过压缩置换得到48位 k1=00111101 10001111 11001101 00110111 00111111 00000110 R0(32位)经E作用膨胀为48位, 10000000 00010111 11111110 10000000 11010100 00000110,72,再和k1作异或运算得到(分成8组) 101111 011001 100000 110011 101101 111110 101101 001110 通过S盒后输出位32比特, 01110110 00110100 00100110 10100001 S盒的输出又经过P置换得到

30、 01000100 00100000 10011110 10011111 这时 :,所以,第一趟的结果是: 00000000 11111111 00000110 10000011 10111011 10011000 11101000 11001000,73,如此,迭代16次以后,得到密文:01011000 10101000 01000001 1011100001101001 11111110 10101110 00110011明文或密钥每改变一位,都会对结果密文产生剧烈的影响。任意改变一位,其结果大致有将近一半的位发生了变化。,74,DES的安全性,1997年通过Internet几万台计算机历

31、时96天破解DES密钥。 1998年电子前沿基金会用20万美元制造的专用计算机56小时成功破译。 1999年电子前沿基金会22小时15分成功破译。,75,虽然目前已有替代DES的数据加密标准,但在金融领域保密一般数据还有比较广泛的应用。 在POS (point of sale) 、ATM磁卡、加油站、高速公路收费站等领域使用DES以此实现关键数据的保密。 如信用卡持卡人的PIN (personal identification number)加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均使用DES。,76,应该注意到的一个事实是,DES经过了可能是当今最多的分析或攻击,

32、但未发现任何结构方面的漏洞。DES算法最终之所以被破译的关键是密钥的长度问题,用当今计算机处理速度看,56 bit的密钥对穷搜攻击已经是太小了一点。 所以,后来人们提出的多数算法把密钥长度选到80、128 bit甚至256 bit以上。高强度的算法还要求,没有比穷搜攻击更加有效的攻击方案。,77,3.3.3 DES算法,三重DES DES不支持变长密钥。但算法可以一次使用多个密钥,从而等同于更长的密钥。 三重DES算法表示为:C=EK3(DK2(EK1(M) 通常取K3=K1,则上式变为:C=EK1(DK2(EK1(M) 这样对于三重DES的穷举攻击需要2112次,而不是DES的264次了。,

33、78,3.3.4 其它的对称加密算法,AES IDEA RC2/RC4/RC5,79,AES算法 尽管TDES在强度上满足了当时商用密码的要求,但随着计算速度的提高和密码分析技术的不断进步,造成了人们对DES的担心。在上世纪90年代美国最终发起了在全世界范围内征集DES替代算法标准的活动。 2000.10 评选结束,宣布Rijndael 算法最终胜出。 AES算法特点:可变密钥长为128、192、256三种,用于加密相应长度的分组;强度高:抗所有已知攻击;对内存要求低,适合于受限环境,且操作简单。,3.3.4 其它的对称加密算法,80,IDEA算法 国际数据加密算法IDEA(Internati

34、onal Data Encryption Algorithm)与DES一样,也是共享密钥加密算法,1990年提出。 IDEA使用128位(16字节)密钥对64位明文加密。这么长的密钥被认为即使在多年后仍是有效的。 IDEA算法通过一系列的加密轮次进行操作,每轮都使用从完整的加密密钥中生成的一个子密钥,使用异或、模216加、模216+1乘在16bit的子分组上进行,在硬件软件实现上都容易。目前IDEA还未发现明显的安全漏洞,已经被PGP电子邮件安全协议采用。,3.3.4 其它的对称加密算法,81,分组密码在加密时,明文分组的长度固定 实际应用中待加密消息的数据长度和格式各不相同. 为了解决任意长

35、度明文的加密问题,DES定义了5种运行模式,这些模式也可用于其它分组密码,3.3.5 对称密码的工作模式,82,3.3.5 对称密码的工作模式,1、电子密码本模ECB 将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。如果最后一组长度不够,那么就用特殊序列补齐。,83,优点:实现简单,可并行执行,硬件实现快 缺点:不同明文分组独立进行加密,保留单表替换缺点,造成相同明文分组对应相同密文分组,不能隐蔽明文统计规律,不能抵抗替换攻击。 典型应用:随机数加密;单分组明文加密,84,ECB应用举例,85,86,3.3.5 对称密码的工作模式,2、密码分组链模式CBC

36、 将明文分成固定长度(64bit)的块,然后将前面一个加密块输出的密文与下一个要加密的明文块进行XOR(异或)操作计算,将计算结果再用密钥进行加密得到密文。第一明文块加密的时候,因为前面没有加密的密文,所以需要一个初始化向量(IV)。,87,88,CBC的特点: ECB方式不一样,通过连接关系,使得密文跟明文不再是一一对应的关系,破解起来更困难,而且克服了只要简单调换密文块可能达到目的的攻击。 但是该加密模式的缺点是不能实时解密,也就是说,必须等到每8个字节都接受到之后才能开始加密,否则就不能得到正确的结果。这在要求实时性比较高的时候就显得不合适了。,89,90,3.3.5 对称密码的工作模式

37、,3、密码反馈模式CFB,加密反馈模式为了克服必须等待8个字节全部得到才能进行解密的缺点,采用了一个64位(8个字节)的位移寄存器来获得密文。,91,需要注意的是,如果其中有一个字节的密文在传输的时候发生错误(即使是其中的一位),那么它出现在移位寄存器期间解密的8个字节的数据都会得不到正确的解密结果,当然,这8个字节过去之后,依然可以得到正确的解密结果。但是一个比特错误就影响到8个字节(64个比特)的正确结果。,92,3.3.5 对称密码的工作模式,(4)输出反馈模式OFB,OFB跟CFB几乎是一样的,除了其以为寄存器的输入数据稍微有一点不同,没有采用密文作为加密的数据 。,93,没有采用密文

38、作为加密的数据,所以克服了传输过程中由于单个比特导致64个相关比特解密失败的情况,在本模式下,如果一个比特发生错误了,那么只会影响其本身对应的一个比特,而不会影响别的。但是相对于其它模式,因为数据之间相关性小,这种加密模式是比较不安全的,所以在应用的时候除非特别需要,一般不提倡应用OFB模式。,94,95,3.3.5 对称密码的工作模式,(5)计数模式CTR 使用与明文分组规模相同的计数器,产生随机序列与明文逐位异或,并行处理。适用于实时性和速度要求较高的场合。,96,3.4非对称密码体制,3.4.1 RSA 3.4.2 Diffie-Helman算法,97,不对称密钥加密算法原理 用户A拥有

39、密钥(PKA,SKA); 用户B拥有密钥(PKB,SKB);,PK,SK,PK,SK,98,3.4.1 RSA,1RSA算法描述:,99,3.4.1 RSA,计算密钥 选择素数: p=17 选择e=7 确定d: de=1 mod 160 且 d 160, d=23 因为237=161= 1160+1 公钥KU=7,187 私钥KR=23,187 假设给定的消息为:M=88,则加密:C = 887 mod 187 = 11 解密:M = 1123 mod 187 = 88,100,p=3,q=11,e=7,M=5 求c,101,例2:构造一个RSA算法如下: 1.选择两个素数p=7以及q=17;

40、 2.计算n = pq = 7 17 = 119; 3.计算 ; 4.选择一个e= 5,它小于 ; 5.求出d,使得de=1 mod 96且d96。易见d=77,因为5 773854 961。 6. 结果得到的密钥为公开密钥PK5,119和私有密钥SK77,119。,102,3.4.1 RSA,2、RSA的速度及安全性 RSA加密芯片,如AT&T、Alpher Techn.、CNET、Cryptech、英国电信等。硬件实现RSA比DES慢大约1000倍,最快的实现512-bit模数的芯片可达1Mbps。 RSA算法的安全性基于数论中大数分解的难度。但随着分解算法不断改进和计算能力的不断增强,模

41、数小的算法越来越不安全。另一个决定性的因素是在数论,特别是数分解技术方面的突破。,103,3.4.2 Diffie-Helman算法,DiffeHellman算法发明于1976年,是第一个公开密钥算法。DiffieHellman算法不能用于加密和解密,但可用于密钥分配。 DiffeHellman密钥交换算法是基于有限域中计算离散对数的困难性问题之上的。离散对数问题是指对任意正整数x,计算gxmod P 是很容易的;但是已知g、Y和P求x,并使Y=gxmod P成立,在计算上几乎是不可能的。,104,3.4.2 Diffie-Helman算法,设Alice 和Bob是要进行秘密通信的双方,利用DiffieHellman算法进行密钥交换的过程可以描述如下: (1)Alice选取大的随机数x,并计算X= gxmod P ,Alice将g、p、X传送给Bob; (2)Bob选取大的随机数y,并计算Y= gymod P ,Bob将Y传送给Alice; (3)Alice计算K= YxmodP ,Bob计算K=Xymod P ,易见,K= K=gxymod P , Alice和Bob获得了相同的密钥值K,双方以K作为加解密钥以对称密钥算法进行保密通信。监听者可以获得g、P、X、Y,但由于算不出x、y,所以得不到共享密钥K。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报