我有一个RSA加密文件&我想用.NET中的C#解密它
我有这个人。要解密的(1024位enc)消息(密文)的参数
密文是HEX格式
我知道解密邮件的CRT方法,但不清楚如何使用它
m1 = (ciphertext ^ dP) Mod P
m2 = (ciphertext ^ dQ) Mod Q
h = (qInv * (m1 - m2)) Mod P
m = m2 + (h * Q)
我尝试使用foll namespace
执行解密System.Security.Cryptography
有人可以帮我提供示例代码来实现解密,因为这是我第一次处理解密。
是否有可用的现成API?我只需要传递参数&我会收到所需的输出。
答案 0 :(得分:2)
是的,您可以使用 System.Security.Cryptography 命名空间。 MSDN Reference有些例子只是深入了解 MSDN库。例如,此处有RSACryptoServiceProvider的示例。
答案 1 :(得分:0)
首先创建一个RSAParameters
结构并使用您自己的RSA参数填充它。接下来创建一个RSACryptoServiceProvider
实例,并在先前定义的参数上调用ImportParameters
。此时,您应该能够使用OAEP填充(或不使用OAEP填充)为您的数据调用Decrypt
。
类似于:
RSAParameters p = new RSAParameters ();
p.D = d;
// ... all parameters
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider ();
rsa.ImportParameters (p);
byte[] decrypted = rsa.Decrypt (encrypted, false);