RSA中dp,dq ,npp的求解方法

1.已知n,e,c,npp求解明文

					npp = (p+2) * (q+2)

解密过程:
e , p1=p , q1=q , n1=p * q , φ(n1)=(p1-1) * (q1-1) , p2=(p+2) , q2=(q+2) , n2=(p+2) * (q+2) , φ(n2)=(p2-1) * (q2-1)
首先根据e和φ(n2)求出d2,对c解密求得明文m2,再根据e和φ(n1)求出d1,对m2解密求出明文m。
如何求p,q:
可以构造一个方程: x2 - (p+q)x+pq =0,此方程中的(p+q)和(p*q)都可以通过n和npp求出,并且p,q是该方程的两个根。

2.已知p,q,dp,dq,c求明文

首先有如下公式:

dp ≡ d mod (p-1) ,dq ≡ d mod (q-1) ,m ≡ cd (mod n) ,n = p * q

在这里插入图片描述

至此,求出了m1,m2,p^(-1),从而可以求出明文m = ((m1 + ((m2 - m1) * p-1 mod q)) * p) mod n。

3.已知e,n,dp/(dq),c求明文

首先有如下公式:

dp ≡ d mod (p-1) ,e * d ≡ 1 mod φ(n) ,n = p * q ,φ(n) = (p-1) * (q-1)

在这里插入图片描述

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值