gpt4 book ai didi

openssl - 使用 openssl 生成 RSA 1024 key 对

转载 作者:行者123 更新时间:2023-12-05 00:26:35 35 4
gpt4 key购买 nike

我想生成 RSA 1024 key 对。我从谷歌得到的是

 openssl genrsa -out privatekey.txt 1024 
openssl rsa -in privatekey.txt -pubout -out publickey.txt

但是为什么这两个文件的大小不同(608 字节和 162 字节)? RSA 1024 的 key 对应该是相同大小的吧?

这些文件以

0x30 0x81...



0x30 0x82...

是pem格式的吗?它们如何与 openssl 一起使用?
RSA* rsa = RSA_new();
BN_hex2bn(&rsa->n, WHAT_HERE);
BN_hex2bn(&rsa->e, AND_WHAT_HERE);
RSA_public_encrypt(....);

谢谢。

最佳答案

私钥大于公钥的原因有几个。一个是,虽然私钥只需要包含模数和私钥(这些是解密所需的唯一参数),但它还包含公共(public)指数(因此,给定私钥,公钥总是可以重新创建),如以及原始素数 PQ以及许多其他派生参数(DPDQInverseQ)。

可以创建仅包含所需参数(模数和私有(private)指数)的私钥,但是即使在这种情况下,由于公共(public)和私有(private)指数的大小,私有(private) key 也会更大 - 公共(public)指数通常很小,并且通常是一组预定义值中的一个 - 例如65537,但是相应的私有(private)指数是一个更大的值。

关于在 OpenSSL 中使用 PEM 文件,有许多函数可用于从 PEM 格式文件加载 RSA key 。见:https://www.openssl.org/docs/crypto/pem.html

关于openssl - 使用 openssl 生成 RSA 1024 key 对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21980495/

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