当前位置:   article > 正文

ecc 算法 PHP实现,[原创]椭圆曲线加密算法 ECC 点乘自己写的算法

椭圆点乘编程

目前在做期末考试 算是任务吧 要求实现 简单的ECC算法。

第一步 算模拟 直接网上找的代码。

算点乘 网上没找到现成的代码 自己写了。好不容易熬到现在 终于调试ok了

之前虽然知道 怎么算,但是 用程序实现起来 确实 想了好久 ,以下代码调试OK

欢迎大家 提出意见。

int ecc_point_mul(PEcc pEcc, int x,EccPoint *R,EccPoint P)

{

int bits =0;

int temp = x;

int isone = 0;

EccPoint output,point1,tempPoint,sumPoint;

point1.x = P.x;

point1.y =P.y;

output.x=P.x;

output.y=P.y;

tempPoint.x = 0;

tempPoint .y = 0;

sumPoint.x=P.x;

sumPoint.y=P.y;

while(temp)

{

temp>>=1;

isone = temp&1;

//if(!temp) break;

bits++;

ecc_point_add(pEcc,&output,point1,point1);

point1.x = output.x;

point1.y = output.y;

if(isone)

{

ecc_point_add(pEcc,&sumPoint,tempPoint,output);

tempPoint.x = sumPoint.x;

tempPoint.y = sumPoint.y;

}

}

output.x=tempPoint.x;

output.y = tempPoint.y;

if(x&1) ecc_point_add(pEcc,&sumPoint,tempPoint,P);

R->x = sumPoint.x;

R->y = sumPoint.y;

return 0;

}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/612201
推荐阅读
相关标签
  

闽ICP备14008679号