資源簡介
ECC加密算法實現C源碼
橢圓曲線密碼學(Elliptic curve cryptography,縮寫為ECC)是基于橢圓曲線數學的一種公鑰密碼的方法。
代碼片段和文件信息
#include?“miracl.h“
#include??
#include?
#include???
#include?
#include?“ecc.h“
int?decry()
{???miracl?*mip?=?mirsys(5000?16);
????FILE?*fp*fp1;
int?leni=0;
????char?s[100]a[8];
big?dpncpla;
????d=mirvar(0);
p=mirvar(0);
n=mirvar(0);
c=mirvar(0);
pla=mirvar(0);
struct?G?*X1*X2;
X1=(G?*)malloc(sizeof(G));
X1->x=mirvar(0);
????X1->y=mirvar(0);
X2=(G?*)malloc(sizeof(G));
X2->x=mirvar(0);
????X2->y=mirvar(0);
printf(“請輸入私鑰(不少于8位):\n“);
????scanf(“%s“s);
len=strlen(s);
????bytes_to_big(lensd);
????mod(dbig?pd);
????fp=fopen(“cro.txt““r+“);
if(fp==NULL)
????{?printf(“File?open?error!\n“);
??????exit(0);
????}
fp=fopen(“pla.txt““w+“);
if(fp==NULL)
????{?printf(“File?open?error!\n“);
??????exit(0);
????}
???????while(i!=-1)
{?
????cinnum(X1->xfp);
cinnum(X1->yfp);
cinnum(cfp);
if(compare(c0)==0)
i=-1;
eccmul(pdX1);
????xgcd(X1->xnX1->xX1->xX1->x);
????multiply(cX1->xpla);
????mod(planpla);
????big_to_bytes(8plaa1);
????fwrite(a18fp1);
}
???fclose(fp);
???fclose(fp1);
???return?1;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????378??2009-05-07?09:57??ECC\cro.txt
?????文件?????????20??2009-05-02?21:52??ECC\data.txt
?????文件?????266301??2009-05-06?23:45??ECC\Debug\ECC.exe
?????文件?????385960??2009-05-06?23:45??ECC\Debug\ECC.ilk
?????文件?????590848??2009-05-06?23:45??ECC\Debug\ECC.pdb
?????文件??????26068??2009-05-06?23:45??ECC\Debug\eccmain.obj
?????文件??????17021??2009-05-03?23:13??ECC\Debug\encry.obj
?????文件??????41984??2009-05-06?23:47??ECC\Debug\vc60.idb
?????文件??????53248??2009-05-06?23:45??ECC\Debug\vc60.pdb
?????文件???????1160??2009-05-04?22:17??ECC\decry.c
?????文件???????1812??2009-05-06?23:41??ECC\decry.h
?????文件???????1235??2009-05-03?14:54??ECC\ecc.c
?????文件???????4499??2009-05-04?23:51??ECC\ECC.dsp
?????文件????????514??2009-05-02?20:04??ECC\ECC.dsw
?????文件???????6097??2009-05-06?23:07??ECC\ecc.h
?????文件??????66560??2009-09-24?23:44??ECC\ECC.ncb
?????文件??????49664??2009-09-24?23:44??ECC\ECC.opt
?????文件????????874??2009-05-07?09:56??ECC\ECC.plg
?????文件????????551??2009-09-24?23:44??ECC\eccmain.c
?????文件??????25162??2009-05-07?09:57??ECC\ecctab.txt
?????文件???????1734??2009-05-04?20:54??ECC\encry.c
?????文件???????1735??2009-05-06?23:41??ECC\encry.h
?????文件?????????84??2009-05-06?23:10??ECC\g.txt
?????文件??????41274??2008-10-22?11:35??ECC\miracl.h
?????文件???????1261??2006-07-12?14:56??ECC\mirdef.h
?????文件?????434192??2008-10-07?16:12??ECC\ms32.lib
?????文件????????104??2009-05-03?13:56??ECC\p.txt
?????文件?????????42??2009-05-07?09:57??ECC\pla.txt
?????文件?????????42??2009-05-06?23:47??ECC\plain.txt
?????文件?????????84??2009-05-06?23:10??ECC\Q.txt
............此處省略11個文件信息
評論
共有 條評論