Ciegos firma RSA utilizando la API de criptografía de .NET?
-
09-10-2019 - |
Pregunta
Me gustaría implementar un RSA firma ciega en .NET. ¿Hay alguna manera de utilizar las API estándar System.Security.Cryptography
para lograr esto?
La idea "obvio" no funciona:
using (var rsa = new RSACryptoServiceProvider())
signed = rsa.Decrypt(messageBytes, false);
// CryptographicException: bad data
Me apreciar los peligros de la firma ciega, pero vamos a ignorar los de un momento. Además, no estoy interesado en otros tipos de firmas digitales.
Solución
Usted va a tener que tirar de su propiedad. Puede utilizar la clase de .NET BigInteger 4 o simplemente utilizar la biblioteca # BouncyCastle C.
Otros consejos
Se puede utilizar el método "SignData" a firmar cualquier dato que le gustan. Tiene sobrecargas para las matrices de bytes y arroyos. En cuanto a la cegadora ocurre, es probable que desee utilizar los datos cifrados (usando una clave no está disponible para el firmante) y luego firmar eso.