【问题标题】:What is the easiest way to calculate Eulers Phi N?计算 Euler Phi N 的最简单方法是什么?
【发布时间】: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


【解决方案1】:

在 RSA 中,n=pq,在您的示例中,p=19,q=73。因为 p 和 q 都是质数,所以在您的考试中我认为您可以猜测它们的值。我认为因为 RSA 的节省依赖值 n 不能轻易分成两个质数,所以你的老师不会给出太大的值 n。例如,现在老师给我一个值n=1387,你可以认为现在最后一个数字是7,那么两个数字的值可能是?3*?9或?1*?7。如果是?3*?9,那么?3可能等于 3,13,23,43,53,73,83...?9 可能等于 19,29,59,79,89...,现在可以用 1387 除?3,搜索是否有?9 匹配(看 1387 除以 ?3 的结果是否是素数)。是 只是我的想法,祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    相关资源
    最近更新 更多