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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top