公钥和私钥在加密方面是否真的相同?
当您知道私钥时,更容易计算公钥吗? 或者当你知道其中一个键时,它是否有同样的难度来计算另一个键?
也许我的表情不清楚。 我的意思是。 从私钥计算公钥是否比从公钥计算私钥更容易?
答案 0 :(得分:0)
使用私钥加密的公式和使用公钥加密的公式是相同的。因此所需的计算资源应该相同或非常相似。
假设我们生成了一个公钥:e = 17,n = 33
私钥:d = 13,n = 33
加密值9:m ^ e mod n
9 ^ 17 mod 33 = 15
要解密:c ^ d mod n
15 ^ 13 mod 33 = 9(9是原始值)
如果您拥有公钥(基本上是破解RSA),计算私钥的努力与从私钥计算公钥的另一种方式相同。
破解这些小数字很容易,但是当使用1024-4096位数时,这显然会发生巨大变化。
当然,取决于您的问题/用例。如果您正在使用标准PKI,最好遵守您的私钥应始终保密的规则,并且您可以提供公钥。
答案 1 :(得分:0)
d
和e
使得它们是反转mod phi(n)
,这是RSA数学运作所需的唯一关系。
在原始RSA文件中,公式是选择较大的d
相对素数到phi(n)
,然后计算e
。
现在算法是选择e
作为phi(n)
相对素数的小值并计算d
。 (e
这几天几乎总是0x010001
。这使得实现可以使用公钥操作的快速计算和蒙哥马利梯形图来使用私钥进行汉明加权盲计算。
如果现代密钥生成器生成了您的密钥,交换d
和e
会很糟糕,因为一旦您的公共指数如此之大,每个人都会对您的私人指数有一个很好的猜测。