3.加密技术(2)-公钥密码体系.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文档。上传文档
查看更多
CSE434/598 - Gannod 密码系统的模型 密钥交换协议/算法的历史 76年Diffie和Hellman发表了“密码学的新方向”,奠定了公钥密码学的基础 Diffie-Hellman密钥交换协议/算法 使用此方法确定对称密钥交换 78年,RSA算法 公钥技术是二十世纪最伟大的思想之一 改变了密钥分发的方式 可以广泛用于数字签名和身份认证服务 PKI 算法描述 Alice与Bob确定两个大素数n和g,这两个整数不保密, Alice与Bob 可以使用不安全信道确定这两个数. Alice选择另一个大随机数x,并计算A如下: A=gx mod n Alice将A发给Bob Bob选择另一个大随机数y,并计算B如下: B=gy mod n Bob将B发给Alice 计算秘密密钥K1如下: K1=Bx mod n 计算秘密密钥K2如下: K2=Ay mod n 算法示例 Alice与Bob确定两个大素数n和g,这两个整数不保密, Alice与Bob 可以使用不安全信道确定这两个数. 设 n=11,g=7 Alice选择另一个大随机数x,并计算A如下: A=gx mod n 设 x=3,则 A = 73 mod 11 = 343 mod 11 = 2 Alice将A发给Bob Alice将A发给Bob Bob选择另一个大随机数y,并计算B如下: B=gy mod n 设 y=6,则 B = 76 mod 11 = 117649 mod 11 = 4 Bob将B发给Alice Bob将4发给Alice 算法示例 计算秘密密钥K1如下: K1=Bx mod n 有 K1 = 43 mod 11 = 64 mod 11 = 9 计算秘密密钥K2如下: K2=Ay mod n 有 K2 = 26 mod 11 = 64 mod 11 = 9 数学理论 安全性在于有限域中的离散对数计算难度比同一个域中的指数计算难得多 Alice在第6步的计算: K1=Bx mod n B=gy mod n   K1=(gy)x mod n = gyx mod n  Bob在第7步的计算: K2=Ay mod n A=gx mod n    K2=(gx)y mod n = gxy mod n  K1=K2=K Alice与Bob交换n、g 、A 、B。根据这些值并不容易求出x(Alice知道)和 y( Bob知道),数学上对于足够大的数,求x与y是相当复杂的 a ≡ b(mod n) a0而0bn, b是a/n的余数,a为同余.例:23≡11(mod 12) 求模指数y=ax mod n 求一个数的离散对数.求x,使ax ≡ b(mod n) 对称密钥的问题 A、B(A-B) 1 A、B、C (A-B 、 A-C 、 B-C ) 3 A、B、C 、D (A-B 、 A-C 、 A-D 、 B-C 、 B-D 、 C-D ) 6 n n*(n-1)/2 N=1000 499500 钥匙的管理非常复杂(引入管钥匙的T) 算法问题 中间人攻击 中间人攻击 中间人攻击 非对称密钥 A、B不必同时访问T以获得密钥对 B访问T取得一个锁和密钥(K1),将锁和密钥(K1)发给A B告诉A可以使用这个锁和密钥(K1)封箱 B拥有不同组相关的密钥(K2), B从T取得(K2) ,是根据锁和密钥(K1)求出的,只有(K2)可用于开(K1)加的锁 一个密钥(K1)用于封箱,一个密钥(K2)用于开锁 这里引入T为可信任的第三方, T经过认证,是高度可靠和高效的机构 非对称密钥 A、B(A-B) 2 A、B、C (A-B 、 A-C 、 B-C ) 3 A、B、C 、D (A-B 、 A-C 、 A-D 、 B-C 、 B-D 、 C-D ) 4 n n N=1000  1000 1000个锁,1000个公钥,1000个私钥 公钥算法应用:保密 公钥算法应用:认证 基本思想和要求 涉及到各方:发送方、接收方、攻击者 涉及到数据:公钥、私钥、明文、密文 公钥算法的条件: 产生一对密钥是计算可行的 已知公钥和明文,产生密文是计算可行的 接收方利用私钥来解密密文是计算可行的 对于攻击者,利用公钥来推断私钥是计算不可行的 已知公钥和密文,恢复明文是计算不可行的 (可选)加密和解密的顺序可交换 如何设计一个公钥算法 公钥和私钥必须相关,而且从公钥到私钥不可推断 必须要找到一个难题,从一个方向走是容易的,从另一个方向走是困难的 如何把这个难题跟加解密结合起来 数学上是用一个单向陷门函数描述,满足下列条件的函数f: 给定定义

文档评论(0)

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

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

1亿VIP精品文档

相关文档