简介 ElGamal算法可以用于加密和签名,其安全性依赖于计算有限域上离散对数的难度. ElGamal密钥 生成密钥对时,首先选择素数p,两个随机数g和x,g和x都小于p,然后计算: y = g ^ x mod p 私钥:x 公钥:y, g, p 其中,g和p可以由一组用户共享. ElGamal加解密 加密 对消息m进行加密,首先选取随机数k,k和p-1互素,然后计算: a = g ^ k mod p b = y ^ k * m mod p a和b是密文对(密文的大小是明文的两倍) 解密 解密时