如何根据公共和私人指数计算RSA模数?

时间:2011-04-21 16:28:54

标签: encryption rsa

我有一个模数为m的RSA私钥,公共指数e和私有指数d,但我使用的程序需要模数的素因子pq

是否可以使用ed获取pq

3 个答案:

答案 0 :(得分:14)

是 - 一旦你知道模数N和公共/私人指数d和e,获得p和q并不太难以使N = pq。

Dan Boneh的

This paper描述了这样做的算法。它依赖 根据定义,

de = 1 mod phi(N)。

任何随机选择的“证人” 在(2,N)中,有大约50%的机会能够用它来寻找一个不平凡的事物 平方根1 mod N(称之为x)。然后gcd(x-1,N)给出了一个因素。

答案 1 :(得分:9)

你可以使用我在2009年开发的开源工具,它可以在SFM格式(n,e,d)和CRT格式(p,q,dp,dq,u)之间转换RSA密钥,反之亦然。它位于SourceForge上:http://rsaconverter.sourceforge.net/

我实施的算法基于Dan Boneh提出的想法,如前面的答案所述。

我希望这会有用。

Mounir IDRASSI - IDRIX

答案 2 :(得分:5)

我在加密堆栈交换上发布了回复同一个问题here的回复。它使用与Boneh论文中概述的相同方法,但对其实际工作方式做了更多解释。我也尝试假设最少量的先验知识。

希望这有帮助!

相关问题