STEP1: 密钥准备选取素数ppp,获取ppp的一个原根rrr,一个秘密整数0≤a≤p−10\leq a\leq p-10≤a≤p−1STEP2: 公钥(p,r,b)\left(p,r,b\right)(p,r,b)b≡ra(mod p)b\equiv r^a\left(\mod p\right)b≡ra(modp)STEP3: 加密信息PPP选取随机数1≤k≤p−21\leq k\leq p-21≤k≤p−2γ=rk(mod p)\gamma=r^k\left(\mod p\right)γ=rk(modp)δ≡P⋅bk(mod p)\delta\equiv P\cdot b^k\left(\mod p\right)δ≡P⋅bk(modp)STEP4: 解密D(C)=γa‾δD\left(C\right)=\overline{\gamma^a}\deltaD(C)=γaδ
STEP1: 密钥准备
选取素数ppp,获取ppp的一个原根rrr,一个秘密整数0≤a≤p−10\leq a\leq p-10≤a≤p−1
STEP2: 公钥(p,r,b)\left(p,r,b\right)(p,r,b)
b≡ra(mod p)b\equiv r^a\left(\mod p\right)b≡ra(modp)
STEP3: 加密信息PPP
选取随机数1≤k≤p−21\leq k\leq p-21≤k≤p−2
γ=rk(mod p)\gamma=r^k\left(\mod p\right)γ=rk(modp)
δ≡P⋅bk(mod p)\delta\equiv P\cdot b^k\left(\mod p\right)δ≡P⋅bk(modp)
STEP4: 解密
D(C)=γa‾δD\left(C\right)=\overline{\gamma^a}\deltaD(C)=γaδ
最后更新于3年前