第5章公钥密码技术详解.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章公钥密码技术详解

5.1.5 RSA填充加密机制 经过OAEP加密后输出的x||y,将作为RSA算法的输入进行公钥加密。由于填充时使用了随机数r,即使两次加密同一个x,填充不同的r,加密后的密文也不相同。 密文C=RSA(x||y) =RSA(m00...0 ? G(r)||r ?H(x)) OAEP的解密过程 恢复随机串r = y?H(x); 恢复消息m00…0 = x ?G(r)。 5.1.6 RSA签名算法 RSA算法可以直接用于数字签名。签名者用自己的私钥对消息或消息摘要签名,验证者用签名者的公钥验证。 签名操作(签名者密钥参数包括e、d、n ) 对于待签名消息m,使用Hash函数h生成消息摘要,即h(m)。 用私钥对消息摘要签名,得到s≡(h(m))d(mod n)。 验证者接收到消息m和签名s,计算消息摘要h(m);并使用签名者公钥恢复v≡se(mod n), 比较v与h(m),若二者相同,签名验证通过;不相同,则签名验证失败。 5.3.3 ElGamal签名算法 ElGamal密码体制用于数字签名的方案如下: 密钥产生:选择一个素数p,两个小一p的随机数g和x,计算y=gx mod p;公钥为(y, g, p),私钥为x。 签名生成:消息m(p),选择随机数k,k与p-1互素,计算a=gk mod p;再利用扩展的欧几里得算法求解下列方程中的b:m=ax+kb (mod p-1)。签名就是(a,b)。 签名验证:验证者计算yaab (mod p)和gm (mod p),若二者相等,则验证通过,否则签名无效。 5.3.3 ElGamal签名算法 美国政府数字签名标准DSS(FIPS PUB 186)采用的数字签名算法DSA是ElGamal算法的变形。DSA方案如下: 密钥产生:选取一个素数q,选取一个素模数p,使p-1是q的倍数;选取一个模p阶为q的生成元g,选取随机数x(0xq),计算y=gx mod p;公钥(p, q, g, y),私钥x。 签名生成:消息m,Hash函数H,选择随机数k(0kq),计算r=(gk mod p)mod q及s=(k-1(H(m)+xr))mod q。消息m的签名就是(r, s)。 签名验证:计算w=(s)-1(mod q)、u1=(H(m)w)mod q、u2=(rw)mod q和v=((gu1yu2)mod p)mod q,v=r则签名有效。 5.3.3 ElGamal签名算法 美国数字签名标准DSS中的Hash函数采用了SHA,整个DSA方案可表示成下图: 5.4.1 椭圆曲线基本概念 椭圆曲线是指由如下韦尔斯特拉斯(Weierstrass)方程所确定的一条平面曲线: y2+a1xy+a3y=x3+a2x2+a4x+b 其中系数ai (i=1,2,...,4)定义在某个域上,可以是有理数域、实数域、复数域,还可以是有限域。当系数ai取不同有理数时,椭圆曲线的几何图形也不相同。 5.4.1 椭圆曲线基本概念 1.域Zp上的椭圆曲线 Zp表示p个元素的有限域,元素为0~(p-1)有理数。使用一组参数确定域Zp上的椭圆曲线,这也是将椭圆曲线用于密码体制所必要的。 选择一个素域Zp,p为素数(p3),椭圆曲线参数表示为一个六元组T=(p,a,b,Q,n,h)。 其中,a,b∈Zp,并且满足4a3+27b2≠0(mod p),由参数a和b定义的域Zp上的一个椭圆曲线方程为: y2≡x3+ax+b(mod p) 5.4.1 椭圆曲线基本概念 1. 域Zp上的椭圆曲线 素域Zp上的椭圆曲线表示为一个六元组T=(p,a,b,Q,n,h) 其中a,b∈Zp,并且满足4a3+27b2≠0(mod p),由参数a和b定义的域Zp上的一个椭圆曲线方程为: y2≡x3+ax+b(mod p) 该方程的所有解(称为曲线上的点)P=(x,y) (x,y ∈Zp),再加上一个无穷远点(记为O)所构成的集合记为E(Zp),也可记为Ep(a,b)。参数T确定了椭圆曲线E(Zp)及其上的基点。 5.4.1 椭圆曲线基本概念 1.域Zp上的椭圆曲线 例:在素域Z5上由方程y2=x3+x+1确定的椭圆曲线E(Z5),求曲线上的点。 解:共有9个点,分别是方程的解(0,1)、(0,4)、(2,1)、(2,4)、(3,1)、(3,4)、(4,3)、(4,2)以及一个无穷远点。 5.4.1 椭圆曲线基本概念 1.域Zp上的椭圆曲线 (3)计算2P,即P+P,有: λ=[3×(32)+1]/(2×10)(mod 23)≡1/4(mod 23) ≡6(mod 23) x=62-3-3=30 ≡7(mod 23) y=6×(3-7)-10=-34≡12(mod 23) 故2P点坐标为(7,12)。 5.4.1 椭圆曲线基本概

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档