繁体   English   中英

如何从私钥生成RSA公钥?

[英]How to generate RSA public key from private key?

我正在阅读关于 SO 的一个问题,并发现我们可以使用 python 中的openssl从私钥生成公钥。 现在我想知道这是如何工作的(数学部分)以及如何在不使用openssl或任何其他库的情况下在 python 或 C 中实现该方法?

如果私钥以CRT格式(中国剩余定理)存储,则不涉及数学; 格式包括公共指数。 这就是 OpenSSL 工具如何从私钥“创建”公钥。

如果私有数据不是以 CRT 格式存储的,那么在给定私有指数的情况下计算公共指数通常是不可行的。 但是,您可以猜测常见的公共指数并轻松验证您的猜测。

从数学上讲,为了使用另一个指数快速计算一个指数,您需要知道整数,即根据模数的因子计算出的数字。 当然,RSA 的安全性取决于分解模数的不可行性。 这种关系是对称的; 您是否知道公共指数并尝试计算私有指数并不重要,反之亦然。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM