ElGamal公钥密码算法 使用miracl库

要求:大素数p必须是150位安全素数(形式为p=2q+1形式的强素数,这里面q也是素数),大素数p和本原根随机生成

ElGamal公钥密码算法(miracl库)
ElGamal公钥密码算法(miracl库)
ElGamal公钥密码算法(miracl库)
1.函数说明
ElGamal公钥密码算法(miracl库)
2.本原根的寻找
如果g^2 mod p!=1 且 g ^ q mod p!=1,那么g就是本原元
解释:https://blog.csdn.net/qq_37685156/article/details/88190088
3.m的计算
ElGamal公钥密码算法(miracl库)
应该先计算y1的逆,记为w,再求w的x次方 mod p 的结果,记为j
求y2 mod p的结果,记为k
再计算 j * k mod p的结果,为最后结果

注明:程序运行有时候会很久,一般20s内,觉得久把irand((unsigned)time(NULL));语句全部删除即可。

代码文件链接:

ElGamal公钥密码算法(miracl库)

相关文章: