nunca trabajo con la biblioteca de cifrado, pero quiero encriptar una cadena con clave privada y descifrarla mediante clave pública. cómo lograr esto en C#. por favor, ayúdenme con un pequeño fragmento de código. graciasCómo cifrar una cadena con clave privada y descifrar con clave pública?
Respuesta
AFAIK, aunque técnicamente no hay diferencias en las matemáticas entre una clave pública y privada, debe usarlas consistentemente por razones de seguridad.
Está solicitando encriptar con la clave privada y descifrarla con la clave pública. Por lo general, este es el camino equivocado. Si desea ir en esta dirección, generalmente es una operación llamada "firma digital".
Si firma con la clave privada de modo que sea reversible con la clave pública , entonces no es realmente un secreto. Supongo que solo intenta autenticar el mensaje como legítimo del remitente. Lo que necesita son firmas digitales, que aún se realizan con la clave public-key-private-key (o "asimétrica").
Con las firmas digitales, el mensaje en sí no es secreto (no es necesario ya que cualquier persona con la clave pública podría descifrarlo de todos modos) pero está acompañado de datos adicionales, basados en el mensaje, que se puede verificar con la clave pública y podría solo han sido computados por alguien con la clave privada correspondiente.
Se vería algo como lo siguiente. Ahora solo tienes que averiguar dónde conseguirás la llave.
static byte[] GenerateDigitalSignature(byte[] data, RSAParameters asymmetricKey)
{
using (var rcsp = new RSACryptoServiceProvider())
using (var cp = new SHA1CryptoServiceProvider())
{
rcsp.ImportParameters(asymmetricKey);
return rcsp.SignData(data, cp);
}
}
Esto simplemente firma los datos. No lo encripta. –
Sí ............ –
- 1. simple cifrar/descifrar lib en python con clave privada
- 2. C/C++ cifrar/descifrar con la clave pública
- 3. cifrar y descifrar una cadena de texto con RSA y DES3 clave
- 4. Uso de una clave pública de RSA para descifrar una cadena cifrada con la clave privada de RSA
- 5. Cómo almacenar clave privada y clave pública en KeyStore
- 6. Encriptar y descifrar cadena con clave PHP
- 7. Lectura de clave pública/privada de la memoria con OpenSSL
- 8. Clave de Apple clave privada/pública cuestión
- 9. Cómo cifrar datos con clave pública en NodeJS?
- 10. Generar privada y la clave pública OpenSSL
- 11. Encriptación con la aplicación clave pública/privada en .net
- 12. Dada una clave privada, ¿es posible derivar su clave pública?
- 13. cómo funciona la criptografía con clave pública
- 14. Excepción de "clave incorrecta" para certificados con clave privada exportable
- 15. ¿Cómo combinar una clave privada y una clave pública de un secreto compartido en Java
- 16. Crear un almacén de claves desde una clave privada y una clave pública
- 17. Cifrado de datos con clave pública en node.js
- 18. Encriptación de una clave privada con BouncyCastle
- 19. ¿Cómo hago SCP con Ruby y una clave privada?
- 20. ¿Es posible encriptar con clave privada usando .NET RSACryptoServiceProvider?
- 21. enviar la clave pública RSA para iPhone y utilizarlo para cifrar
- 22. Encriptación de la clave AES con la clave pública RSA
- 23. Encriptación con clave privada RSA en Java
- 24. ¿Protege PII en la base de datos de aplicaciones web al cifrar con clave pública emparejada con clave privada protegida por las propias contraseñas de los usuarios?
- 25. ¿Criptografía de clave pública con contraseñas elegidas por el usuario?
- 26. ¿Cómo leer una clave privada para usar con OpenSAML?
- 27. ¿Cómo descifrar una cadena cifrada con HMACSHA1?
- 28. ¿Cómo extraer la clave pública usando OpenSSL?
- 29. Cómo cifrar y descifrar un archivo con Qt/C++?
- 30. cifrar-descifrar con AES usando C/C++
No debe cifrar cadenas arbitrarias con RSA. Debe encriptar una clave simétrica ** acolchada correctamente ** generada aleatoriamente con RSA. – CodesInChaos
@CodeInChaos: acepto que eso es lo que RSA se usa la mayor parte del tiempo, pero usar RSA no se limita a eso. –
AFAIK RSA no es seguro para codificar cadenas arbitrarias no acolchadas. – CodesInChaos