在RSA加密中,如何找到d,给定p,q,e和c?

12 encryption rsa

我知道我需要使用扩展的欧几里德算法,但我不确定我需要做什么计算.我有很多人.谢谢

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的值.