作为我大学课程的一部分,我有一个问题需要解决。它是关于RSA算法的主题。
我得到了p = 29,q = 17和e = 5.
我必须确定d。
所以我知道n = 29 x 17 => 493和phi(n)= 448
所以我明白了我知道的地方
5 * d mod 448 = 1
然后我按照欧几里德算法去
448 = 89(5) + 3
其中3是余数(商)。在之前的例子中,我完成了商最终为1的情况,很容易解决d是什么。但是,我不知道如何为此示例执行此操作,余数为3。
有谁知道怎么做?非常感谢帮助。
答案 0 :(得分:0)
您没有完成扩展的欧几里德算法。 (https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm)
您应该(r_i, s_i, t_i)
:
(448,1,0) => 1*448 + 0*5 = 448
(5, 0, 1) => 0*448 + 1*5 = 5
(3, 1, -89) => 1*448 - 89*5 = 3
(2, -1, 90) => -1*448 + 90*5 = 2
(1, 2, -179) => 2*448 - 179*5 = 1
您可以查看2*448 - 179*5 = 1
,-179 * 5 = 1 mod 448
或269*5 = 1 mod 448
,答案是d = 269