基于公钥密码体制Ellipse曲线加密算法.docVIP

基于公钥密码体制Ellipse曲线加密算法.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于公钥密码体制Ellipse曲线加密算法

基于公钥密码体制Ellipse曲线加密算法摘 要: 基于Ellipse曲线的密码体制是最近发展起来的安全性能较好的一种体制,在一定程度上代表着公钥密码体制的发展方向。本文阐述了Ellipse曲线的基础,密钥对的生成,ECIES加解密方案,以及ECDSA签名验证方案。 关键词: Ellipse曲线公钥密码 密钥对 ECIES加密方案 ECDSA签名 前言 目前影响最大的三类公钥密码是RSA公钥密码、ElGamal公钥密码和Ellipse曲线公钥密码,前者是在20世纪70年代中期提出的,其安全性依赖于大整数的因子分解的困难性,而后两者的安全性分别依赖于有限域和椭圆曲线离散对数的难度。Ellipse曲线公钥密码是1985年由Koblitz(美国华盛顿大学)和Victor Miller(IBM)提出来的,它具有一些其它公钥密码无法比拟的优势,如密钥短、占用带宽、存储空间少,单位密钥安全性高等,越来越受到人们的关注,有着广阔的应用前景。 1.Ellipse曲线基础 Ellipse曲线指的是由威尔斯特拉斯(Weierstrass)方程: y+axy+ay=x+ax+ax+a(1) 所确定的平面曲线。 常用于密码系统的基于有限域GF(p)上的椭圆曲线是由方程: y≡x+ax+b(mod p)(2) 所确定的,外加一个无穷远点o,它并不在Ellipse曲线上,表示为o=(x,+∞)。其中a、b、x、y均在GF(p)上取值,且有4a+27b≠0,p是大于3的素数。 在等式 mp=p+p+…+p=Q(3) 中,已知m和点P求Q比较容易,反之已知Q和点p求m却是很难的,这个问题称为椭圆曲线上点群的离散对数问题。椭圆曲线密码体制正是利用这个困难问题设计出来的。 2.密钥对的生成 Ellipse曲线密钥对与参数组D=(q,FR,S,a,b,P,n,h)中的一系列参数相关。在由P生成的群{P}上随机选择点Q作为公钥。相应的私钥是d=logQ。要生成密钥对的实体A必须保证参数组是合法的。参数组和公钥间的关系必须能被所有随后可能用到A的公钥的通信实体所检验。 输入:参数组D=(q,FR,S,a,b,P,n,h)。 输出:公钥Q,私钥d。 1)选择d∈[1,n-1]。 2)计算Q=dp。 3)返回(Q,d)。 从公钥Q计算私钥d的问题显然就是椭圆曲线离散对数问题。至关重要的是参数组D的选择要使得椭圆曲线离散对数问题不可求解。 3.ECIES加密方案 椭圆曲线加密方案(ECIES)由Bellare和Rogaway提出,是ElGamal公钥加密方案的一种变体。在ECIEC中,使用Diffie-Hellman共享秘密来产生两个对称密钥k和k。密钥k用于对称密钥密码中加密明文,而用于对得出的密文进行认证。 3.1 ECIES加密 输入:参数组D=(q,FR,S,a,b,P,n,h),公钥Q,明文m。 输出:密文(R,C,t)。 1)计算k∈[1,n-1]。 2)计算R=kP和Z=hkQ。若Z=+∞则跳至第一步。 3)(k,k)←KDF(x,R),其中x是Z的x坐标。 4)计算C=E(m)和t=MACC。 5)返回(R,C,t)。 其中KDF是由杂凑函数H构成的密钥导出函数。若需要生成一个长度为l比特的密钥,则将KDF(S)定义为杂凑值H(S,i)的级联,其中i是计数器,当每个杂凑函数得出结果后增一,直到产生l比特的杂凑值为止。E是对称密钥加密方案中的加密函数,而AES、D则是解密函数。MAC是消息认证码算法。 3.2 ECIES解密 输入:参数组D=(q,FR,S,a,b,P,n,h),私钥d,密文(R,C,t)。 输出:明文m或者拒绝该密文。 1)对R进行嵌入的公钥确认。若确认失败,则返回(“拒绝该密文”)。 2)计算Z=hkR。若Z=+∞则返回(“拒绝该密文”)。 3)(k,k)←KDF(x,R),其中x是Z的x坐标。 4)计算t′=MAC(C)。若t′≠t,则返回(“拒绝该密文”)。 5)计算m=D(c)。 6)返回(m)。 解密工作的证明:若密文(R,C,t)确实是由合法的加密者加密明文m产生的,则 hkR=hd(kP)=hk(dP)=hkQ, 于是解密者同加密者计算出同样的密钥(R,R),接受该密文并解密出m。 4.ECDSA签名 椭圆曲线签名算法(ECDSA)是数字签名算法(DSA)的椭圆曲线版本。 4.1 ECDSA签名的生成 输入:参数组D=(q,FR,S,a,b,P,

文档评论(0)

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

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

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档