OpenSSL:如何使用p,q和e创建RSA结构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenSSL:如何使用p,q和e创建RSA结构相关的知识,希望对你有一定的参考价值。

是否有公共API通过指定pqe的值来创建RSA结构?

我发现Crypt-OpenSSL-RSA/RSA.xs正在做我想做的事。

new_key_from_parameters

为n,e以及可选的d,p和q提供Crypt :: OpenSSL :: Bignum对象,其中p和q是n的主要因子,e是公共指数,d是私有指数,创建一个使用这些值的新Crypt :: OpenSSL :: RSA对象。

但是另一方面rsa section in the OpenSSL manual说:

应用程序通常应避免直接使用RSA结构元素,而应使用API​​函数来查询或修改密钥

答案

目前有关“使用API​​”的声明是理想的。 RSA模块是OpenSSL中最古老的模块之一并可以追溯到SSLeay和Eric关心其他事情的时候,而不是信息隐藏。较新的模块像ECC SHA AES EVP之类的东西,甚至像BN BIO SSL一样经过重做的东西,其API几乎总是不透明,但RSA没有。现在,该项目实际上有多个开发人员,某些旧内容可能会被清理。

另一答案

Openssl不提供通过p,q生成密钥的API,但是可以基于数学创建一个...

以上是关于OpenSSL:如何使用p,q和e创建RSA结构的主要内容,如果未能解决你的问题,请参考以下文章

如何从 P、Q 和 E 计算 RSA 加密的 D

在 RSA 算法中,多个 d 是不是可以与给定的 e、p 和 q 一起工作?为啥?

RSA 算法-MSDN文档

使用 openssl 以特定格式创建 RSA 密钥

给出p、q、e、M,设计一个RSA算法,求公钥,私钥,并且利用RSA算法加密和解密?

p==q 时的 RSA 加密