【精品】椭圆曲线密码的c语言设计与实现

【精品】椭圆曲线密码的c语言设计与实现

ID:30953394

大小:119.73 KB

页数:19页

时间:2019-01-04

【精品】椭圆曲线密码的c语言设计与实现_第1页
【精品】椭圆曲线密码的c语言设计与实现_第2页
【精品】椭圆曲线密码的c语言设计与实现_第3页
【精品】椭圆曲线密码的c语言设计与实现_第4页
【精品】椭圆曲线密码的c语言设计与实现_第5页
资源描述:

《【精品】椭圆曲线密码的c语言设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机研究生开放研究《椭圆曲线密码的C语言设计与实现》美国GeneChiu基金资助基于TOM算法库的ECC加密算法的C语言设计与实现研究生徐立均内容:一、源代码下载二、ECC算法的设计思想三、椭圆曲线参数的选取和基点的确定Ui椭圆曲线的点加和纯量乘法五、加密文件的读入与输出六、密文的存取和读入七、ECC加密的实现ECC解密的实现九、测试结果及分析一.源代码下载本文使用了TOM算法库实现了椭圆曲线公钥密码体制,能对各类不同的磁盘文件进行加密和解密。1请下载可执行程序MY_ECC・exe,此程序无需任何额外的LIB或DLL,可在Windo

2、ws下独立运行,运行情况如下:•D:2_GCFIIftt立钧学年论文应用部分初fiSDebug»y-ecc.exe'本程序实现椭圆曲线的加密解密擁圆曲线的参数如下(以十进制显示〉:有限域P是:1048240693770511702609857093582158035930055733528505158426881曲线参数A是:«55««3121曲线参数B是:736841476S19曲线G点*坐标是:830923859曲第G点Y坐标是:23952003384862私钥K是:189936865720349066997445511

3、341723625827公胡X坐标是:929136756944904135126654940645982141687256672051651978802606公钥Y坐标是:9H7301871«379bWll844971335174232478bW6353267?677S69425539996c「5:2.GCFT¥¥徐立钧学年论文应用部分初fiDebug>y^ecc.exe请输入您要加苛文件的存放路径和文件名(如:CZB0、大整数运算):c:R0tyc(xinuen请输入您要加密文件的扩展名(如:.doc«doc开始

4、加密•・・翹?保存^密文存放路径为c:00twxXninwen密文・doc情输入您要解密的文件的存放路径和文件名述屮"5朋、大整数运算>:c:00tyqxXninuen密文请输入您要解密的文祥的扩展名<如:-doc歼始解密*?解密気毕?解耘后的文字存放路径为C:X00B、Bqx5iiU5密文解密・doc2请下载源代码source,rar:编译此源代码需要使用TOM的高精度算法库MathLib.lib和相关的头文件tommath,htommath_class.htommath_superclass.h一并打包在source,

5、rar中,请下载3对于TOM的高精度算法库的详细说明,请看本站C语言:一.ECC算法的设计思想根据椭圆曲线进行加密通信的过程,首先选定一个适合加密的椭圆曲线Ep(a,b),并取椭圆曲线上一点,作为基点G。选择一个私有密钥k,并生成公开密钥K二kG。加密时,将明文编码到Ep(a,b)±一点M,并产生一个随机整数r(r

6、数的选取和基点的确定并不是所有的椭圆曲线都适合加密,X2=x"3+ax+b是一类可以用来加密的椭圆曲线,也是最为简单的一类。下面我们就选用y^^x^+ax+b作为我们的加密曲线。这条曲线定义在Fp±:两个满足下列条件的小于P(P为素数)的非负整数a.b:4a3+27b2H0(modp)则满足下列方程的所有点(x,y),再加上无穷远点8,构成一条椭圆曲线。y"2二x八3+ax+b(modp)其中x,y属于0到pT间的整数,并将这条椭圆曲线记为Ep(a,b)o参数P的选取:P当然越大越安全,但越大,计算速度会变慢,200位左右可以满足一般

7、安全要求;我们将p取为200比特位的素数。参数a、b的选取:先随机产生小于P-1的正整数作为参数a,据条件4a3+27b2H0(modp)判断随机产生的小于P-1的正整数是否适合作为参数b.基点的确定:随着参数a,b,p确定,这条曲线y"2二x八3+ax+b就定下来了。先随机产生0到p-1间的整数作为基点x坐标,计算x八3+ax+b的结果再开方就得出基点y坐标。上述具体程序实现如下:wh订e(1)//4a3+27b2H0(modp)GetPrime(b,40);//先随机产生一个参数Bmp_expt_d(a,3,&templ);mp_

8、sqr(b,&temp2);mp_mul_d(4,&temp3):mp_mul_d(&temp2,27,&temp4);mp_add(&temp3,&temp4,&temp5);mp_mod(&temp5,p,&temp

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

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

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