• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-08
  • 标签: 密码学  

资源简介

elgamal算法实现代码,c++语言,比较完整的实现了该算法,密码学课程学习

资源截图

代码片段和文件信息

#include 
#include 
using namespace std;

int fnFindD(int aint n)
{
//扩展欧几里得算法求逆元求a对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)
{
//进行加密、解密运算
//使用课本P138页平方乘方法,算法5.5
//计算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的二进制长度:“< cout<<“ci:“;
for(int i=L;i>=0;i--)
cout< }


评论

共有 条评论