【发布时间】:2023-03-17 15:51:01
【问题描述】:
我需要在 Python 中使用 RSA 加密和解密的帮助。 我尝试使用 RSA 2048 生成公钥和私钥,然后将公钥作为十六进制发送到目的地。但是,我遇到了一个问题,生成的公钥大小大于 2048 位。我使用了以下脚本。我能知道为什么密钥大小大于 2048 位吗?
import Crypto
from Crypto.PublicKey import RSA
key = RSA.generate(2048)
binPrivKey = key.exportKey('DER')
binPubKey = key.publickey().exportKey('DER')
print(binPubKey.encode('hex'))
【问题讨论】:
-
密钥不仅仅是特定大小的单个数字(虽然 rsa 公钥可能是单个数字,但我忘记了确切的细节)。然后它有标题和东西。此外,十六进制编码大于二进制编码。
-
两个密钥(公钥和私钥)都包含两个数字,模块 N 和指数 d 或 e。
标签: python cryptography rsa