title: Milestone 03. ElGamal算法 tags: zk basic cryptography elgamal WTF zk 教程 里程碑 03:ElGamal 算法 在这一讲中,我们将介绍 ElGamal 加密和签名算法。ElGamal 是一种基于离散对数问题的公钥密码学算法,由 ElGamal 在 1985 年提出,将 Diffie-Hellman 密钥交换算法推广到了加密和数字签名领域。 ElGamal 加密算法 ElGamal 算法是一种公钥密码学的算法,其安全性基于计算离散对数的困难性。ElGamal 算法包括加密和数字签名两个部分,我们来看加密算法的流程。 我们假设 Alice 要通过 ElGamal 算法跟 Bob 通信。 1.1 密钥生成 Bob 使用 ...
title: Milestone 03. ElGamal算法 tags: zk basic cryptography elgamal WTF zk 教程 里程碑 03:ElGamal 算法 在这一讲中,我们将介绍 ElGamal 加密和签名算法。ElGamal 是一种基于离散对数问题的公钥密码学算法,由 ElGamal 在 1985 年提出,将 Diffie-Hellman 密钥交换算法推广到了加密和数字签名领域。 ElGamal 加密算法 ElGamal 算法是一种公钥密码学的算法,其安全性基于计算离散对数的困难性。ElGamal 算法包括加密和数字签名两个部分,我们来看加密算法的流程。 我们假设 Alice 要通过 ElGamal 算法跟 Bob 通信。 1.1 密钥生成 Bob 使用 ElGamal 算法的密钥生成包括以下步骤: 选择大素数 $p$: 选择一个足够大的素数 $p$ 作为 $Z^p$ 的模数。根据原根的存在性, $Z^p$ 为循环群,存在原根。 选择生成元 $g$: 选择一个模 $p$ 的原根 $g$,这时 $g$ 的阶是 $p-1$,此时离散对数问题是困难的。 选...