2010-12-07 7 views
3

Ich möchte ein blind RSA signature in .NET implementieren. Gibt es eine Möglichkeit, die Standard APIs System.Security.Cryptography zu verwenden, um dies zu erreichen?Blind RSA-Signatur mit .NET-Kryptografie-API?

Die „offensichtlich“ Idee nicht funktioniert:

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

ich die Gefahren der blinden Signatur zu schätzen wissen, aber wir diejenigen, für einen Moment ignorieren. Ich bin auch nicht an anderen Arten von digitalen Signaturen interessiert.

Antwort

4

Sie werden sich selbst rollen müssen. Sie können die BigInteger-Klasse von .NET 4 verwenden oder einfach die Bouncycastle C# -Bibliothek verwenden.

1

Sie können die "SignData" -Methode verwenden, um beliebige Daten zu signieren. Es hat Überladungen für Byte-Arrays und Streams. Soweit es die Verblindung betrifft, würden Sie wahrscheinlich verschlüsselte Daten verwenden wollen (indem Sie einen Schlüssel verwenden, der dem Unterzeichner nicht zur Verfügung steht) und das dann unterschreiben.

Verwandte Themen