【问题标题】:RSA algorthum calculationsRSA算法计算器
【发布时间】:2013-03-25 06:23:37
【问题描述】:

我一直在研究网络书籍并点击了 RSA 部分。 考虑 p=5 和 q=11 的 RSA 算法。

so I get N = p*q = 55 right?

and z = (p-1) * (q -1) = 40 

我想我是对的,但是这本书对如何计算并不是很清楚。

书中的例子说 e = 3 但没有给出原因。是因为作者喜欢还是另有原因?

以及如何找到 d 以使 de= 1(mod z) 和 d

感谢您在这方面的任何帮助,它现在有点在我之上。

【问题讨论】:

    标签: cryptography rsa public-key


    【解决方案1】:

    你的 nz 的计算是正确的。

    一个RSA密码系统由三个变量nde组成。变量 e 是三者中最不重要的,通常是任意选择以使计算简单; 3 和 65537 是 e 最常见的选择。唯一的要求是 e 是奇数并且与 totient 互质(z 在你的实现中);因此 e 经常被选择为素数,因此无论选择什么 totient,它都将是 totient 的互素数。 e 经常使用 3 和 65537 的原因是计算容易;这两个数字在其二进制表示中只有两个 1 位,因此只需对复杂循环进行两次迭代。

    您可以在my blog 看到 RSA 密码系统的实现。如果您在那里四处逛逛,您还会发现其他一些您可能感兴趣的与加密货币相关的东西。

    【讨论】:

    • totient (p-1)(q-1) 不一定是 e 的互质数:e 可以整除它。 如果 p 和 q 被选择为具有特殊属性,例如p - 1 = 2p' 那么你的陈述可能是真的。
    【解决方案2】:

    你要找的是extended euclidean algorithm

    例如参见维基百科或here

    【讨论】:

      猜你喜欢
      • 2013-05-08
      • 2018-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 2011-05-08
      相关资源
      最近更新 更多