Elgamal(离散对数公钥算法)
1)公钥与私钥的产生
选择一个素数P,
两个
随机整数g(生成元)和x (其中g,x
y=g^x mod p (g的选择是一个纯数学问题,很有讲究)
由此就得到了
公钥: y=g^x mod p (y,g,p公开)(由私钥得到公钥)
私钥: x (x, g, p)
2)加密(由公钥y,g,p产生密文)
设明文为M,发送方选择一个随机整数k (k与p-1互素)
a=g^k mod p
b=y^k*M mod p
则密文为(a,b)
3) 解密
M=b/a^x mod p
阅读(3765) | 评论(0) | 转发(0) |