网站大量收购闲置独家精品文档,联系QQ:2885784924

第5章公钥密码算法20091107.doc

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 公钥密码算法 本章介绍公钥密码机制的基本,并介绍一些常用的公钥算法,如Diffie-Hellman密钥交换算法、RSA加密算法、ElGamal加密算法、Rabin加密算法、ECC体制、1:n公钥体制、(t, n)门限密码共享体制等。5.1 公钥密码技术 5.1.1 公钥密码算法基本原理 尽管对称密码技术有一些很好的特性,但它也存在着明显的缺陷,主要在于其密钥的管理: 进行安全通信前需要以安全方式进行密钥交换。这一步骤,在某种情况下是可行的,但在某些情况下会非常困难,甚至无法实现。 密钥规模复杂。举例来说,A与B两人之间的密钥必须不同于A和C两人之间的密钥,否则给B的消息的安全性就会受到威胁。在有1000个用户的团体中,A需要保持至少999个密钥(更确切的说是1000个,如果需要留一个密钥给他自己加密数据)。对于该团体中的其用户,此种情况同样存在。这样,这个团体一共需要将近50万个不同的密钥!推而广之,n个用户的团体需要个不同的密钥。 公钥密码算法是指加密和解密数据使用两个不同的密钥,即加密和解密的密钥是不对称的,这种密码系统也称为公钥密码系统PKC (Public Key Cryptosystem)。公钥密码学的概念首先是由Diffie和Hellman两人在1976年发表的一篇著名论文:“密码学的新方向”中提出的,并引起很大的轰动。该论文曾获得IEEE信息论学会的最佳论文奖。 与对称密码算法不同的是,公钥密码算法将随机产生两个密钥:一个用于加密明文,其密钥是公开的,称为公钥;另一个用来解密密文,其密钥是秘密的,称为私钥。图表示了公钥密码算法的基本原理。 如果两个人使用公钥密码算法传输机密信息,则发送者首先要获得接收者的公钥,并使用接收者的公钥加密原文,然后将密文传输给接收者。接收者使用自己的私钥才能解密密文。由于加密密钥是公开的,不需要建立额外的安全信道来分发密钥,而解密密钥是由用户自己保管的,与对方无关,从而避免了在对称密码系统中容易产生的任何一方单方面密钥泄露问题以及分发密钥时的不安全因素和额外的开销。公钥密码算法的特点是安全性高、密钥易于管理,缺点是计算量大、加密和解密速度慢。因此,公钥密码算法比较适合于加密短信息。在实际应用中,通常采用由公钥密码算法和对称密码算法构成混合密码系统,发挥各自的优势。使用对称密码算法来加密数据,加密速度快;使用公钥密码算法来加密对称密码算法的密钥,形成高安全性的密钥分发信道,同时还可以用来实现数字签名和身份验证机制。 图5.1.1 公钥密码算法基本原理 在公钥密码算法中,最常用的是RSA算法。在密钥交换协议中,经常使用Diffie-Hellman算法。 5.1.2 基本概念 应用两个不同的密钥:一个是公开的,一个是秘密的。从公开密钥(以下简称为公钥)很难推断出密钥(以下简称为私钥)。持有公钥的任何人都可以加密消息,但却无法解密。只有持有私钥的人才能够解密。 公钥加/解密基本步骤如下: 图5.1.2 加/解密基本步骤 一般的情况下,网络中的用户约定一个共同的公开密钥密码系统,每个用户都有自己的公钥和私钥,并且所有的公钥都保存在某个公开的数据库中,任何用户都可以访问此数据库。这样加密协议如下: Alice从公开数据库中取出Bob的公开密钥 Alice用Bob的公开密钥加密她的消息,然后传送给Bob Bob用他的私钥解密Alice的消息。 5.1.3 公钥的优点 从以上的介绍中可以看出,与对称密码技术相比较,利用非对称密码技术进行安全通信,有以下优点: 通信双方事先不需要通过保密信道交换密钥。 密钥持有量大大减少。在n个用户的团体中进行通信,每一用户只需要持有自己的私钥,而公钥可放置在公共数据库上,供其用户取用。这样,整个团体仅需拥有n对密钥,就可以满足相互之间进行安全通信的需求。(实际中,因安全方面的考虑,每一用户可能持有多个密钥,分别用于数字签名、加密等用途。此种情况下,整个团体拥有的密钥对数为n的倍数。但即使如此,与使用对称密码技术时需要个不同的密钥相比,需要管理的密钥数量仍显著减少。) 非对称密码技术还提供了对称密码技术无法或很难提供的服务:如与函数联合运用可生成数字签名(下面介绍),可证明的安全伪随机数发生器的构造,零知识证明等。 5.1.4 基本服务 公钥算法的基本服务包括以下内容: 加密/解密:发送方可以用接收方的公钥加密消息。 数字签名:发送方用其私钥“签署”消息,通过对消息或作为消息函数的小块数据应用加密算法来进行签署。 密钥交换:两方互相合作可以进行会话密钥的交换。 5.1.5 理论基础 一个公开密钥密码系统必须满足的条件是: 通讯双方A和B容易通过计算产生出一对密钥(公开密钥,私密钥) 在知道公开密钥和待加密报文M的情况下,对于发送方A,很容易通过计算产生对应的

文档评论(0)

185****7617 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档