资源简介

ECC算法 C++实现 加解密 已经过测试

资源截图

代码片段和文件信息

#include “iostream.h“
struct pointer{
int X;
int Y;
}G; 

int p; //所选择的质数
int ab;
int prikey;//私钥
void getparameter()   //输入pab的函数
{
int flag1=0;
while(!flag1)
{
cout<<“Please input a prime number: “<     cin>>p;
     cout<<“Please input the parameters(<“<     cin>>a;
    cout<<“b: “;
    cin>>b;
if((4*a*a*a+27*b*b)%p) //4a^3+27b^2!=0 (mod p)
flag1=1;
}
cout<<“now we have the ecc: E“<}

void getG() //输入基点G的函数
{
int flag2=0;
int flag3=0;
while(!flag2)
{
int leftright;
while(!flag3)
{
cout<<“Please input the G(0= cin>>G.X;
cout<<“Y=“;
cin>>G.Y;
if((G.X>p-1)||(G.Y>p-1))
cout<<“Invalid number input again!“< else
flag3=1;
}

left=((G.Y)*(G.Y))%p; // y^2=x^3+ax+b  (mod p)
right=((G.X)*(G.X)*(G.X)+a*(G.X)+b)%p;
if(left==right)   
flag2=1;
else 
{
cout<<“Not a pointer on the curve! Please input again!“< flag3=0;
}
}
}


int getprikey() //输入私钥函数
{
cout<<“Please input the private key: “;
cin>>prikey;
cout< return prikey;
}


struct pointer getpubkey(int key struct pointer P)//得到公钥的函数,以基点,私钥为参数返回公钥
{

int slope;/

评论

共有 条评论