[英]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.