第4章公钥密码体制.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章公钥密码体制

在现实生活中,签名能够被伪造,签名能够从文章中盗用移到另一篇文章中,文件在签名后能够被改变。 计算机文件易于复制。即使某人的签名难以伪造(例如,手写签名的图形),但是从一个文件到另一个文件复制和粘贴有效的签名都是很容易的,这种签名并没有什么意义;其次文件在签名后也易于修改,并且不会留下任何修改的痕迹。 公钥密码学使得数字签名成为可能。 用私钥加密信息,这时就称为对信息进行数字签名。 将密文附在原文后,称为数字签名。 其他人用相应的公钥去解密密文,将解出的明文与原文相比较,如果相同则验证成功,这称为验证签名。 4.4.2 数字签名的方法 基本的数字签名协议是简单的: 1.Alice用她的私钥对文件加密,从而对文件签名。 2.Alice将签名的文件传给Bob。 3.Bob用Alice的公钥解密文件,从而验证签名。 这个协议没有通过第三方去验证签名。甚至协议的双方也不需要第三方来解决争端。 这个协议也满足我们期待的特征: 1.签名是可信的。当Bob用Alice的公钥验证信息时,他知道是由Alice签名的。 2.签名是不可伪造的。只有Alice知道她的私钥。 3.签名是不可重用的。签名是文件的函数,并且不可能转换成另外的文件。 4.被签名的文件是不可改变的。如果文件有任何改变,文件就不可能用Alice的公钥验证成功。 5.签名是不可抵赖的。Bob不用Alice的帮助就能验证Alice的签名。 存在四个问题 1、公钥密码算法对长文件签名效率太低; 2、没有实现多重签名—多个人签名; 3、签名文件没有保密功能(如果签名文件只想让Bob解开); 4、Bob和Alice声称的公钥与他们的身份是否相同。 通过CA来解决这个问题 如何解决公钥密码算法对长文件签名效率太低的问题 数字签名协议和单向散列函数一起使用。Alice和Bob并不对整个文件签名,只对文件的散列值签名。 1.Alice产生文件的散列值,Alice用她的私钥对散列值加密,凭此表示对文件签名。 2.Alice将文件和散列签名送给Bob。 3.Bob用Alice发送的文件产生文件的散列值,然后用Alice的公钥对签名的散列值解密。 Bob解密的散列值与自己产生的散列值相同,签名就是有效的。 计算速度大大地提高了,并且两个不同的文件有相同的160比特散列值的概率为1/2160。因此,使用单向散列函数的签名和文件签名一样安全。 多重签名 采用单向散列函数,是容易的: 1.Alice对文件的散列值签名。 2.Bob对文件的散列值签名。 3.Bob将他的签名交给Alice。 4.Alice把文件、她的签名和Bob的签名发给Carol。 5.Carol验证Alice和Bob的签名。 4.4.3 带加密的数字签名 通过把公钥密码和数字签名结合起来,我们能够产生一个协议,可把数字签名的真实性和加密的安全性结合起来。 想象你写的一封信:签名提供了原作者的证明,而信封提供了秘密性。 图4-6 带加密的数字签名 1.Ailce用她的私钥对信息签名: SA(M) 2.Alice用Bob的公钥对签名的信息加密,然后送给Bob: EB(SA(M)) 3.Bob用他的私钥解密: DB(EB(SA(M)))=SA(M) 4.Bob用Alice的公钥验证并且恢复出信息: VA(SA(M))=M RSA进行密钥分配的缺陷 有通信的某一方决定,不是保密通信方共同协商的结果。 4.5 数字签名算法 4.5.1 数字签名算法DSA 1991年8月,美国NIST公布了用于数字签名标准DSS的数字签名算法DSA,1994年12月1日正式采用为美国联邦信息处理标准。 DSA中用到了以下参数: (1) p为L位长的素数,其中,L为512~1024之间且是64倍数的数。 (2) q是160位长的素数,且为p-1的因子。 (3) g=h(p-1)/q mod p,其中,h是满足1<h<p-1且h(p-1)/q mod p大于1的整数。 (4) x是随机产生的大于0而小于q的整数。 (5) y=gx mod p。 (6) k是随机产生的大于0而小于q的整数。 前三个参数p、q、g是公开的;x为私钥,y为公钥;x和k用于数字签名,必须保密;对于每一次签名都应该产生一次k。 对消息m签名: r = (gk mod p) mod q s = (k-1(SHA-1(m) + xr)) mod q r和s就是签名。验证签名时,计算: w = s-1 mod q u1 = (SHA-1(m)×w) mod q u2 = (rw) mod q v = ((gu1×yu2 ) mod p) mod q 如果v=r,则签名有效。 4.5.2 RSA签名方案 前面提到RSA可以用于数字签名。根据4.1中的

文档评论(0)

daoqqzhuan2 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档