ElGamal数字签名 。ElGamal数字签名历史 ■1985年,EIGamal提出了一个基于离散对数问题的签名方案,后 来称为EIGamal数字签名方案。 ■1991年该数字签名方案的变形被NIST确定为数字签名标准(DSS)
ElGamal数字签名 ElGamal数字签名历史 1985年,EIGamal提出了一个基于离散对数问题的签名方案,后 来称为EIGamal数字签名方案。 1991年该数字签名方案的变形被NIST确定为数字签名标准(DSS)
ElGamal数字签名 。参数与密钥生成 ■选取大素数p,g∈Zp是一个本原元,p种g公开。 ■随机选取整数x,1s-2,计算=g*mod p。 ■公钥为y,私钥为x
ElGamal数字签名 参数与密钥生成 选取大素数p, g Z* p 是一个本原元,p和g公开。 随机选取整数x,1≤x≤p-2,计算y≡g x mod p。 公钥为y,私钥为x
ElGamal?数字签名 。签名 ■对于消息m,首先随机选取一个整数k,1≤k≤-2且gcd(k,p-1)=1, 然后计算 r=g*mod p,s=[h(m)-xrlkl mod (p-1) ■则m的签名为(r,S),其中h为Hash函数。 。验证 ■对于消息签名对(,(心,),如果 yr-gh(m)modp ■则(r,s)是m的有效签名
ElGamal数字签名 签名 对于消息m,首先随机选取一个整数k,1≤k≤p-2且gcd(k, p-1)=1, 然后计算 r≡g k mod p, s≡[h(m)-xr]k -1 mod (p-1) 则m的签名为(r, s),其中h为Hash函数。 验证 对于消息签名对(m, (r, s)),如果 y r r s=g h(m) mod p 则(r, s)是m的有效签名
ElGamal?数字签名 。签名的正确性 ■因为 s=(h(m)-xr)k mod (p-1) ·所以有 sk+xr=h(m)mod (p-1) ■故 gm=gk+w)=g™g”=y'r'mod p
ElGamal数字签名 签名的正确性 因为 s = (h(m) xr)k 1 mod (p1) 所以有 sk+xr =h(m) mod (p1) 故 ( ) ( ) mod h m sk xr sk xr r s g g g g y r p
ElGamal数字签名 ·随机化数字签名 ■EIGamal数字签名在生成签名时会选择一个整数k,同一个消息 签名两次得到的结果通常是不同的,所以是一个随机化数字签名。 。如果在两次签名时选择相同的随机数则是不安全的。 ■分析:s=h(m)xrlk1mod(p-1),s2h(m2)xrlk1modp-1) 将两式相减,得s1-s2h(m1)h(2)k1mod(p-1) 进而得k=hm)-hm2mod(p-1) S1-S2 由sh(m)xrk1mod(p-1)求出私钥 h(m1)-s1k X三 mod(p-1)
ElGamal数字签名 随机化数字签名 ElGamal数字签名在生成签名时会选择一个整数k,同一个消息 签名两次得到的结果通常是不同的,所以是一个随机化数字签名。 如果在两次签名时选择相同的随机数则是不安全的。 分析:s1≡[h(m1 )-xr]k -1 mod (p-1),s2≡[h(m2 )-xr]k -1 mod (p-1) 将两式相减,得s1 -s2≡[h(m1 )-h(m2 )]k -1 mod (p-1) 进而得𝒌 = 𝒉 𝒎𝟏 −𝒉 𝒎𝟐 𝒔𝟏−𝒔𝟐 𝐦𝐨𝐝(𝒑 − 𝟏) 由s1≡[h(m1)-xr]k -1 mod (p-1)求出私钥 𝒙 = 𝒉 𝒎𝟏 − 𝒔𝟏𝒌 𝒓 𝐦𝐨𝐝(𝒑 − 𝟏)