Elgamal签名算法(初始化和签名)
Elgamal签名算法(验证)
Elgamal签名算法(正确性)
Elgamal签名算法(举例)
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
int xy[22];
int myPow(int a, int b, int m) {
int res = 1;
a %= m;
while (b != 0) {
if ((b & 1) == 1)
res = (res * a) % m;
a = (a * a) % m;
b >>= 1;
}
return res;
}
// 判断两个数是否互质
int isHuZhi(int a, int b) {
return b == 0 ? a : isHuZhi(b, a % b);
}
int calculate3(int y,int k,int p){
printf("...%d %d %d\n",y,k,p);
int l=1;
for(int i = 0;i<k;i++){
l=l*y;
l=l%p