【问题标题】:how to derive from private key to public key in math如何在数学中从私钥派生到公钥
【发布时间】:2021-07-10 08:22:04
【问题描述】:

我将写下我知道并用于生成 RSA 密钥的公式。

  1. 我们选择p,q
  2. N = p*q
  3. f(n) = (p-1)(q-1)
  4. 选择e如
  • 1
  • 与 N 互质,f(n)
  1. 选择 d 使d * e (mod f(n) ) = 1

就是这样。有了这些,如果我们有p=2q=7,我成功地得到d=11e=5 这是正确的。

现在想象一下,我只有 (11,14) (d=11, N=14) 的私钥。我如何获得e=5。我知道使用dN,您不能直接获得e,但是随着RSA 的工作,它会尝试e 的不同变体,然后检查它是否有效,这就是您从中获取公钥的方式私钥。

谁能向我解释我应该在这里采取什么步骤来弄清楚e 可能是什么,然后从这些步骤中我应该选择哪个e

【问题讨论】:

标签: algorithm cryptography rsa private


【解决方案1】:

从技术上讲,您不能从私有指数和模数中推导出公共指数。这会使 RSA 崩溃,因为这与从公共指数和模数中导出私有指数的问题相同。

不过,在实践中,绝大多数 RSA 实现只使用了几个公共指数,因此您可以全部尝试。通常公共指数是费马素数:3、5、17、257 或 65537,其中 65537 是最常见的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 2022-01-13
    • 2019-10-12
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多