ELGamal密码(ELGamal cipher),理学-计算机科学技术-信息安全-密码学-密码编码学-公钥密码,基于Diffie–Hellman密钥交换的非对称加密算法。1985年,这一算法由美国学者T.厄格玛尔提出。该密码算法的安全性基于有限域上离散对数求解的困难性。ELGamal密码算法步骤如下:①密钥生成。用户A选取有限域,其中是一个大素数,设是的生成元,随机选取私钥,满足,计算公钥,即公钥为,私钥为。公钥公开,私钥保密。②加密。用户B使用用户A的公钥加密一条消息。用户B随机选取,,计算。所有的计算都在有限域上进行。最终用户B将密文发送给用户A。③解密。用户A收到用户B发来的密文后,用自己的私钥进行解密,得到明文。式中为在上的逆元。ELGamal密码通常应用在混合加密系统中,用于传递密钥。因为在同等安全等级下,ELGamal密码作为一种非对称密码,通常比对称密码算法加密速度慢。对称密码算法的密钥和传递的消息也要短得多,所以使用对称密码来加密任意长度的消息然后用ELGamal密码对称密钥,这样要更快一些。