- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 公钥密码学技术 公开密码学概述 Diffie-Hellman密钥交换算法 RSA 算法 DSA算法 PGP技术 公开密钥基础设施PKI 密钥管理 工具介绍 公钥密码学的基本概念 公钥密码学是1976年由Diffie和Hellman在其“密码学新方向”一文中提出 。 RSA公钥算法是由Rivest, Shamir和Adleman在1978年提出来的。 公开密钥算法是非对称算法,即密钥分为公钥和私钥 。在非对称密码中,不需要分发密钥。 基于公开密钥的加密过程 基于公开密钥的鉴别过程 公钥算法的特点 公开密钥算法设计需要有以下基本要求: ? 加密与解密由不同的密钥完成; ? 知道加密算法,从加密密钥得到解密 密钥在计算上是不可行的; ?两个密钥中任何一个都可以作为加密 而另一个用作解密; 非对称密钥系统的具有以下优点: ? 新用户的增加只需要产生一对公共/ 私有密钥。 ? 用户可以容易地从对称密码系统中删 除; ? 只有在用户的私有密钥被破坏时,才 需要进行密钥重建; ? 非对称密钥加密提供了认可功能。 ? 密钥分配过程简单。 公共密钥系统的主要弱点是加密和解密速度慢。 常用公钥算法 公开密钥算法的种类很多,分别基于不同的算法体制,具有代表性的三种类型: (1) 基于整数分解难题(Integer Factorization problem, IFP)的算法体制; (2) 基于离散对数难题(Discrete Logarithem Problem, DLP)算法体制; (3) 基于椭圆曲线离散对数难题(Elliptic Curve Discrete Logarithem Problem, ECDLP)的算法体制。 Diffie-Hellman、RSA和DSA是三种最常用的公钥算法。 Diffie-Hellman仅适用于密钥交换。 RSA算法适用于数字签名和密钥交换。 DSA算法仅适用于数字签名。 基于公钥算法的密钥交换 公钥基本结构PKI定义基于公钥的密钥交换步骤如下: (1)发件人获得收件人的公钥; (2)发件人创建一个随机机密密钥(在对称密钥加密中使用的单个密钥); (3)发件人使用机密密钥和对称密钥算法将明文数据转换为密文数据; (4)发件人使用收件人的公钥将机密密钥转换为密文机密密钥; (5)发件人将密文数据和密文机密密钥一起发给收件人; (6)收件人使用其私钥将密文机密密钥转换为明文; (7)收件人使用明文机密密钥将密文数据转换为明文数据。 公开密码学概述 Diffie-Hellman密钥交换算法 RSA 算法 DSA算法 PGP技术 公开密钥基础设施PKI 密钥管理 工具介绍 单向陷门函数 单向陷门函数是指满足下列条件的函数f: (1) 给定x,计算y=f(x)容易; (2) 给定y, 计算x使得y=f(x)是非常困难的; (3) 存在z,在已知z 时,对给定的任何y,若对应的x存在,则计算x使得y=f(x)是容易的。 Diffie-Hellman密钥交换算法 Diffie-Hellman密钥交换算法基于有限域中计算离散对数的困难性问题 。 公钥密码学中使用最广泛的有限域为素域FP。 基于计算离散对数困难性问题,Diffie-Hellman密钥交换协议描述如下: 甲和乙协商好一个大素数p和一个大的整数g, 1gp,g最好是FP中的本原元,即FP*=g; p和g无须保密,可为网络上的所有用户共享; 当甲和乙要进行保密通信时,他们可以按如下步骤来做: (1) 甲选取大的随机数x,并计算 Y = gx(mod P); (2) 乙选取大的随机数x?,并计算 Y ? = gx?(mod P); (3) 甲将Y传送给乙,乙将Y ?传送给甲; (4) 甲计算K= (Y ?)X(mod P),乙计算K ? =(Y) X ?(mod P);因此K = K ? =g xx ?(mod P) 由(4)知,甲和乙已获得了相同的秘密值K 双方以K作为加解密钥以传统对称密钥算法进行保密通信 公开密码学概述 Diffie-Hellman密钥交换算法 RSA 算法 DSA算法 PGP技术 公开密钥基础设施PKI 密钥管理 工具介绍 RSA算法的实现 对于与某个明文分组M和密文分组C,加密和解密形式如下: 公开密钥KU={e, n},私有密钥为KR={d , n} RSA算法实现的步骤如下:假设甲为实现者 (1) 甲寻找两个大素数p和q (2) 甲计算n=p·q 和φ(n)=(p-1
文档评论(0)