ElGamal加密

  • STEP1: 密钥准备

    选取素数pp,获取pp的一个原根rr,一个秘密整数0ap10\leq a\leq p-1

  • STEP2: 公钥(p,r,b)\left(p,r,b\right)

    bra(modp)b\equiv r^a\left(\mod p\right)

  • STEP3: 加密信息PP

    选取随机数1kp21\leq k\leq p-2

    γ=rk(modp)\gamma=r^k\left(\mod p\right)

    δPbk(modp)\delta\equiv P\cdot b^k\left(\mod p\right)

  • STEP4: 解密

    D(C)=γaδD\left(C\right)=\overline{\gamma^a}\delta

最后更新于