crypto4c-ch09-公钥密码学和RSA.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
密码学重要进步 从Rotor到DES 都是基于替换和置换等初等方法 New Directions in Cryptography Whitfield Diffie, Hellman 1976 提出了公钥密码算法的概念和思路 提出了鉴别和签名问题 提出了D-H密钥协商协议 其他相关 Bobby Inman/NSA, James Ellis, Clifford Cocks 澄清误解 公钥算法更安全 不能简单比较。 传统对称算法已经过时 事实上,现在使用的是混合密码体制 公钥体制避免了传统密钥分配中心带来的麻烦 事实上,证书体制有其优点但绝非简单 公钥算法就是RSA RSA只是当前最重要的公钥算法 9.1 公钥密码体制的基本原理 公钥算法的思路的提出本身就是一个进步。遵从公钥体制能够简化密钥管理,能够实现数字签名等安全特性。和DES等对称算法不同,公钥体制的形式和结构导致公钥算法必须使用某种数学结构,而不能再使用替代和置换等初等方法。从形式上看,公钥算法将比对称算法更简洁和易于理解。 公钥密码算法的思路 对称算法的缺陷 为事先协商密钥,需另外的安全信道或KDC 不能满足签名的需求 非对称算法 密钥 K =(Kd,Ke),Kd即私钥 Ke即公钥 加密:E(P,Ke)= C 解密:D(C,Kd)= P 要求从Ke Kd 理论上能够 ? 实际上因需要计算量太大因而难于实施 公钥算法参数建立 每个用户生成密钥对(Ke、Kd) Ke或Kd是一个或几个数(大数) 而不是随机比特(对称算法中) Ke需要公开 Kd得自己秘密保留 (公钥 public key 私钥private key 密钥 secret key) 公钥的发布 从Ke推导Kd的困难性使Ke不怕被公开 公开的目录服务 公钥Ke要在专门机构(CA)登记 公钥算法加密 加密(如果有人要给该用户A发送消息P) 他先获得该用户的公开钥Ke 加密 C = E(P,Ke) 传输 解密 D(C,Kd)=P 除非拥有Kd,象该用户A,否则不能解开 * 一般用于传输会话密钥(和签名及鉴别) 公钥算法用来加密概念图示 公钥算法用来加密图示 公钥算法用来认证 如果你已经有他的公钥Ke,则可鉴别他的身份 取随机秘密消息P加密 C = E(P,Ke) 把密文C交给所谓的”他”,请他来解密 除非”他”拥有Kd,否则不能解开 D(C,Kd)=P 比较他解出的明文P是否正确 如果他能正确解密,则”他”是真他 公钥算法用来认证概念图示 公钥算法用来认证图示 消息来源鉴别和数字签名 假设使用加解密操作对称的算法如RSA 对消息H签名: S = Sig(H,Kd) 验证 Ver(C,Ke)=? H 消息H必然是Kd的持有人签署的 结合使用加密和签名 有消息要发给对方,要署名且保密传递 发送方:先用自己的私钥签名 发送方:再用对方的公钥加密 发送 接受方:先用自己的私钥解密 接受方:先用对方的公钥验证签名是否有效 构造公钥算法的考虑 对称算法 替换 混乱 基于某些数学特性 从公钥推导私钥理论可能,但计算困难 (从私钥到公钥容易) 单向函数(one-way function) 单向函数 单向函数 单向陷门函数 单向散列函数 One-way Function 单向性 单向函数 函数 函数值计算很容易:已知x,很容易计算y=f(x) 逆计算是不可行的:已知y,很困难计算x=f-1(y) 困难程度 举例 打碎/拼接、平方/开方、乘法/分解 * 单向函数存在否 尚无严格的数学证明 Trapdoor One-way Function 单向陷门函数 如果知道某个陷门(秘诀),即能容易恢复x (陷门即为私钥) 举例 魔方的置乱/恢复 如果有那个口诀,就能很快恢复 加密/解密 One-way Hash function 散列函数(单向+散列) h = H(m) ,其中m任意,h定长 有的散列函数并不满足单向(抗冲突)性质 密码学上用的散列函数都是指单向散列函数 抗冲突性质 给定h,找m满足H(m)=h很难 给定m,找m’满足H(m’)=H(m)很难 直接找m1和m2满足H(m1)=H(m2)很难 举例 MD5、SHA1 9.2 RSA算法 作者 1977年,R, S, A Ron Rivest /~rivest/ Adi Shamir http://www.wisdom.weizmann.ac.il/~shamir/ Len Adleman /dept/molecular-science/ 基本参数 分组密码算法 基于整数乘法 明/密文分组以及公/私钥被看作小于n的整数 加/解密是模乘运算 RSA算法参数建立 找素数

文档评论(0)

yingzhiguo + 关注
实名认证
内容提供者

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档