由 ElGamal密码体制 启发 素数 p,g 是原根,pg 公开 随机选取 x 作为私钥,计算 y=gxmodp 作为公钥 对于消息 m 首先随机选 k∈Zp−1∗ r=gkmodp s=(hash(m)−xr)k−1mod(p−1) (r,s) 构成签名 验证算法: yrrs≡gh(m)(modp) 证明正确性: 由 s 的定义得到: sk+xr≡h(m)(modp−1) 所以 gh(m)≡gsk+xr≡gskgxr≡yrrs(modp)