資源簡(jiǎn)介
elgamal算法實(shí)現(xiàn)代碼,c++語(yǔ)言,比較完整的實(shí)現(xiàn)了該算法,密碼學(xué)課程學(xué)習(xí)
代碼片段和文件信息
#include?
#include?
using?namespace?std;
int?fnFindD(int?aint?n)
{
//擴(kuò)展歐幾里得算法求逆元求a對(duì)n的模逆
????int?p=aq=n?t;
????int?x?=?0?y?=?1?z?=?(int)q/p;
????while(1?!=?p?&&?1?!=?q)
????{
????????t?=?p;
????????p?=?q?%?p;
????????q?=?t;
????????t?=?y;
????????y?=?x?-?y*z;
????????x?=?t;
????????z?=?(int)?q/p;
????}
????y?=?y%n;
????if?(y<0)
????{
????????y?+=?n;
????}
//cout<<“模逆為:“< ????return?y;
}
?
int?fnFindText(int?xint?cint?nbool?display)
{
//進(jìn)行加密、解密運(yùn)算
//使用課本P138頁(yè)平方乘方法,算法5.5
//計(jì)算Z=x^c?mod?n
????int?z=1;
int?L=0;
int?num=c;
int?ci[1000]={0};
for(int?i=0;num!=0;i++){
ci[i]=num%2;
num=num/2;
L++;
}
if(display){
cout<<“c的二進(jìn)制長(zhǎng)度:“< cout<<“ci:“;
for(int?i=L;i>=0;i--)
cout< }
評(píng)論
共有 條評(píng)論