整数分解问题比RSA分解难吗:?


39

这是来自math.stackexchange的交叉文章


让FACT表示整数分解问题:给定找到素数整数使得p Ñê ÑÑ = Π ķ = 0 p ë nN,piN,eiN,n=i=0kpiei.

让RSA表示因式分解问题的特殊情况,其中和是质数。也就是说,如果没有这样的因式分解,则给定素数或NONE。p q n p qn=pqp,qnp,q

显然,RSA是FACT的一个实例。FACT比RSA难吗?给定一个可以在多项式时间内求解RSA的预言机,是否可以将其用于在多项式时间内求解FACT?

(非常感谢文学的指针。)


编辑1:添加了对计算能力的限制,即多项式时间。


编辑2:正如丹·布鲁姆利夫(Dan Brumleve)的回答所指出的那样,有一些论点支持和反对RSA比FACT更难(或更容易)。到目前为止,我发现了以下论文:

D. Boneh和R. Venkatesan。破解RSA可能比分解更容易。1998年EUROCRYPT http://crypto.stanford.edu/~dabo/papers/no_rsa_red.pdf

D. Brown:破解RSA可能和分解一样困难。Cryptology ePrint Archive,Report 205/380(2006)http://eprint.iacr.org/2005/380.pdf

G. Leander和A. Rupp。关于通用环算法的RSA等价和因式分解。2006年ASIACRYPT http://www.iacr.org/archive/asiacrypt2006/42840239/42840239.pdf

D. Aggarwal和U. Maurer。一般而言,破坏RSA相当于分解。2009年EUROCRYPT http://eprint.iacr.org/2008/260.pdf

我必须仔细研究一下并得出结论。是否有人知道这些结果可以提供摘要?


1
如果我没记错的话,那么计算或找出d等同于分解,但是这样,RSA可能会比分解更弱。简而言之,RSA可能并不意味着解决保理问题。没有正式的证据证明它们是等效的。(据我所知)ϕ(n)
2011年

1
Mohammad,为什么FACT无法还原为RSA?
Dan Brumleve 2011年

1
也许我误会了一些基本的东西。如何证明存在于多项式时间内分解为半素数的算法并不意味着存在于多项式时间内分解成具有三个素数的数的算法?
丹·布鲁姆利夫

6
您怎么知道那是什么?
丹·布鲁姆利夫

7
如果在上述两个问题之间没有减少乘以时间,那么将很难证明这一点,对吗?要证明不存在可减少的减少,需要证明。PNP
Fixee 2011年

Answers:


13

我发现这篇名为“ 破解RSA可能比分解更容易”的论文。他们认为计算模的第个根可能比分解容易。n = p q n = p qen=pqn=pq

但是,他们没有解决您提出的问题:他们没有考虑分解形式的整数是否比分解任意整数容易。结果,此答案与您的特定问题几乎无关。n=pq


谢谢!我发现了其他几篇带有相关标题,交叉引用的论文。我将在下面发布链接。(编辑:下面的链接很丑陋。我无法在评论中使用正确的格式。)

1
D. Boneh和R. Venkatesan。破解RSA可能比分解更容易。1998年的EUROCRYPT。crypto.stanford.edu/~dabo/papers/no_rsa_red.pdf D. Brown:打破RSA可能与分解一样困难。密码学ePrint档案,报告205/380(2006)eprint.iacr.org/2005/380.pdf D. Aggarwal和U. Maurer。一般而言,破坏RSA相当于分解。2009年EUROCRYPT eprint.iacr.org/2008/260.pdf G.利安德和A. Rupp的。关于通用环算法的RSA等价和因式分解。2006年ASIACRYPT iacr.org/archive/asiacrypt2006/42840239/42840239.pdf

1
我阅读了摘要,Aggarwal和Maurer的论文似乎是关于一个稍有不同的问题(将半素数与计算phi函数联系起来?),其他人则明确表示该问题是开放的。我想除非有比2006年更近的结果,否则它还会是吗?
丹·布鲁姆利夫

1
值得一提的是,Boneh和Venkatesan的论文是关于分解半素数的硬度与破坏RSA的硬度有关的。这个问题所谓的“ RSA”实际上是分解半素数的问题,这可能比破解RSA困难(这是Boneh-Venkatesan论文所建议的)
Sasho Nikolov

4
这个答案是不正确的。您误解了那些论文的证明。所谓“ RSA问题”,是指计算模块的第个根(mod)的问题,并将其与分解的困难联系起来。在两种情况下,是RSA数,即。因此,您引用的论文实际上并未解决您提出的问题。之所以会出现混乱,是因为问题的“ RSA问题”与这些论文所称的“ RSA问题”不同。ennnn=pq
DW

19

据我所知,用于分解半素数的有效算法(RSA)不会自动转换为用于分解普通整数(FACT)的有效算法。但是,实际上,半素数是最难分解的整数。原因之一是最小素数的最大大小取决于因子数。对于具有素数因子的整数,最小素数因子的最大大小为,因此(通过质数定理)大约为可能性。因此增加NfN1ffN1flog(N)f减少了最小素因数的可能性。任何能够连续减小概率空间的算法都将在大最佳,而在最差。这在实践中得到了证实,因为当要分解的数量具有两个以上素数时,许多经典的分解算法都快得多。ff=2

此外,最快已知的经典分解因式算法General Number Field Sieve和多项式时间量子分解因式算法Shor's对非半素数同样有效。在一般情况下,它似乎更重要的是,通过要素互质比,他们是素数。

我认为部分原因是最自然地将质数分解为质数的决策版本描述为一个承诺问题,而消除输入为半质数的承诺的任何方式之一是

  1. 在半素数上引入索引(我怀疑半素数本身就像分解它们一样困难),或者
  2. 通过将问题概括为包括非半素数。

在后一种情况下,最有效的算法似乎可以解决FACT以及RSA的问题,尽管我没有证明。但是,要证明这一点有点困难,因为为RSA提供了一个预言,证明这不能有效地解决FACT的问题,就等于证明。PNP

最后值得指出的是,RSA(密码系统,而不是您上面定义的保理问题)在广义上超出了半素数。


3
Joe,我认为假设这个问题的因数不在(因此在)是合理的(然后,答案并不意味着突破了复杂性,如您在上一段中所述)。PPNP
卡夫

1
@Kaveh:我认为这还不够。我们要显示是否。根据您的假设,该问题的答案有所不同。想象一下,实际上P = NP(实际上我们只需要P中的FACT,但是我想强调与P v NP的联系),但是我们假设FACT不在P中。那么可以证明通过展示多项式时间算法来简化,或者通过展示针对RSA的多项式时间算法并使用关于复杂度的假设来证明的事实。PRSA=PFACTPRSA=PFACTPRSAPFACT
Joe Fitzsimons

1
我将问题解释为“ ”。然后,如果则答案是肯定的。因此,我们可以假设,并且如果我们做出错误的假设,那么我们当然可以推导任何东西。:)˚F Ç Ť P ˚F Ç Ť PFACTPRSA?FACTPFACTP
Kaveh

@Kaveh:我相信在这种情况下,问题的两个陈述是等效的。我的观点是,只有不先确定P vs NP的情况下,才有可能证明中的,而不是相反。FACTPRSA
乔·菲茨西蒙斯

2

答案还不是很完整,但似乎是一种改进:

上面引用的研究论文将计算eth根mod N的问题(即在RSA密码系统中执行私钥操作)与分解的问题(即在两种情况下都仅使用公钥来查找私钥)进行了比较。在这种情况下,保理问题不是一般情况,而是半质数情况。换句话说,他们正在考虑一个不同的问题。

我相信,参见Knuth的AoCP,大多数数字N都有素因式分解,其比特长度与N的比特长度相比,平均约为1 / 2、1 / 4、1 / 8,...,甚至可能急剧下降,例如2 / 3、2 / 9、2 / 27 ...,但可能会趋于平缓。因此,对于一般的随机N来说,其大小足够小以至于可以通过试验部门或Lenstra的ECM迅速找到较小的因子,那么剩下的可能是半素数,尽管是不平衡的。这是一种归约,但它很大程度上取决于因子的分布,并且它是一个缓慢的归约,因为它调用了其他因式分解算法。

同样,没有确定数字是否为半素数的已知测试。这仅意味着,如果仅将半素数分解算法应用于通用数,而该算法始终失败,那么就可以解决一个未知问题。


但是,分解算法必须在多项式时间内运行。因此,实际上您是在说“如果您有一个多重时间分解算法,那么您将解决一个未知问题”。因为可以使用幼稚的因式分解算法来找出数字是否为半素数。
Elliot Gorokhovsky 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.