数字签名方案深入解析
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 PKCS #1 v1.5 指定的签名方
超级会员免费看
订阅专栏 解锁全文

781

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



