如何使用.NET Framework 进行RSAES-OAEP 加解密?

How to perform RSAES-OAEP encryption and decryption using .NET Framework?

问题相当简单 - RSAES-OAEP 是否可以使用内置的加密原语?如果没有,BouncyCastle 等第 3 方库是否能够提供此类功能?

这样做的目的是加密 256 位 AES 密钥。

是的,使用 .NET Framework 是可能的,是的,使用 BouncyCastle 也是可能的(后来通过检查源代码确认,因为 .NET 版本的 BouncyCastle 的官方文档似乎很少)。

一些 .NET 框架 类 你应该看看:

  1. RSACryptoServiceProvider (MSDN) - 该页面底部有一个基本加密和解密示例。请注意,EncryptDecrypt 的布尔第二个参数应作为 true 传递给 OAEP 填充。

  2. RSAOAEPKeyExchangeFormatter / RSAOAEPKeyExchangeDeformatter (MSDN) 在页面底部还有一个示例,在本例中说明了您交换 AES 密钥的具体情况。