椭圆曲线加密ECCWord版

上传人:每**** 文档编号:48814011 上传时间:2022-01-15 格式:DOC 页数:7 大小:58KB
收藏 版权申诉 举报 下载
椭圆曲线加密ECCWord版_第1页
第1页 / 共7页
椭圆曲线加密ECCWord版_第2页
第2页 / 共7页
椭圆曲线加密ECCWord版_第3页
第3页 / 共7页
资源描述:

《椭圆曲线加密ECCWord版》由会员分享,可在线阅读,更多相关《椭圆曲线加密ECCWord版(7页珍藏版)》请在装配图网上搜索。

1、【密码学】ECC椭圆曲线加密2018年07月13日 15:48:10阅读数:41本篇文章介绍密码学中的一个概念:ECC加密算法。接下来我将从以下几个方面介绍一下ECC: 阿贝尔群(Abelian Group) 什么是椭圆曲线 有限域椭圆曲线计算 椭圆曲线加密(ECC) ECC参数选取 ECC与比特币椭圆曲线加密,全称EllipseCurve Cryptography,简称ECC。与传统的基于大素数因数分解难题的方式不同,ECC通过椭圆曲线的方式产生密钥。在ECC之前,有必要先介绍一下阿贝尔群的基本概念。阿贝尔群(Abelian Group)给定集合GG和操作,如果满足以下性质,则是G,G,群

2、封闭性a,bG,abGa,bG,abG 结合性a,b,cG,(ab)c=a(bc)a,b,cG,(ab)c=a(bc) 单位元eG,aG,ea=ae=aeG,aG,ea=ae=a 逆元aG,a1G,aa1=a1a=eaG,a1G,aa1=a1a=e在群的基础上,如果还满足交换性,那么这个群就是一个阿贝尔群了,通常我们也称作交换群。 交换性a,bG,ab=baa,bG,ab=ba推荐精选我们平时生活中所接触到的加法就是实数域上的阿贝尔群了,单位元是00,乘法也是阿贝尔群,其单位元为11。什么是椭圆曲线我们来看下椭圆曲线的定义,椭圆曲线是在射影平面上满足维尔斯特方程 (Weierstrass)的所

3、有点的集合,这句比较废话,不需要理解。其需要满足两点: 椭圆曲线关于x轴对称 平面中的一条直线和椭圆曲线相交,最多有三个交点满足ECC的椭圆曲线有着如下形式:y2x3+ax+b;4a3+27b20y2x3+ax+b;4a3+27b20一条椭圆曲线大概长这样:椭圆曲线案例与计算规则介绍那么椭圆曲线如何去进行运算呢?不妨将椭圆曲线上面的运算定义为“+”运算,以上图为例,给定点A和点B,C点为AB延长线与曲线的交点,做其对称点C,那么A+B=C。那么如何计算A+A呢,这里用到极限的概念,做点A的切线就可以了,下图中A+A=C。椭圆曲线中计算A+A在这个定义之下,那么单位元是什么呢?实际上,单位元是一

4、个理想的“无穷远点”(可以把这个点想象成点(0,)(0,)。这样,在椭圆曲线上面定义的+运算就满足交换群的性质了。我们一步步看是否满足所有的交换群的性质呢? 封闭性:显然满足 结合性:自行理解推荐精选 单位元:00,因为00是无穷远点,因此AA和00的交点为AA的对称点,根据+操作的计算规则,A+0=AA+0=A 逆元:AA的逆元为AA关于xx轴的对称点 交换性:根据刚刚介绍的计算规则,显然有:A+B=B+AA+B=B+A所以,我们定义在椭圆曲线上的运算实际上是一个交换群。在定义了+运算之后,我们还可以定义椭圆曲线上的乘法运算,按照递归的方式,可以有如下定义2A=A+A2A=A+AkA=A+(

5、k1)AkA=A+(k1)A比如给定一条椭圆曲线和A,我们可以按照以下过程求3A3A:椭圆曲线的乘法运算在定义了加法操作和乘法操作的基础之上,我们就可以知道为什么椭圆曲线可以用来加密了。我们知道,密码学中用来加密的方案通常都有一定的数学保证,那么椭圆曲线算法的保证是什么呢?椭圆曲线的数学保障:已知椭圆曲线E,给定基点G和点kG,其中k为整数,无法在有效时间内计算出k。上面给出了椭圆曲线的数学保障,如果不是很理解这个保障,那么我们可以对应着RSA的数学保障来理解一下这个问题,在指数运算之中,给定aa和bb,我们可以很快地计算出abab,但是给定aa和abab,却没有很快的计算方法计算出bb(在取

6、模的情况下)。这个说法仅仅助于理解,若想深入了解还需要从理论上给出一定的答复才严谨。有限域椭圆曲线的运算推荐精选上面所提到的椭圆曲线的计算并不能直接用于密码学之中,因为在实数域上椭圆曲线的计算是有误差的,密码学要求精确。在ECC中,我们还可以定义“阶”的概念,理解阶的概念可以类比于次方操作中阶的概念。对于圆锥曲线上一点PP,其阶为最小整数aa,使得aP=0(modp)aP=0(modp),其中00为单位元。细心的读者可能会关心这样一个问题,00是假想的一个无穷远点,怎么算出这样一个aa呢。这时候就需要用到单位元的概念了。如果我们计算得到了mP=P(modp)mP=P(modp),那我们就知道a

7、=m1a=m1。上面所说的运算方法都是从几何角度给出的一个理解,那么如何在代数上进行计算呢?一般来说,给定,以下三步就可以计算:(1)结果x3=k2x1x2(modp)x3=k2x1x2(modp)y3=k(x1x3)y1(modp)y3=k(x1x3)y1(modp)(2)若A=BA=B,则k=3x2+a2y(modp)k=3x2+a2y(modp)(3)若ABABk=y2y1x2x1(modp)k=y2y1x2x1(modp)上述三个步骤其实就是先计算出直线,然后求直线和椭圆曲线的交点。如果还没有完全理解其中的过程可以参看这个网页的计算案例:那么为什么A=A=B的时候斜率k是这么计算的呢,

8、因为:y2=x3+ax+b2yy=3x2+ay2=x3+ax+b2yy=3x2+a推荐精选椭圆曲线加密(ECC)上面介绍了ECC的计算过程,那么ECC是如何用来加密的呢?利用ECC进行加密首先需要给出p,a,b,G,np,a,b,G,n。其中pp通常选取一个很大的素数以防止穷举,aa和bb是椭圆曲线的参数,GG为给定的椭圆曲线上的点,nn为GG的阶。椭圆曲线加密正是利用了前面所说的给定自然数mm计算mGmG很容易而给定mGmG的结果无法很快计算mm这一个性质。下面给出一个ECC保密通信的算法: Alice选定曲线E(p,a,b)E(p,a,b),并在上面取一点GG作为基点,同时计算GG的阶。比

9、如选取E(29,4,20),G(13,23)E(29,4,20),G(13,23),则GG的阶为3737 Alice选取一个常数kk作为私钥,并计算出kGkG作为公钥。比如选取k=25k=25,则kG=25G=(14,6)kG=25G=(14,6) Alice公开E(29,4,20),K(14,6),G(13,23)E(29,4,20),K(14,6),G(13,23) Bob接收消息之后首先将信息编码到点MM,并产生一个随机整数r(rn)r(rn)。假设r=6r=6,需要加密的信息为33则计算y2=33+43+20(modp)y2=33+43+20(modp)。因此y=28y=28,所以点M

10、(3,28)M(3,28) Bob计算C1=M+rK;C2=rGC1=M+rK;C2=rG并发送给Alice Alice计算C1kC2C1kC2即可解密Bob发来的消息为什么Alice可以解密呢,因为C1kC2=M+rKkrG=M+rkGkrG=MC1kC2=M+rKkrG=M+rkGkrG=M通过这个过程,相比大家应该大致理解了ECC的设计思路了。ECC参数选取推荐精选学术上通常将一条椭圆曲线定义为T=(p,a,b,G,n,h)T=(p,a,b,G,n,h),其中pp为大素数,a,ba,b确定一条椭圆曲线的表达式,GG为基点,nn为GG的阶,hh是椭圆曲线上所有点的个数mm与nn相除的商的整

11、数部分。参数的选择一般如下,可以参考:( pp越大越好,但是pp越大,运算速度会受到影响。200200bit 即可满足一般的安全需求 nn应该为素数(需要数论知识加以理解) h4;pnh;pt1(modp)(1t20)h4;pnh;pt1(modp)(1t20) 4a3+27b20(modp)4a3+27b20(modp)ECC和RSA相比,提供的安全等级更高(虽然我不知道为什么),160位ECC既可以与1024位RSA,DSA拥有相同的安全强度,同时处理速度更快,因此在存储和传输时候对空间的要求更低,当然,ECC的设计难度和RSA相比也难更多。ECC与比特币由于比特币技术的火热,ECC技术也更广为人知了。比特币中使用了Secp256k1,其参数在https:/en.bitcoin.it/wiki/Secp256k1中有详细介绍。结束本篇内容到这里就结束了,若想知道更多和信息安全有关的技术可在公众号留言哦。识别以下二维码可以成文本公众号的小粉丝,关注更多和差分隐私有关的前沿技术哦。版权声明:本文为博主原创文章,未经博主允许不得转载。 文章标签:ECC椭圆曲线区块链密码学比特币个人分类:密码学相关热词:密码学as密码学密码学md5在密码学rsa密码学 (注:可编辑下载,若有不当之处,请指正,谢谢!) 推荐精选

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!