【发布时间】:2011-08-10 11:02:54
【问题描述】:
我有一个带有模数 m、公共指数 e 和私人指数 d 的 RSA 私钥,但我正在使用的程序需要模数的主要因素 p 和 q。
是否可以使用e和d得到p和q?
【问题讨论】:
-
openssl 中是否有代码来执行此任务
标签: encryption rsa
我有一个带有模数 m、公共指数 e 和私人指数 d 的 RSA 私钥,但我正在使用的程序需要模数的主要因素 p 和 q。
是否可以使用e和d得到p和q?
【问题讨论】:
标签: encryption rsa
我在加密堆栈交换上发布了一个回复,回答了相同的问题 here。它使用与 Boneh 的论文中所述相同的方法,但对它的实际工作原理做了更多解释。我还尝试假设最少的先验知识。
希望这会有所帮助!
【讨论】:
您可以使用我在 2009 年开发的开源工具,它可以在 SFM 格式 (n,e,d) 和 CRT 格式 (p,q,dp,dq,u) 之间转换 RSA 密钥,反之亦然.它在 SourceForge 上:http://rsaconverter.sourceforge.net/
我实现的算法基于 Dan Boneh 提出的想法,如上一个答案所述。
我希望这会有用。
Mounir IDRASSI - IDRIX
【讨论】:
是的——一旦你知道了模数 N,以及公/私指数 d 和 e,得到 p 和 q 使得 N=pq 并不难。
This paper 由 Dan Boneh 描述了一个这样做的算法。它依赖于 事实上,根据定义,
de = 1 mod phi(N)。
对于任何随机选择的“证人” 在 (2,N) 中,大约有 50% 的机会能够使用它来找到一个非平凡的 1 mod N 的平方根(称为 x)。然后 gcd(x-1,N) 给出因素之一。
【讨论】: