RSA中模数N有多个素因数

  • RSA中模数N有多个素因数时,面对多个因数,大部分人没有办法,其实重点在于求得多个素因数的欧拉,即
    在这里插入图片描述
  • 可以很清楚的发现,与n=p*q的欧拉是一样的,这个不是巧合
  • 证明正确性:
首先我们证明 M^(k(p-1)(q-1)(r-1)+1) mod p=M mod p    [ 1 ]
1.	如果 M 、 p 不互质,那么p 能整除 M, 明显 p也能整除 M^(k(p-1)(q-1)(r-1)+1), 那么: M^(k(p-1)(q-1)(r-1)+1) mod p=M mod p=0
2.	若 p 、 q 互质, 根据欧拉定理 M^Φ (p) mod p=1 ,有
M^(k(p-1)(q-1)(r-1)+1) mod p
=((M)M^k(p-1)(q-1)(r-1)) mod p
=((M)(M^(p-1))^k(q-1)(r-1)) mod p
=((M)(M^Φ(p))^k(q-1)(r-1)) mod p
=(M mod p)*[(M ^Φ(p)) mod p]^k(q-1)(r-1)
=(M mod p)*(1)^k(q-1)(r-1) (根据欧拉定理)
=M mod p
根据[ 1 ] , 有 [M^(k(p-1)(q-1)(r-1)+1)-M] mod p=0 (2),
同理,可证明 [M^(k(p-1)(q-1)(r-1)+1)-M] mod q=0(3)
[M^(k(p-1)(q-1)(r-1)+1)-M] mod r=0    (4)
根据[ 2 ][ 3 ][ 4 ]知,存在一整数 x 使
[M^(k(p-1)(q-1)(r-1)+1)-M]=(pqr)x=nx
所以 n 能整除 [M^(k(p-1)(q-1)(r-1)+1)-M]
故 M^(k(p-1)(q-1)(r-1)+1) mod n=M^(k准(n)+1) mod n=M
根据 ed=k准(n)+1 (逆元关系)
得 M=^ed mod n=M 
  • 根据上面的推导过程,证明了我们一开始提出的推论是正确的,可以推论到n个素数相乘的模数N求欧拉。
  • 之后的加密和解密步骤是不受影响的,因为在得到私钥和公钥之后,就会丢弃素因数,加密解密使用公钥对[e,n]和私钥对[d,n]
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值