《ecc加密算法》word版

《ecc加密算法》word版

ID:26824481

大小:68.06 KB

页数:7页

时间:2018-11-29

《ecc加密算法》word版_第1页
《ecc加密算法》word版_第2页
《ecc加密算法》word版_第3页
《ecc加密算法》word版_第4页
《ecc加密算法》word版_第5页
资源描述:

《《ecc加密算法》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、c++容易的实现椭圆曲线加密算法c++简单的实现椭圆曲线加密算法椭圆曲线算法椭圆曲线密码体制来源于对椭圆曲线的研究,所谓椭圆曲线指的是由韦尔斯特拉斯(Weierstrass)方程:y2+a1xy+a3y=x3+a2x2+a4x+a6(1)所确定的平面曲线。其中系数ai(I=1,2,…,6)定义在某个域上,可以是有理数域、实数域、复数域,还可以是有限域GF(pr),椭圆曲线密码体制中用到的椭圆曲线都是定义在有限域上的。椭圆曲线上所有的点外加一个叫做无穷远点的特殊点构成的集合连同一个定义的加法运算构成一个Abel群。在等式mP=P+P+…+P=Q(2)中,已知m和点P求点Q比较容易,反之已

2、知点Q和点P求m却是相当困难的,这个问题称为椭圆曲线上点群的离散对数问题。椭圆曲线密码体制正是利用这个困难问题设计而来。公钥算法是基于数学函数(如单向陷门函数),公钥密码体制根据其所依据的难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。本文是在素域Zp上的,以Menezes-Vanstone形式的椭圆加密算法。在素域上的曲线函数为y^2=x^3+a* x+b   a,b为小于p的非负数,且4*a^3+27*b^2!=0对于在素域上的加法中,对于所有的点P,Q属于E(Zp),有加法规则:1。P+O=O+P=P,P+(-P)=O;O为椭圆曲线上的零点或者称为无限远的点,但是

3、O在椭圆曲线的加法域上。2.加法的分配率和结合律,对于s,t属于Zp,有(s+t)*P=s*P+t*P;3.对于P=(x1,y1),Q=(x2,y2),并且P!=-Q,则P+Q=(x3,y3),x3=k^2-x1-x2;y3=k*(x1-x3)-y1;k=(y2-y1)/(x2-x1) ifP!=Q;k=(3x1^2+a)/(2*y1)ifP==Q;椭圆曲线在素域上的运算用到除法,而在除法的规则是a/b=cmodp即计算axb^-1=cmodp,其中b^-1为b的乘法逆元,即bxb^-1=1modp。对于乘法逆元,当b与p互素时,存在唯一解,而这里p是一个素数,且b不可能为1,则肯定有

4、解。对于求乘法逆元,一般使用欧几里德算法,如下:intgetX_1(intx,intmod){ intQ,X1,X2,X3,Y1,Y2,Y3,T1,T2,T3; X1=1; X2=0; X3=mod; Y1=0; Y2=1; Y3=(x%mod+mod)%mod;//获得正整数 while(Y3!=1){ Q=X3/Y3; T1=X1-Q*Y1; T2=X2-Q*Y2; T3=X3-Q*Y3; X1=Y1; X2=Y2; X3=Y3; Y1=T1; Y2=T2; Y3=T3; } returnY2; }乘法运算规则:1.对于任意k属于Zp,有k*P=P+.....+P(k个P相加)2.

5、对于任意s,t属于Zp,有s*(t*P)=(s*t)*P对于Menezes-Vanstone的椭圆加密算法:1.产生密钥,任选一个整数k,0

6、;计算明文M=(C21*z1^-1modp,C22*z2^-1modp).c++中的模运算,当有负数存在时无法达到正确结果,简直是坑,如-1%2,在使用vs2012进行测试,会返回-1,而不是1.c++中模运算结果的符号和被除数的符号一致。参数选取:选取p=127,曲线函数为:y^2=x^3+5*x+37,a=5,b=37,r=7.选取私钥k=9选取一个点A为(11,4)则B=k*A=(120,41)则源代码如下,这里直接对char进行加密,效果不佳#include"stdafx.h" #include #include usingnamespace

7、std; constintk=9; constinta=5; constintb=37; constintp=127; constintr=7; intgetX_1(intx,intmod){ intQ,X1,X2,X3,Y1,Y2,Y3,T1,T2,T3; X1=1; X2=0; X3=mod; Y1=0; Y2=1; Y3=(x%mod+mod)%mod;//获得正整数 while(Y3!=1){ Q=X3/Y3; T1=X1-Q*Y1;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。