非RSA签名方案的快速筛选与自认证签名技术解析
1. 非RSA签名方案的快速筛选
在某些场景下,签名者会生成大量签名,接收者需要验证这些签名的正确性,例如银行发行大量电子货币,客户要验证货币的正确性。此前,寻找非RSA签名方案的快速筛选算法是一个开放问题,不过现在这个问题可以作为特定方案的特殊情况来解决。
然而,在ElGamal类型的签名中,签名者为每个签名必须使用一个新的随机数,否则会危及签名者私钥的保密性。所以,在广播环境下生成n个不同消息时使用公共随机数的方案,在这种情况下是不可接受的。为避免这个问题,签名者需要遵循原始的签名方案。
签名生成步骤
设签名者的私钥和公钥分别为x和y = g^x ,设mi (i = 1, …, n) 是消息M1, …, Mn的哈希值(或其他编码)。为对mi进行签名,签名者执行以下步骤:
1. 生成一个随机数ki,并计算ri = mi * g^ki (mod p)。
2. 生成消息mi的签名si = ki - r’i * x (mod q),其中r’i = ri mod q。
3. 将所有签名 (Mi, si, ri) 发送给接收者。
验证步骤
- 接收者收到n个签名 (M1, s1, r1), …, (Mn, sn, rn) 后,计算:
- r = ∑(i = 1到n) ri (mod p)
- m = ∑(i = 1到n) mi (mod p)
- s = ∑(i = 1到n) si (mod q)
- 对组合签名
超级会员免费看
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



