在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的时候,将上一步的余数计算式替换成这一步骤的乘数化简,一步一步逆推,则得到最后的结果。
RSA求逆元
最新推荐文章于 2024-10-17 21:02:39 发布