- 1、本文档共86页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大连理工大学网络全与密码学 chap5-公钥密码
交换示例 为了计算简单,使用很小数字。设P=47和47的一个原元,a=3。 A选择秘密密钥XA=8,B选择秘密密钥XB=10,各自计算其公开密钥。 (1)双方各自计算 用户A计算: YA=3 8mod 47=6561 mod 47=28 mod 47 用户B计算: YB=3 10mod 47= 59049 mod 47=17 mod 47 (2)交换YA和YB; (3)交换密钥后,A、B分别计算共享的秘密会话密钥KA、KB: 用户A计算: KA=YB XA mod 47=178 mod 47=4 mod 47 用户B计算: KB=YA XB mod 47=2810 mod 47=4 mod 47 A和B双方独立地决定采用4作为会话密钥。 Diffie-Hellman安全性 离散对数的计算: y?gx mod p 已知g,x,p,计算y是容易的 已知y,g,p,计算x是困难的 Diffie-Hellman密钥交换的攻击 replay攻击 中间人攻击图示 A B K = aXaXb O A B K = aXaXo O K = aXbXo Diffie-Hellman密钥交换的攻击 中间人攻击 1 双方选择素数p以及p的一个原根a(假定O知道) 2 A选择Xap,计算Ya=aXa mod p, A?B: Ya 3 O截获Ya,选Xo,计算Yo=aXo mod p,冒充A?B:Yo 4 B选择Xbp,计算Yb=aXb mod p, B?A: Yb 5 O截获Yb,冒充B?A:Yo 6 A计算: (Xo)Xa?(aXo)Xa?aXoXa mod p 7 B计算: (Xo)Xb?(aXo)XXb?aXoXb mod p 8 O计算: (Ya)Xo?aXaXo mod p, (Yb)Xo?aXbXo mod p O无法计算出aXaXb mod p O永远必须实时截获并冒充转发,否则会被发现 防范措施 1,使用共享的对称密钥加密DH交换; 2,使用公钥加密DH交换; 3,使用私钥签名DH交换; 经典例子 Diffie-Hellman密钥交换算法 背包算法 RSA算法 椭圆曲线密码算法ECC 5.5 椭圆曲线密码介绍 在2005年2月16日,NSA宣布决定采用椭圆曲线密码的战略作为美国政府标准的一部分,用来保护敏感但不保密的信息。NSA推荐了一组被称为Suit B的算法,包括用来密钥交换的Menezes-Qu-Vanstone椭圆曲线和Diffie-Hellman椭圆曲线,用来数字签名的椭圆曲线数字签名算法。这一组中也包括AES和SHA。 5.5 椭圆曲线密码介绍 1985年Miller,Koblitz 独立提出 y2+axy+by=x3+cx2+dx+e 曲线上的点连同无穷远点O的集合(定义见下页) 运算定义: 若曲线三点在一条直线上,则其和为O O用作加法的单位:O = -O; P+O = P 一条竖直线交X轴两点P1、P2,则P1+P2+O=O,于是P1 = -P2 如果两个点Q和R的X轴不同,则画一连线,得到第三点P1,则Q+R+P1=O,即Q+R=-P1 2倍,一个点Q的两倍是,找到它的切线与曲线的另一个交点S,于是Q+Q=2Q=-S (1) 无穷远元素(无穷远点,无穷远直线) 平面上任意两相异直线的位置关系有相交和平行两种。引入无穷远点,是两种不同关系统一。 AB⊥L1, L2∥L1,直线AP由AB起绕A点依逆时针方向转动,P为AP与L1的交点。 L2 L1 P∞ B A P Q Q=∠BAP→? /2 AP → L2 可设想L1上有一点P∞,它为L2和L1的交点,称之为无穷远点。 直线L1上的无穷远点只能有一个。 (因为过A点只能有一条平行于L1的直线L2,而两直线的交点只能有一个。) 结论: 1*. 平面上一组相互平行的直线,有公共的无穷远点。 (为与无穷远点相区别,把原来平面上的点叫做平常点) 2* .平面上任何相交的两直线L1,L2有不同的无穷远点。 原因:若否,则L1和L2有公共的无穷远点P∞,则过两相异点A和P ∞有相异两直线,与公理相矛盾。 椭圆曲线密码示意图 有限域上椭圆曲线 有限域上椭圆曲线 y2?x3+ax+b mod p p是奇素数,且4a3+27b2?0 mod p 针对所有的0= x p,可以求出有效的y,得到曲线上的点(x,y),其中x,y p。记为Ep(a,b) Ep(a,b)中也包括O 加法公式: P+O=P 如果P=(x,y),则P+(x,-y)=O,(x,-y)点是P的负点,记为-P。而且(x,-y)也在Ep(a,b)中
文档评论(0)