RSA加解密算法以及破解

RSA加解密算法以及破解

已知 r=( g ^ k mod p ) mod q ,s=[ k^-1(H(M)+xr)] mod q ,签名=(r,s)

依题可知对多条消息数字签名时k是不变的,

所以 ks1 = H(M1) + xr (mod q) ①

ks2 = H(M2) + xr (mod q) ②

由①得 ks1s2 = s2 · H(M1) + s2 · xr (mod q) ③

由②得 ks1s2 = s1 · H(M2) + s1 · xr (mod q) ④

由③④得 s2 · H(M1) + s2 · xr = s1 · H(M2) + s1 · xr (mod q)

解得 x = [s2 · H(M1) - s1 · H(M2)] / [s1 · r - s2 · r]

其中s1,s2,r,H(M)都是已知的,从而计算出私钥x。

x = s 2 ∗ H ( M 1 ) − s 1 ∗ H ( M 2 ) s 1 ∗ r − s 2 ∗ r x=\frac{s_2*H(M_1)-s_1*H(M_2)}{s_1*r-s_2*r} x=s1rs2rs2H(M1)s1H(M2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值