计算机科学

首页 > 计算机科学

ElGamal加密算法

2018-07-27 10:04:21     所属分类:算法

在密码学中,ElGamal加密算法是一个基于迪菲-赫尔曼密钥交换的非对称加密算法。它在1985年由塔希尔·盖莫尔提出。[1]GnuPG和PGP等很多密码学系统中都应用到了ElGamal算法。

ElGamal加密算法可以定义在任何循环群上。它的安全性取决于上的离散对数难题。

目录

  • 1 算法
    • 1.1 密钥生成
    • 1.2 加密
    • 1.3 解密
    • 1.4 实际使用
  • 2 参考文献

算法

ElGamal加密算法由三部分组成:密钥生成、加密和解密。

密钥生成

密钥生成的步骤如下:

  • Alice利用生成元产生一个阶循环群的有效描述。该循环群需要满足一定的安全性质。
  • Alice从中随机选择一个
  • Alice计算
  • Alice公开以及的描述作为其公钥,并保留作为其私钥。私钥必须保密。

加密

使用Alice的公钥向她加密一条消息的加密算法工作方式如下:

  • Bob从随机选择一个,然后计算
  • Bob计算共享秘密
  • Bob把他要发送的秘密消息映射为上的一个元素
  • Bob计算
  • Bob将密文发送给Alice。

值得注意的是,如果一个人知道了,那么它很容易就能知道的值。因此对每一条信息都产生一个新的可以提高安全性。所以也被称作临时密钥英语ephemeral key

解密

利用私钥对密文进行解密的算法工作方式如下:

  • Alice计算共享秘密
  • 然后计算,并将其映射回明文,其中在群上的逆元。(例如:如果是整数模n乘法群的一个子群,那么逆元就是模逆元)。
解密算法是能够正确解密出明文的,因为

实际使用

ElGamal加密系统通常应用在混合加密系统英语hybrid cryptosystem中。例如:用对称加密体制来加密消息,然后利用ElGamal加密算法传递密钥。这是因为在同等安全等级下,ElGamal加密算法作为一种非对称密码学系统,通常比对称加密体制要慢。对称加密算法的密钥和要传递的消息相比通常要短得多,所以相比之下使用ElGamal加密密钥然后用对称加密来加密任意长度的消息,这样要更快一些。

参考文献

  1. ^ Taher ElGamal. A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms (PDF). IEEE Transactions on Information Theory. 1985, 31 (4): 469–472. doi:10.1109/TIT.1985.1057074.  (conference version appeared in CRYPTO'84, pp. 10–18)


版权声明:本文由北城百科网创作,转载请联系管理获取授权,未经容许转载必究。https://www.beichengjiu.com/computerscience/338727.html

显示全文

取消

感谢您的支持,我会继续努力的!

扫码支持
支付宝扫一扫赏金或者微信支付5毛钱,阅读全文

打开微信扫一扫,即可进行阅读全文哦


上一篇:RSA加密算法
下一篇:匹配追踪
相关推荐
爱淘宝