ecc加密算法实验报告.docxVIP

  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文档。上传文档
查看更多
ecc加密算法实验报告   ECC算法和加密应用大全   基本原理   ECC加密算法是一种公钥加密算法,与主流的RSA算法相比,ECC算法可以使用较短的密钥达到相同的安全程度。近年来,人们对ECC的认识已经不再处于研究阶段,开始逐步进入实际应用,如国家密码管理局颁布的SM2算法就是基于ECC算法的。下面我们来认识一下ECC的工作原理。   椭圆曲线   定义   在引入椭圆曲线之前,不得不提到一种新的坐标系-------射影平面坐标系,它是对笛卡尔直角坐标系的扩展,增加了无穷远点的概念。在此坐标系下,两条平行的直线是有交点的,而交点就是无穷远点。两者的变换关系为:   笛卡尔坐标系中的点a,令x=X/Z,y=Y/Z,则射影平面坐标系下的点a的坐标为就转换为。   椭圆曲线定义:一条椭圆曲线在射影平面上满足方程:   Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3的所有点的集合,且曲线上每个点都是非奇异   的。   该方程有名维尔维斯特拉斯方程,椭圆曲线的形状不是椭圆,只是因为其描述的方程类似于计算一个椭圆周长的方程。转换到笛卡尔坐标系下的方程为:y2+a1xy+a3y=x3+a2x2+a4x+a6   加法法则   运算法则:任意取椭圆曲线上两点P、Q做直线交于椭圆曲线的另一点R’,过R’做y轴的平行线交于R。我们规定P+Q=R。   此处+不是简单的实数相加,是抽象出来的   O∞+P=P,O∞为零元   曲线上三个点A,B,C处于一条直线上,则A+B+C=O∞   下面,我们利用P、Q点的坐标(x1,y1),(x2,y2),求出R=P+Q的坐标(x4,y4)。P,Q,R共线,设为y=kx+b,   若P≠Q,k=(y1-y2)/(x1-x2)   若P=Q,k=(3x2+2a2x+a4-a1y)/(2y+a1x+a3)   解方程组得到:   x4=k2+ka1-a2-x1-x2;   y4=k(x1-x4)-y1-a1x4-a3;   密码学中的椭圆曲线   定义   在有限域Fp中定义一个椭圆曲线,常用y2=x3+ax+b   Fp中只有p个元素,p为素数   Fp中,a+b≡c(modp),a×b≡c(modp),a/b≡c(modp)   4a3+27b2≠0(modp)a,b是小于p的非负整数   x,y属于0到p-1间的证书,曲线标记为Ep   阶:椭圆曲线上一点P,存在正整数n,使得nP=O∞,则n为P的阶,若n   不存   在,则P是无限阶的,有限域上定义的椭圆曲线上所有点的阶都存在。椭圆曲线难题   K=kG,其中K,G为Ep上的点,k为小于n的整数,n是点G的阶,给定k和G,计算K容易,但是给定K和G,求k就很难了!   因此,设K为公钥,k为私钥,G为基点。   加密过程   A选定一条椭圆曲线Ep,并取曲线上一点作为基点G   A选择一个私钥k,并生成公钥K=kG   A将Ep和k,G发送给B   B收到后将明文编码到Ep上一点M,并产生一个随机数r   B计算点C1=M+rK,C2=rG   B将C1,C2传给A   A计算C1-kC2=M+rkG-krG=M   A对M解码得到明文   攻击者只能得到Ep,G,K,C1,C2,没有k就无法得到M。   签名验签流程   A选定一条椭圆曲线Ep,并取曲线上一点作为基点G   A选择一个私钥k,并生成公钥K=kG   A产生一个随机数r,计算R(x,y)=rG   A计算Hash=SHA(M),M‘=M(modp)   A计算S=/r(modp)   B获得S和M,Ep(a,b),K,R(x,y)   B计算Hash=SHA(M),M=M(modp)   B计算R=/S=(Hash*G+M*kG)*r/(Hash+Mk)=rG=R,若R=R,则验签成功。   以上加解密和签名验签流程只是一个例子,具体应用时可以利用K=kG这一特性变幻出多种加解密方式。   好了ECC加密算法的介绍就到这里了。   羽毛币应用ECC算法是基于有限域的椭圆曲线上的数学算法。关于ECC算法基本原理的介绍,请参考《ECC加密算法入门介绍》,本文重点介绍Bitcoin系统中采用的公钥密码学方案和签名算法的实现细节。   一、公钥(pubkey)、私钥(privkey)是什么   公开密钥加密,是指存在一对数学算法相关的密钥,使用其中一个密钥加密后所得的信息,只能用另一个密钥才能解密。如果其中一个公开后并不会危害到另外一个的秘密性质,则称公开的密钥为公钥,不公开的密钥为私钥。   公钥的主要作用:加密;验证签名。   私钥的主要作用:签名;解密。   特性:   ?   ?   ?通过私钥可以计算出公钥,反之则不行。公钥加密:公钥加密的内容可以

文档评论(0)

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

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

1亿VIP精品文档

相关文档