如何在此RSA算法示例中确定d?

时间:2017-02-15 04:21:00

标签: algorithm cryptography rsa

作为我大学课程的一部分,我有一个问题需要解决。它是关于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。

有谁知道怎么做?非常感谢帮助。

1 个答案:

答案 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 448269*5 = 1 mod 448,答案是d = 269