http://www.7klian.com

什么是ElGamal加密算法?一文相识ElGamal算法的事情


在数字钱币规模,安详通信是一个重要的课题,它涉及到如何掩护用户的隐私、资产和生意业务信息等。为了实现安详通信,需要利用一种暗码学技能,即加密算法。加密算法可以分为两大类:对称加密算法和非对称加密算法。对称加密算法是指加密息争密利用同一个密钥的算法,譬喻AES、DES等。非对称加密算法是指加密息争密利用差异的密钥的算法,譬喻RSA、ECC等。非对称加密算法的利益是可以实现公钥暗码体制,即用户可以果真本身的公钥用于加密或验证,而保存本身的私钥用于解密或签名。这样,用户之间就不需要事先共享密钥,也不需要担忧密钥被窃取或改动。

ElGamal加密算法是一种非对称加密算法,它是由美国暗码学家Taher Elgamal于1985年提出的,是一种基于离散对数问题的非对称加密算法。ElGamal加密算法可以界说在任何轮回群上,它的安详性取决于轮回群上的离散对数困难。离散对数困难是指给定一个轮回群G和它的生成元g,以及一个群元素h,求解一个整数x,使得g^x = h在G中创立。这个问题被认为是计较上坚苦的,即没有已知的多项式时间的算法可以办理它。

ElGamal加密算法由三部门构成:密钥生成、加密息争密。下面我们以一个简朴的例子来说明ElGamal加密算法的事情道理。

假设Alice和Bob想要通过不安详的信道举办安详通信,他们可以利用ElGamal加密算法来实现。

  • 密钥生成:Alice操作生成元g发生一个q阶轮回群G的有效描写。该轮回群需要满意必然的安详性质。Alice从{1,…,q-1}中随机选择一个x。Alice计较h := g^x。Alice果真h以及G,q,g的描写作为其公钥,并保存x作为其私钥。
  • 加密:Bob想要向Alice发送一条奥秘动静m,他可以利用Alice的公钥来加密m。Bob从{1,…,q-1}中随机选择一个y,然后计较c_1 := g^y。Bob计较共享奥秘s := h^y。Bob把他要发送的奥秘动静m映射为G上的一个元素m’。Bob计较c_2 := m’ * s。Bob将密文(c_1,c_2)发送给Alice。
  • 解密:Alice收到Bob发送的密文(c_1,c_2),她可以利用本身的私钥来解密m’。Alice计较共享奥秘s := c_1^x。然后计较m’ := c_2 / s,并将其映射回明文m。

ElGamal加密算法有以下几个特点:

  • 它是一种概率性的加密算法,即同一条动静每次加密获得的功效都差异。
  • 它是一种乘法同态的加密算法,即假如两个明文别离被加密为(c_1,c_2)和(c’_1,c’_2),那么他们的乘积被加密为(c_1 * c’_1,c_2 * c’_2)。
  • 它是一种可扩展性强的加密算法,即可以在任何轮回群上界说,包罗有限域、椭圆曲线等。

ElGamal加密算法在数字钱币规模有着遍及的应用,,譬喻GnuPG和PGP等许多暗码学系统中都应用到了ElGamal算法。ElGamal加密算法也可以用于实现数字签名、密钥协商、零常识证明等成果。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读