使用.NET加密API的盲RSA签名?

时间:2010-12-07 00:17:21

标签: .net encryption cryptography rsa encryption-asymmetric

我想在.NET中实现blind RSA signature。有没有办法使用标准System.Security.Cryptography API来实现这一目标?

“显而易见”的想法不起作用:

using (var rsa = new RSACryptoServiceProvider())
  signed = rsa.Decrypt(messageBytes, false);
                // CryptographicException: bad data

我很欣赏盲目签名的危险,但让我们暂时忽略它们。另外,我对其他类型的数字签名不感兴趣。

2 个答案:

答案 0 :(得分:4)

你将不得不自己动手。您可以使用.NET 4的BigInteger类,或者只使用Bouncycastle C#库。

答案 1 :(得分:1)

您可以使用“SignData”方法对您喜欢的任何数据进行签名。它具有字节数组和流的重载。在盲目性的情况下,你可能想要使用加密数据(使用签名者不可用的密钥),然后签名。