数字签名方案详解
1. RSA 相关签名方案
在 RSA 相关的签名方案中,对于查询 $H(m_i)$(其中 $i \neq j$),会以 $y_i = [\sigma_i^e \mod N]$ 来回应,这里的 $\sigma_i$ 在 $Z_N^*$ 中是均匀分布的。由于 $e$ 次幂的指数运算为一对一函数,所以 $y_i$ 也是均匀分布的。
当实验 $Sig - forge’‘ {A,\Pi}(n)$ 输出为 1 时,$A’$ 会针对给定的 RSA 实例输出一个正确解。这是因为 $Sig - forge’‘ {A,\Pi}(n) = 1$ 意味着 $j = i$ 且 $\sigma^e = H(m_i) \mod N$。当 $j = i$ 时,算法 $A’$ 不会中止,并且 $H(m_i) = y$,所以 $\sigma^e = H(m_i) = y \mod N$,$\sigma$ 即为所需的逆元。由此可得:
[Pr[RSA - inv_{A’,GenRSA}(n) = 1] = Pr[Sig - forge’‘ {A,\Pi}(n) = 1] = \frac{Pr[Sig - forge {A,\Pi}(n) = 1]}{q(n)}]
若相对于 $GenRSA$,RSA 问题是困难的,那么存在一个可忽略函数 $negl$,使得 $Pr[RSA - inv_{A’,GenRSA}(n) = 1] \leq negl(n)$。因为 $q(n)$ 是多项式,所以从上述等式可推出 $Pr[Sig - forge_{A,\Pi}(n) = 1]$ 也是可忽略的。
RSA PKCS #1 标准方面,RSA PK
超级会员免费看
订阅专栏 解锁全文

276

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



