作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从我通过阅读各种 Material 了解到的一点点来看,公钥-私钥对是非对称加密的基础,也是选择 2 个素数(大致是您的私钥)并将它们相乘(大致是您的公钥)的基础)。在我看来,如果您知道私钥,就可以生成公钥。这是正确的还是我弄错了什么?
让我更困惑的是,不可能仅使用私钥(使用 .NET 类 RSACryptoServiceProvider)将 RSA key 序列化为 XML。不确定这个限制是有意还是无意!
最佳答案
在大多数非对称加密系统实现中,唯一可以保证的事实是您无法从公钥中找到私钥。相反,在大多数情况下,从私钥找到公钥是微不足道的。
例如,在 RSA 中,您可以使用私钥创建公钥:
openssl rsa -in private.pem -pubout -out public.pem
令人误解的是术语:“私钥”指的是两个不同的概念,无论您是在谈论理论,还是在谈论实际实现:
0x10001
,尽管它可以更改,强烈建议仅坚持 very specific values )。因此,从私钥推导公钥(e, n)是微不足道的,原因不止一个。关于.net - 给定一个私钥,是否可以推导出它的公钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/696472/
我是一名优秀的程序员,十分优秀!