我可以在 RSA 中交换 public 和私钥吗
Can I exchange the public and private key in RSA
public和私钥在加密上真的是平等的吗?
如果知道私钥,是不是更容易计算public密钥?
或者当你知道其中一个时,计算另一个密钥是否有同样的困难?
可能是我表达不清楚。
我是说。 从私钥计算public密钥比从public密钥计算私钥更容易吗?
没有。私钥应保密,因为 public 密钥可以从 public 生成。
用私钥加密的公式和用public密钥加密的公式不一样。
openssl rsa -in privatekey.pem -pubout
https://security.stackexchange.com/questions/172274/can-i-get-a-public-key-from-an-rsa-private-key
d
和 e
被选择为逆 mod phi(n)
,这是 RSA 数学工作所需的唯一关系。
在最初的 RSA 论文中,公式是选择一个大的 d
与 phi(n)
互质,然后计算 e
作为结果。
现在的算法是选择e
作为与phi(n)
互质的一个小值,计算d
。 (现在 e
几乎总是 0x010001
)。这允许实现使用快速计算 public 密钥操作和蒙哥马利阶梯来使用私钥进行汉明权重盲计算。
如果 modern 密钥生成器生成了你的密钥,交换 d
和 e
会很糟糕,因为一旦你的 public 指数太大了。
public和私钥在加密上真的是平等的吗?
如果知道私钥,是不是更容易计算public密钥? 或者当你知道其中一个时,计算另一个密钥是否有同样的困难?
可能是我表达不清楚。 我是说。 从私钥计算public密钥比从public密钥计算私钥更容易吗?
没有。私钥应保密,因为 public 密钥可以从 public 生成。
用私钥加密的公式和用public密钥加密的公式不一样。
openssl rsa -in privatekey.pem -pubout
https://security.stackexchange.com/questions/172274/can-i-get-a-public-key-from-an-rsa-private-key
d
和 e
被选择为逆 mod phi(n)
,这是 RSA 数学工作所需的唯一关系。
在最初的 RSA 论文中,公式是选择一个大的 d
与 phi(n)
互质,然后计算 e
作为结果。
现在的算法是选择e
作为与phi(n)
互质的一个小值,计算d
。 (现在 e
几乎总是 0x010001
)。这允许实现使用快速计算 public 密钥操作和蒙哥马利阶梯来使用私钥进行汉明权重盲计算。
如果 modern 密钥生成器生成了你的密钥,交换 d
和 e
会很糟糕,因为一旦你的 public 指数太大了。