对于 RSA 加密,给定 p、q 和 e 求 d?

For RSA encryption, finding d given p,q, and e?

给定 p = 7, q = 11, e = 3 我如何找到 d

有很多类似的问题,但是他们要求你计算你自己的e。如果 e = 11e = 17,这将是一个微不足道的解决方案,但我不确定如何具体地处理 e = 3

我的理解是:

d = e-1mod(p-1)(q-1)

d = 3-1mod(6)(10)

d * 3 == 1 mod 60

但是这会导致 3 不可逆 mod60,因为 3 不与 60 互质。给定 e=3 这个值是否有解?感谢您的帮助。

(回答标题中的问题)。在我的算法中,我使用这个:

d =(1+(z* ϕ(N)))/e

私钥 d 必须是一个整数,所以 z 应该从 1 开始,然后递增 1 直到它是一个整数。 ϕ(N) 是欧拉的总函数。

ϕ(N) = (p-1)*(q-1)

编辑:当我将这些质数插入我的代码时,我得到 e = 7

要正确找到 ee 必须是 eϕ(N) 的最大公约数等于 1 的数字。

所以e1开始,递增1直到最大公约数也是1

我的计算器显示无解。 (所有值都以 10 为底)

  • n = p * q = 77
  • phi(n) = (p-1) * (q-1) = 60
  • 尝试计算 ModInv(3, 60) 并发现没有解,因为 3 整除 60。

为了好玩我用"assume inputs are (sensibly) in hexadecimal"重新运行,变成q=17,也是不可解的,因为phi(n)是96,也是均匀的能被 3 整除。