gpt4 book ai didi

c - OpenSSL:如何使用 p、q 和 e 创建 RSA 结构

转载 作者:太空宇宙 更新时间:2023-11-04 08:21:46 24 4
gpt4 key购买 nike

是否有一个公共(public) API 可以通过指定 pqe 的值来创建 RSA 结构?

我找到了 Crypt-OpenSSL-RSA/RSA.xs做我想做的事。

new_key_from_parameters

Given Crypt::OpenSSL::Bignum objects for n, e, and optionally d, p, and q, where p and q are the prime factors of n, e is the public exponent and d is the private exponent, create a new Crypt::OpenSSL::RSA object using these values.

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

applications should generally avoid using RSA structure elements directly and instead use API functions to query or modify keys

最佳答案

此时关于“使用 API”的声明是令人向往的。 RSA 模块是 OpenSSL 中最古老的模块之一并且可以追溯到 SSLeay 和 Eric 关心其他事情而不是信息隐藏的时间。较新的模块像 ECC SHA AES EVP,甚至像 BN BIO SSL 这样经过一些改造的 API,它们的 API 几乎总是保持不透明,但 RSA 没有。现在该项目实际上有多个开发人员,一些旧东西可能会得到清理。

从语义上讲,您的组合不一致。用作公钥的RSA结构必须有n和e,不应该有p q或任何其他私有(private)信息;用作私钥的必须有 n d p q dp dq qinv 和可能的 e。 (e 不用于私钥操作,但它需要检查 key 对或将其写出或读回。)如果你真的有 p q e 你必须计算 n,如果你想要一个私钥,你还必须计算 d (then) dp dq qinv。请参阅 PKCS#1 又名 https://www.rfc-editor.org/rfc/rfc3447一旦你有了正确的 BN 值,现在只需将它们填充到 rsa->whatever 中。

关于c - OpenSSL:如何使用 p、q 和 e 创建 RSA 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33101829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com