我正在尝试使用外部站点使用 Python M2Crypto 的 RSA 提供给我的公钥对消息进行编码。本质上,我正在做这样的事情:
from M2Crypto import RSA
import os
rsa = RSA.load_pub_key(os.path.join(BASE_PATH, 'external_site.pem'))
rsa_result = rsa.public_encrypt(message, 3).encode('base64')
如果我在加密时不使用填充,则会收到错误消息:
RSAError: data too small for key size
我理解为什么消息长度(RSA 加密的模数)有上限,但我不明白为什么会有下限。有人可以解释一下或者指出我正确的方向来解决这个问题吗?