【发布时间】:2016-05-29 18:37:47
【问题描述】:
我有一个数字,我需要将它分成 2 个因数,以便我可以将它们放入欧拉 phi 函数并计算我的 n 以进行 RSA 加密,我如何找到这两个整数? 例如数字:1387: 19 • 73 所以我得到 phi(1387)=(19-1)*(73-1)= 1296 = n
如何以最快的方式获得 19 和 73?我不想使用任何互联网计算器,因为我无法在考试中使用它们。
【问题讨论】:
-
考虑数字。您想要将其分解以计算欧拉的 phi 函数的事实并不是很相关。有许多因式分解算法,从简单的试验除法到复杂的数域方法。由于您似乎在谈论可以通过袖珍计算器计算的小数,因此只需使用连续赔率的试除法(假设 n 是奇数,因为它几乎总是使用 RSA)。
-
所以从一开始就用所有可能的小素数除数?如果号码是 87654352 怎么办?也是一个巨大的数字。
-
87654352 并不是一个庞大的数字。你仍然可以用一种天真的方法非常快地考虑它。一种常见的算法是数字域筛及其所有变体,它适用于更大的数字。还有很多其他的算法可以用来寻找素因数。
-
我投票结束这个问题,因为这与编程没有直接关系。
-
好吧,这只是一个例子,你谈论这些算法,但告诉我一个可以做到的。我可以在考试中使用的好且简单的。有时通过幼稚的方法命中数 790~ 我没有时间在考试中这样做
标签: math encryption rsa prime-factoring greatest-common-divisor