RSA求逆元

本文详细解释了如何通过RSA算法中的公钥(e,n)来计算私钥d,利用欧拉函数和模运算性质,逐步逆推出私钥值,特别强调了计算过程中的关键步骤和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在RSA中n由两个大素数p、q乘积组成,d为公钥,求解私钥直接通过带入计算是一件很麻烦的事情,特别是在计算考试过程中。
我们通过(e,n)=(7,55)进行举例计算求解私钥d.
那么n的欧拉函数为(5-1)x(11-1)=40
也就是e x d mod 40=1,7x d mod 40 =1
那么我们就展开计算
40 = 7x5+5
7=5x1+2
5=2x2+1
那么1=5-2x2
2=7-5x1
5=40-7x5
依次带入可得
1=5-2x(7-5x1)
1=5x3-7x2
1=(40-7x5)x3-7x2
1=40x3-7x17
因为是ed-40X=1,则,d=40-17=23.
注意,如果最后结果ed前面符号为负值需要变成 欧拉函数-d,如果为正则不用管。
计算的要点是:
上一步骤的乘数是下一步骤的值
上一步骤的余数变成下一步骤的乘数。
最后算到余1的时候,将上一步的余数计算式替换成这一步骤的乘数化简,一步一步逆推,则得到最后的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值