Thi*_*ilo 14
嗯,d选择这样d * e == 1 modulo (p-1)(q-1),所以你可以使用欧几里德算法(找到模乘法逆).
如果您对理解算法不感兴趣,可以直接调用BigInteger#modInverse.
d = e.modInverse(p_1.multiply(q_1))
Run Code Online (Sandbox Code Playgroud)
小智 13
鉴于此,p = 11,q = 7,e = 17,n = 77,φ(n)= 60,并且d =?
公式中的第一个替代值: -
edmodφ(n)= 1
17 d mod 60 = 1
下一步: - 取n的总和,左边是60,右边是[e].
60 = 17
第3步: - 询问17到60的次数.这是3.5 ......忽略余数并取3.
60 = 3(17)
步骤4: - 现在你需要平衡这个等式60 = 3(17),这样左手边等于右手边.怎么样?
60 = 3(17)+ 9 <==如果你将3乘以17得到51然后加9,即60.这意味着双方现在相等.
第5步: - 现在左手边需要17,右手边需要9.
17 = 9
第6步: - 询问9次到17次.这是1.8 .......
17 = 1(9)
第7步: - 第4步: - 现在你需要平衡这17 = 1(9)
17 = 1(9)+ 8 <==如果你将1乘以9得到9然后加上8,那就是17.这意味着双方现在相等.
步骤8: - 再次从左侧拿9,向右侧拿8.
9 = 1(8)
9 = 1(8)+ 1 <==一旦达到+1以平衡你的等式,你可以停下来开始做后退替换.
步骤A:步骤8中的最后一个等式9 = 1(8)+ 1可以写成如下:1.= 9 - 1(8)
步骤B: - 我们知道什么是(8)简单说8 = 17 - 1(9)从步骤7.现在我们可以重写步骤A: -
1 = 9 -1(17 - 1(9))<==这里因为9 = 1(9)我们可以重写为: -
1 = 1(9)-1(17)+1(9)<==组相似的术语.在这种情况下,你添加1(9)与1(9) - 即2(9).
1 = 2(9)-1(17)
步骤C: - 我们通过简单的说法9 = 60 - 3(17)从步骤4知道什么是(9).现在我们可以将步骤B重写为: -
1 = 2(60-3(17)-1(17)
1 = 2(60)-6(17)-1(17)<==组相似的术语.在这种情况下,你添加6(17)与1(17) - 即7(17).
1 = 2(60)-7(17)<==在这个阶段我们可以停下来,没有更多可以替代,因此取下一个17的值.即7.用tot tot减去它.
60-7 = d
因此,d = 53的值.
| 归档时间: |
|
| 查看次数: |
54614 次 |
| 最近记录: |