C# OpenSSL RSA 私钥加密

本文关键字:加密 私钥 RSA OpenSSL | 更新日期: 2023-09-27 18:35:26

我在使用OpenSSL库的.Net包装器来计算一组字节的RSA私钥加密时遇到了一些问题。

目前,我在包含我要使用的私钥的 .pem 文件中读取到 BIO 对象中。

public byte[] ComputeRSAEncryption(byte[] dataBlock, BIO privateKey)
{
   RSA rsa = RSA.FromPrivateKey(privateKey);
   return rsa.PrivateEncryption(dataBlock, RSA.Padding.None);
}

我使用的是大小为 64 字节、数据块大小为 64 字节的 RSA 密钥。调用上述方法时,我收到错误:

数据对于模量来说太大

但是,如果我使用大小为 64 字节的数据块,其中所有字节都设置为0x00该方法可以正常工作。

我错过了什么吗?

谢谢。

C# OpenSSL RSA 私钥加密

我终于解决了这个问题。对于其他任何感兴趣的人,数据块的最低有效字节必须具有0x00值。通过强制实施此条件,RSA 加密和解密就像一个魅力。