45、RSA签名的故障攻击与对策

RSA签名的故障攻击与对策

1. RSA签名基础

在RSA签名体系中,存在一些关键参数。设 $y_q = q^{-1} \bmod p$,$y_p = p^{-1} \bmod q$。Alice生成签名 $s$ 并将其与消息 $m$ 发送给Bob。Bob通过计算 $s^e \bmod n$ 并检查是否等于 $m$ 来验证签名的有效性。若等式成立,则认为签名有效。

2. Bellcore攻击

Bellcore攻击是一种利用错误签名恢复RSA私钥的攻击方式。

  • 攻击原理

    • 由于设计原因,有 $s \equiv s_q \bmod q$ 且 $s \equiv s_p \bmod p$,进而可得 $m \equiv s^e \equiv s_q^e \bmod q$ 以及 $m \equiv s^e \equiv s_p^e \bmod p$。
    • 假设在签名过程中引入恶意故障,使得 $s_p$ 或 $s_q$ 的计算出现错误(但不同时出错)。若 $s_p$ 错误而 $s_q$ 正确,设错误签名为 $s’$,则有 $s’ \equiv s \equiv s_q \bmod q$ 且 $s’ \not\equiv s \bmod p$,即 $q | (s’ - s)$ 且 $p \nmid (s’ - s)$。
    • 已知 $n$ 和 $e$ 是公开的,若攻击者知道 $s$ 和 $s’$,则可计算 $q = \gcd(s’ - s, n)$,进而得到 $p = \frac{n}{q}$。
    • 若攻击
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值