数字签名技术全解析
1. 哈希RSA签名方案的安全变体
在数字签名领域,哈希RSA签名方案存在一定的安全隐患。若设(\ell_1, \ell_2, \ldots, \ell_l)为小素数,当哈希函数(h)输出小整数时,我们能快速找到消息(m, m_1, m_2, \ldots, m_l),使它们的哈希值是这些小素数幂的乘积。这意味着若获取了(m_1, m_2, \ldots, m_l)的签名,就能伪造(m)的签名。
不过,修复该方案并不复杂。我们只需一个看似随机、单向且抗碰撞的哈希函数,其定义域几乎涵盖({0, 1, 2, \ldots, n - 1})。这种情况下的哈希RSA方案被称为全域哈希RSA签名方案,即RSA - FDH。之前对普通哈希RSA签名方案的攻击对RSA - FDH失效,原因在于RSA - FDH使用的哈希函数特性使得攻击者难以找到满足条件的消息来进行伪造签名操作。
2. Schnorr签名方案
Schnorr签名方案是数字签名领域的重要方案,下面我们逐步深入了解。
2.1 证明知晓秘密的方法
假设Alice知道一个秘密数(a \in {0, 1, 2, \ldots, n - 1}),而Bob不知道该秘密数,但知道(x \in G)且(x = g^a)。Alice想让Bob相信她知道(a),但又不能直接将(a)告诉Bob,因为存在敌手Eve可能会借此冒充Alice。
Alice可以选择一个随机数(r),计算(\alpha = g^r)和(\gamma = r + a \bmod n),然后向Bob展示(\alpha)和(\gamma)。Bob通过验证(g^{\gamma}
超级会员免费看
订阅专栏 解锁全文
2361

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



