第18章网络安全II密码学基础2

上传人:新** 文档编号:569522053 上传时间:2024-07-30 格式:PPT 页数:50 大小:216KB
返回 下载 相关 举报
第18章网络安全II密码学基础2_第1页
第1页 / 共50页
第18章网络安全II密码学基础2_第2页
第2页 / 共50页
第18章网络安全II密码学基础2_第3页
第3页 / 共50页
第18章网络安全II密码学基础2_第4页
第4页 / 共50页
第18章网络安全II密码学基础2_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《第18章网络安全II密码学基础2》由会员分享,可在线阅读,更多相关《第18章网络安全II密码学基础2(50页珍藏版)》请在金锄头文库上搜索。

1、第第18章章 网络安全网络安全II密码学基础密码学基础-2公钥密码体系(public key cryptography)公钥密码算法RSA算法其它公钥密码算法报文认证和散列算法数字签名皿密歹饶旁笨逻豆成肉润瘪允忠蜗贴访上缮苛幕澄疡淀糊盘牧眼演锑炸去第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2传统密码体系的两个难题传统密码体系的两个难题密钥分发问题密钥分发问题密钥的安全分发一直是传统密码体系的难题。一个普遍接受的方法是:A、B双方通过与第三方的加密通道传递,第三方可信吗?如果,密码算法再强又有什么意义!数字签名数字签名密码学要在信息技术产业、网络安全上获得广泛应用,必须要

2、具有数字签名的手段。殷织站束聂呼薛改枝街湛皂银窝彤肮酚替寝亏易浩肮冈劫弱辞栽汁弧漂嘎第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2公钥密码体系公钥密码体系DiffieDiffie 和HellmanHellman1976年发表“密码学的新方向”,提出公钥密码体系,是密码学的重大革命。每个通信方都有一对密钥,一个公开,称公钥称公钥称公钥称公钥(public key),另一个保密,称私钥私钥私钥私钥(private key), 它们数学上相关,但由公钥无法推知私钥由公钥无法推知私钥由公钥无法推知私钥由公钥无法推知私钥。公钥算法基于数学函数数学函数数学函数数学函数而不是替代和置换

3、。公钥密码体系又称非对称非对称非对称非对称密钥密码体系,它使用两个密钥,这对于保密通信、密钥分配、身份认证等都有深远影响。血旦贬容哺防显唉划洪指里拧伞蹄郎圣社胎呜觉篮断呀冗侩叙池私皮臂樟第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2公钥密码体系公钥密码体系(续续)传输密文明文明文加密算法解密算法张三的公钥公钥密码系统模型加密加密变换解密变换张三的私钥谚舒院椒苦捆旬胜妨骏稼软榨睬面沛吱疗些柯籍喇沥斡裳意刽岸雕橡给蛙第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2公钥密码体系公钥密码体系(续续)特性:两个相关密钥中任一个都可以用于加密,而用另一个解密。知道

4、加密算法和加密密钥,要确定解密密钥在计算上是不可能的。应用:加密加密加密加密:发送方用接收方的公钥加密消息传送。数字签名数字签名数字签名数字签名:发送者用自己的私钥加密消息传送。交换交换交换交换传统密码的对称密钥密钥密钥密钥。.催宠毯俯眨捅吠况灰宵玉魔渤蝴辉的筷伴铡新昏蔚讹编敏凄店魏盯艘肮吓第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2公钥密码体系公钥密码体系(续续)对于公钥密码常见的误解:?公钥密码在防范密码分析上比传统密码更安全。实际上,任何密码的安全性都依赖于密钥长度和破译密码的计算工作量,在抗击密码分析上那个都不比对方更优越。?公钥密码技术使传统密码已过时。由于公

5、钥加密算法的速度很慢,两者各有所用。?与传统密码密钥分发相比公钥分发就非常简单。实际上,这个过程既不更简单,也不更有效。曼山朽镰塘牌蟹化辈貉事瞬挫卞越准骋哉癸供随送登涪苔还里蝎皇服赦溉第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2RSA算法算法概述概述麻省理工学院的 R Rivest,S Shamir 和 A Adleman 在1977年研制,1978年发表的 RSARSA 是最著名、最广泛采用的公钥密码算法。RSA是第一个较完善的公钥密码算法,它既能用于加密,也能用于数字签名。在已提出的公钥密码算法中,RSA是最容易理解和实现的,也是最流行的。RSA已经受了多年深入的密

6、码分析。密码分析者既不能证明、也不能否定RSA的安全性。这正好说明RSA有可信度。英私酵暇饲嗣残汹痛董奴店缺嗡灸句旷宁契蛤薪搞淘锰竭宦拽验吟税塘战第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2RSA算法算法密钥生成密钥生成密钥生成密钥生成(1) 选择大的素数 p, q;( p, q 保密 )(2) 计算 n = pq;( n 公开)(3) 计算欧拉函数(pq) =(p)(q) = (p-1)(q-1) (根据Euler 函数定义,(n)是小于 n 且与 n 互素的正整数个数)(n)保密 )(4) 选择 d(n), 满足 gcd(n), d)=1;(d保密)(5) 计算 e

7、, 满足 ed=1 (mod (n); (e公开)公钥公钥公钥公钥 = ( = (e e, , n n) ),私钥私钥私钥私钥 = ( = (d d, , n n) )。勇先邻只躺尸椿缘蹲们资观辩萨技饯致届糙贵蘸咒窜扼次旧吓科疮库埃灼第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2RSA算法算法(续续)用公钥加密用公钥加密明文:M n (如果 M 大,可分块处理)密文:C = M e (mod n)用私钥解密用私钥解密密文:C明文:M = C d (mod n)耻垫斋对举洛难呐清蓄睁鹤柱琐敢姻挥韧萌正巾巢脏淤伞春腐帽恐稀粮筋第18章网络安全II密码学基础-2第18章网络安全

8、II密码学基础-2RSA算法算法例子例子密钥生成:选择两个素数 p = 47, q = 71。计算 n = p q = 4771 = 3337。计算(n) = (p-1) (q-1) = 3220。选择一个d, d (n)且与(n)互素, 取d = 1019。计算e, 使de =1 (mod 3220), e = 79。101979=80501=253220+1。公开e 和 n,保密d, p, q。加密:明文=688,密文=68879 (mod 3337) = 1570。椭聋鹰盈巷毛学始报旱蕾汰笔厨渗屁霉铝锅藤贷妹誓揪晕致转垃医运贮尿第18章网络安全II密码学基础-2第18章网络安全II密码学

9、基础-2RSA算法算法例子例子(续续)加密:明文 M = 688 232 687 966 668 3首先将 M 分成小块,在本例中按三位数字分块就可。第一块用公钥加密:68879 (mod 3337) = 1570。对其余块进行同样运算,产生密文:C = 1570 2756 2091 2276 2423 158解密:用私钥 1019 进行相同的指数运算。如15701019 (mod 3337) = 688。.序懈尼它胺眯岗职好涎徐软辈耿扔窝吟屑同缮灼琢朋丹潍胰嗅小骸咐锣酵第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2RSA算法算法原理原理RSA的加密和解密密文:C = M

10、e mod n明文:M = Cd mod n = (Me)d mod n = Med mod n 公钥(e, n),私钥(d, n), ed = 1 (mod (n)。需要关系: Med mod n = M mod n Euler Euler 定理的推论:给定素数定理的推论:给定素数 p p 和和 q q,整数,整数 n n 和和 m m,n n = = pq pq 且且00m m n n,对任意整数,对任意整数 k k,下式成立:,下式成立:mk(n)+1 = m mod n径蓟戒源织养实扁娶梆颁臃屉混煞笼暮出橱塔胆脊绑力肯扣四擂建朴莲沏第18章网络安全II密码学基础-2第18章网络安全II

11、密码学基础-2RSA算法算法密钥的计算密钥的计算密钥的计算:确定两个大素数 p 和 q, 选择 d 或 e, 计算另一个。记住:选择大的选择大的选择大的选择大的 d d。.p 和 q 是保密的,但 n = pq 是公开的,为防止通过穷举攻击发现 p 和 q,素数必须从足够大的集合中选取,p 和 q 必须是大素数。还没有产生任意大素数的有用技术。通常的过程是随机选取一个所需数量级的奇数,并检验它是否素数。若不是,选取后续的随机数。蝗芍染搏距词蠢绵抽隘殖衬芽螟案森纶撤完素琉准包耙迅静章萤几图循船第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2RSA的速度的速度已经制造出许多实现

12、RSA加密的芯片。硬件实现时,RSA大约比DES慢1000倍。软件实现时,RSA大约比DES慢100倍。这些数字会随技术发展而变化。但RSA的速度将永远不会达到对称密钥密码算法的速度。公钥密码和对称密钥密码各有所长,各有所用。秉孜悍站成铜戈框贱磋犹藩听韵逼渭万唬滋鹤讥囱辱佑因煮绷怪萧虾缴亨第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2RSA的安全性的安全性如果能从 n 分解出 p 和 q,就可以计算(n),然后从 ed = 1 (mod (n) 就可以确定 d。因子因子因子因子分解攻击分解攻击分解攻击分解攻击 是对 RSA 最显而易见的攻击方法。RSA RSA 的安全性取

13、决于对一个大数做因子分解的的安全性取决于对一个大数做因子分解的的安全性取决于对一个大数做因子分解的的安全性取决于对一个大数做因子分解的难度难度难度难度。但从数学上从未证明未证明未证明未证明过需要分解 n 才能从密文 C 和公钥 e 计算出明文 M。大数的因子分解是一个难题。但现在不像以前那么难.。1977年RSA的三位发明者在印 一密码,悬赏100美元破译,公钥是129位十进制数。1994年4月一个通过Internet合作小组8个月后破译。.噬苛牧绎搜溜距铭衬缺留号摄躬獭刽仙殉驹币碍沸耘斧里符些龟丁屉磋掂第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2其它公钥密码算法其它公

14、钥密码算法安全使用 RSA 所要求的密钥长度近年已增加到1024位, 这对使用 RSA 的应用增加了处理开销。1985年N.Koblitz和Miller提出将椭圆曲线用于密码算法, 椭圆曲线密码系统椭圆曲线密码系统椭圆曲线密码系统椭圆曲线密码系统 ECC ECC (E Elliptic C Curve C Cryptography)的前景看好。ECC 的主要优点是它似乎用位数少得多的密钥用位数少得多的密钥用位数少得多的密钥用位数少得多的密钥(160)取得和 RSA(1024) 相等的安全性,因此减少了处理开销,加密系统运算更快。ECC 比 RSA 等算法都难于解释。秉装组鳖谆嫉由钵司淬尝徒叉崔

15、弗端决淑平滦人距挖邮亿缕狗袱灌锤似鳃第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2报文认证和散列算法报文认证和散列算法报文认证和报文认证码MAC(Message Authentication Code)(单向)散列函数散列(hash)算法HMAC 涸缠鸦钦姜方髓路铆蓑鸭斥阀甭逊婪把姑交滑痕茹赠城磐稽埠引侣丸憾酞第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2报文认证和报文认证码报文认证和报文认证码MAC报文认证:证实收到的报文来自可信的源,且未被篡改。报文认证码报文认证码报文认证码报文认证码 MAC MAC:使用密钥密钥密钥密钥从报文产生一个短小的定长

16、数据块,即所谓报文认证码 MAC,并将它附在报文中。散列散列散列散列(hash)(hash)函数函数函数函数:将一个任意长的报文任意长的报文任意长的报文任意长的报文 MM 映射为 定长的散列值定长的散列值定长的散列值定长的散列值 H(M) H(M),也称为报文摘要报文摘要报文摘要报文摘要(message digest)。散列与加密合并为一个整体函数,实际上就是散列与加密合并为一个整体函数,实际上就是散列与加密合并为一个整体函数,实际上就是散列与加密合并为一个整体函数,实际上就是一个一个一个一个MACMAC。所槐墨拥抑却誓细棕崖账舵使札乓遥匝秉肾尤迁聪兽缉葡陷棵抖握墓个丝第18章网络安全II密码

17、学基础-2第18章网络安全II密码学基础-2(单向单向)散列函数散列函数为用于报文认证,散列函数 H 应该具备的性质:1. 输入为任意长度报文,输出为固定长度散列值。2. 任意给定 x,计算计算计算计算 H(H(x x) ) 很容易很容易很容易很容易。3. 任意给定 H(x),计算计算计算计算 x x 很难很难很难很难,即单向性单向性单向性单向性。4. 对任何给定 x,寻找 y x 使 H(y) = H(x) 很难。称弱抗冲突(weak collision resistance)。5. 寻找任何 (x,y) 对,使 H(x) = H(y) 很难。称强抗冲突(strong collision r

18、esistance)。特集巾颧推向洁尝枕坤味捎倦辅寇高侩夕桨顽逾轧羌元孟计幂莆珠显纫拴第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2(单向单向)散列函数散列函数(续续)性质2,3是单向性的重要特征。性质5保证 H(x)能充分地代表 x,x 的微小变化都将导致 H(x)的变化。无法找到一个替代报文,其散列值与给定报文的散列值相同,防止伪造。报文 M 用散列函数 H 计算出报文摘要 H(M) 后,再用私钥对这个短数据(128位512位)加密,这也是数字签名技术的实质。帆靡樱赎策单架枝营弱柬锋附匙境得邦刑心杆幸巾囊独墟恃蚤蚊斟甲诈馏第18章网络安全II密码学基础-2第18章网络

19、安全II密码学基础-2(单向单向)散列函数散列函数(续续)设计一个接收任意长度输入的函数不是容易的事,更不用说还要单向。实际中,将任意长度报文分成定长报文块处理。单向散列函数是建立在压缩函数压缩函数压缩函数压缩函数的想法上。压缩函数 f 的输入是报文块 Mi 和前一块的输出。hi = f (Mi, hi-1)。该散列值和下一报文块一起作为压缩函数的下一轮输入。最后一个报文块的散列就成为整个报文的散列。凋引谓门掩侈失剖裔腺情脯誊捧反械亚朋熙试川期对堪催俊娶韭涉涵腺杠第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2散列函数的一般结构散列函数的一般结构f ff ff fY0Y1Y

20、L-1CV1CVL-1CVLIV=CV0nnnnnbbbIV = 初值 CV= 链接变量 Yi = 第 i 个输入块 f f = 压缩算法压缩算法压缩算法压缩算法L = 输入的块数 n = 散列码长度 b = 输入块长抨毕形寡盈畴妹光甸污跑粮彩农槽腻此诲绵目铆乳它又泌怜检锦疥撩织鹿第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2散列算法散列算法大多数重要散列算法遵循以上结构。.报文摘要算法 MD5 MD5 (MMessage D Digest 5 5)MD5是麻省理工学院的 Ron Rivest 提出,被广泛使用。它产生128128位位位位散列值。安全散列算法 SHA-1S

21、HA-1 (S Secure HHash A Algorithm-1 1) SHA是由美国国家标准和技术局NIST提出,1993年公布,1995年发布了修订版,称SHA-1。它产生160160位位位位散列值。闪摔逞柑菏雌班屁汽撬访兰磁夸巩玖寺德火命例泽所愚该玄掐彻掌遭滴公第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2报文摘要算法报文摘要算法MD5过程过程报文填充 长度值Y0HHMD5MD5Y1HHMD5MD5IV128CV1128512位512位.YqHHMD5MD5CVq128512位.YL-1HHMD5MD5CVL-1128512位摘要128位L512位(1)(2)(

22、3)(4)(5)酬剔懦箱蜜贝乱缺缅抿侥相后荔噪痒碗絮付矗譬镍煮星乡菲琢镶驻窟削厢第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2报文摘要算法报文摘要算法MD5过程过程(续续)步骤(1):填充报文到填充报文到448 (mod 512)448 (mod 512)位位,即512的整数倍减64位。填充位=1000。步骤(2):附加附加6464位长度值位长度值。若原始报文长K位,则长度值=K mod 264。这两步产生L512位的扩展报文,表示成512位的块序列Y0, , YL-1。步骤(3):初始化缓存初始化缓存。使用一个128位的缓存存放散列函数的中间值CVq及最终结果,该缓存可

23、表示为4个32位的寄存器(A, B, C, D),它们的初值,即IV为:(十六进制表示)。田琅喘柔舰贴儡癸径喇翌籍沂啤井疲馁瓢娄蘸鱼贿侍逛彦烦倘音藕泥曝讲第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2报文摘要算法报文摘要算法MD5过程过程(续续)A=67452301B=EFCDAB89C=98BADCFED=10325476这些值的低位字节放在低地址字节上。存储为:字A:01 23 45 67字B:89 AB CD EF字C:FE DC BA 98字D:76 54 32 10步骤(4):处理处理512512位位(16(16字字) )的报文块序列的报文块序列Y0, , YL

24、-1,算法的核心是模块算法的核心是模块H HMD5MD5。步骤(5):所有L个512位的报文块处理完成后,第L阶段产生的输出输出就是128128位报文摘要位报文摘要。锣理厂炯辑寒泡虑格盾置缉瓦沙鸥碳揩羹鄙申爵幼躲爵歇勉菱俯究城涟桅第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2MD5的压缩函数的压缩函数HMD5HMD5是一个包含四轮四轮四轮四轮的压缩函数压缩函数压缩函数压缩函数。四轮有相似的结构,每一轮进行16步操作。但每轮使用不同的逻辑函数F, G, H, I 和表 T 不同的1/4部分。表T通过正弦函数构建。TTi i 的值是2 23232|sin(|sin(i i)|

25、 )|的整数部分,i的单位是弧度。0 |sin(i)| 1,因此Ti均能用32位表示。表T提供了一个“随随机化机化” ”的的3232位数集位数集。HMD5的每轮以Yq和缓存ABCD为输入,更新缓存内容。第四轮的缓存输出与第一轮的输入CVq的4个字分别以模232相加得CVq+1。犀逻蹄趾韧挤茵推病潮人张蔼员烟馆伙额喇帅削涎灿旬件情雄晨阀哨嘘蜡第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2HMD5的处理过程的处理过程F, T116, XF, T116, Xi i, 16, 16个步骤个步骤G, T1732, XG, T1732, X 2(2(i i), 16), 16个步骤个

26、步骤H, T3348, XH, T3348, X 3(3(i i), 16), 16个步骤个步骤I, T4964, XI, T4964, X 4(4(i i), 16), 16个步骤个步骤ABCDABCDABCDABCDCVq+ + + + +YqCVq+1512位罐眨琐主饥苦噬轿鸿荫彝朽晤陕莽骸能黄琼虑班蚂骨疏桶茎灾荤押候黑粮第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2HMD5中每轮的单步中每轮的单步HMD5中每轮由对缓存ABCD的16 步操作组成。每1步操作为:( a + g(b, c, d) + X( a + g(b, c, d) + Xk k + T + Ti

27、i ) s ) + b ) s ) + b,其中a, b, c, d = 缓存ABCD中4个32位字g= 逻辑函数F, G, H, I 之一(非线性) s= 32位数循环左移 s 位Xk= 报文块Yq 的第 k 个字,k =0, , 15Ti= 表 T 中第 i 个字+= 模 232 加法文钉跌邮继殉阿铝扼衫痰厨接瓶咆登勾拆管入忽吞桐晚续四砖庞环速咀愉第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2HMD5中每轮的单步中每轮的单步(续续)cd+ +g gba+ + + sb, 输入散列函数产生 n 位的密钥;推荐密钥长度 n。K+= 在 K 的左边填充0,使总长度等于 b。

28、侵牵煞吁涧军栅坎囚副埠菩抗诧泼羊误车鹰罐冶连阵阵拱欧放芽皑擅伐烬第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2HMAC算法算法(续续)ipad= 00110110 重复 b/8 次opad = 01011010 重复 b/8 次HMACK = H (K+ opad) | H (K+ ipad) | M 算法说明:1. 对密钥 K的左端填充0,生成 b 位的串 K+ (例如,若 K的长度是160位, b=512, 则填充44个0字节)。2. 将 K+与 ipad 按位异或,产生一个b 位块 Si 。3. 将报文 M 附加到 Si 后。瓜甫寨加手襟咽埔匠扰奄四遍鸽莉渺阉由黍炸

29、隐芹阐谜墨饼六递酗鞍昭搓第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2HMAC算法算法(续续)4. 使用 H 计算第3步产生的数据流的散列值。5. 将 K+与 opad 按位异或,产生一个 b位块 So 。6. 将第4步产生的散列值附加到 So 后。7. 使用 H 计算第6步产生的数据流的散列值。注意,与 ipad 异或的结果是使 K 中一半的位值反转。与 opad 异或的效果也一样,只是反转的位不同。从效果上看,Si 和So 通过散列函数中的压缩函数将从 K 产生两个伪随机密钥。逞迸飘姨阂硼哀姬晦痪严觉挤蕊验道异旁诈琢棺迢澜社您蛹疙仲懂忱泞认第18章网络安全II密码学基

30、础-2第18章网络安全II密码学基础-2HMAC的安全性的安全性HMAC将散列函数看作一个“黑盒”。HMAC的安全性依赖于嵌入的散列函数的密码分析强度。如果嵌入的散列函数已不够安全,可以简单地用更安全的散列函数来替换。由于还有密钥K, HMAC采用MD5而不是SHA-1作为嵌入散列函数目前是完全可以接受的。看值砰党树哺嗡谩锐减羽揣养侩斑讯侄拇饺哥嗅山豌砚扫瓦啼日初沮苛服第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2数字签名数字签名数字签名对于报文的安全来说应该有三方面功能:完整性完整性完整性完整性:数字签名确保报文没有被篡改;真实性真实性真实性真实性:数字签名确保报文是由

31、签名者所发出;不可否认性不可否认性不可否认性不可否认性:数字签名者对所发的报文不能否认。利用公钥密码系统可以构造这样的数字签名。对于由A发出的报文 M,A可以用自己的私钥 DA加密该报文,记作MDA,这可以做数字签名。 问题?滞咆蝗唉础究黍洞纵赣讽醒譬醉习袋铝荣禁折塑券歇噶促啥弯腐盛按涟胡第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2数字签名数字签名(续续)公钥算法加密一个大报文需要大量处理时间。对数字签名的大部分应用,报文本身无需加密,只要确保报文的完整性、真实性、不可否认性。散列函数将一个报文映射为一个短得多的、固定长度散列码,即“报文摘要”。报文摘要报文摘要报文摘要

32、报文摘要RSARSA私钥加密私钥加密私钥加密私钥加密可以达到数字签名目的。ISO9796是使用RSA的国际数字签名标准。NIST在1991年公布数字签名标准 DSSDSS,采用散列算法SHASHA和NSA研制的数字签名算法 DSADSA。优铱拐遥拓阎皋颂逸筒鹏规堤湛真酚巨荷辊凑挖卯肄症颊疥括馈董烽稍楚第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2数字签名方案数字签名方案1散列散列+RSAM散列散列散列散列函数函数函数函数M加密加密加密加密RSARSA散列散列散列散列函数函数函数函数解密解密解密解密RSARSA比较私钥公钥烤吩拦裹挪馒咯彝镊芭狼醇垢华汤粘畔驼虑圈悸苟任圈轰恒

33、裴驱孵集赚捍第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2数字签名标准数字签名标准DSS(散列散列+DSA)M散列散列散列散列函数函数函数函数sM签名签名签名签名算法算法算法算法发方私钥全局公钥随机数kr散列散列散列散列函数函数函数函数签名签名签名签名验证验证验证验证发方公钥全局公钥比较汗栗骄癌贱播肤疏傻妖捕曙澡菊此吵常致炽铁瘫控扔薪乖蔫换丹戎自账醉第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2数字签名算法数字签名算法DSADSA是基于数学上计算离散对数的难度。算法首先构造全局公钥(p, q, g),它包括三个分量:160 位的素数 q,512102

34、4位的素数 p,以及计算所得的 g。在全局公钥的基础上,每个用户选择一个私钥x,并计算一个公钥 y = g x mod p。 计算签名(r, s),它是全局公钥、用户私钥、报文散列码 H(M)、随机整数 k 的函数(用户每个报文的密数 k 是随机或伪随机数)。筹挥栈什芍吵疙辑翅调毡欧鳃瓷辟咎密个兰蚊涝碍汕竞欠尼负馋激轧斗丹第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2数字签名算法数字签名算法DSA(续续)接收者从收到的报文和签名、用户的公钥、全局公钥就能计算出 r,并与收到的 r 比较,来验证签名。DSADSA比比比比RSARSA慢慢慢慢。两者签名的速度相同,但验证签名时

35、DSA慢10到40倍。注意在接收端进行验证的值 r 只是 k 和三个全局公钥分量的函数,与报文无关。在实现DSA时,可以通过预计算加快速度。可以产生一串随机的 k 值,并预先计算出对应的 r 值。花部症符脯撵台八学掇群阎鞋噪潦茵怕笼暮牵针痈庚疤葬孵杜发剐酿雌年第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2DSA的安全性的安全性根据计算离散对数的复杂性,攻击者通过 r r 恢复出 k k,或通过 s s 恢复出 x x 都是很困难的。算法的安全性依赖于计算模数的离散对数的难度,许多密码学家对此忧心忡忡,在有限域上计算离散对数的问题已有进展,对长期的安全性来说 512512

36、位太小,密钥长度从 512 到1024 位可变则更好。DSA是由NSA研制的,使许多人担心。但算法是公开的、可分析的。哼宦桑罩铆田咀撅词予胡水非威捂栽滑籽剔畜哇坤柿蔬哆瓦溺啪篆抖基戌第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2关于关于DSA的评论的评论RSA是一个事实上的标准,RSA数字签名在国际上被广泛接受,得到工业界厚爱,特别是已获得RSA应用许可权的公司。RSA的专利于2000年9月20日到期。NIST打算使DSS在全世界免费使用,但Diffie-Hellman,Schnorr 等称DSA侵犯了他们的专利,实际上DSA是Schnorr 和ElGamal签名算法的变

37、型,Schnorr的专利于 2008年到期。粉讨绕天贞呐杜鹊瑞鸯翅旱平饶块繁例铡岁什配紊吾西菱靠坷盅肯凹锌腊第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2关于关于DSA的评论的评论(续续)尽管受到工业界的反对,1994年DSS最终被颁布成为美国官方标准。DSA受到了很多批评:(多半来自RSA团体) - DSA不能用于加密或密钥交换。 - DSA是由 NSA 研制的。 - DSA比RSA慢。 - RSA是一个事实上的标准。 - DSA可能侵犯其它专利。 - DSADSA密钥长度太小密钥长度太小密钥长度太小密钥长度太小。强装沦念哆幻皂卖裴轴框惜鄙沙夏看毁咽特骂吨朵沧钦爆潍惧箱碰担挚膘第18章网络安全II密码学基础-2第18章网络安全II密码学基础-2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号