2010-12-07 14 views
3

Je voudrais implémenter un blind RSA signature dans .NET. Est-il possible d'utiliser les API standard System.Security.Cryptography pour y parvenir?Signature RSA aveugle utilisant l'API de cryptographie .NET?

L'idée « évidente » ne fonctionne pas:

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

J'apprécie les dangers de la signature aveugle, mais nous allons ignorer ceux pour un moment. En outre, je ne suis pas intéressé par d'autres types de signatures numériques.

Répondre

4

Vous allez devoir vous rouler. Vous pouvez utiliser la classe BigInteger de .NET 4 ou simplement utiliser la bibliothèque Bouncycastle C#.

1

Vous pouvez utiliser la méthode "SignData" pour signer les données de votre choix. Il a des surcharges pour les tableaux d'octets et les flux. En ce qui concerne l'aveuglement, vous voudrez probablement utiliser des données cryptées (en utilisant une clé non disponible pour le signataire), puis la signer.

Questions connexes