encriptacion - encriptar y desencriptar rsa en java
¿Algún tutorial sobre cifrado de clave pública en java? (2)
Normalmente, utiliza cifrado de clave pública para encriptar una clave simétrica, en parte porque el cifrado de clave pública es muy lento. Normalmente, le enviará al destinatario lo siguiente, para que pueda descifrar su mensaje:
- La clave simétrica, encriptada con la clave pública del destinatario.
- Parámetros para los algoritmos utilizados, generalmente un vector de inicialización para el cifrado simétrico.
- Identificadores para los algoritmos de encriptación utilizados.
- El texto cifrado: el mensaje real, encriptado bajo el cifrado simétrico.
Encontré el código de muestra en la documentación de JCE suficiente para que las cosas funcionen.
El formato estándar para agrupar toda esta información es la Sintaxis de mensaje criptográfico, o CMS, que S / MIME utiliza en las aplicaciones de correo electrónico. Recomiendo usar las bibliotecas de Bouncy Castle ; son sólidos, bastante simples y se mantienen activamente. La documentación de referencia es un poco débil, pero proporcionan ejemplos de código.
He podido encontrar información sobre cifrado y hash simétricos, pero he estado teniendo problemas para encontrar mucha información sobre cualquier tipo de cifrado de clave pública para Java. Lo que me gustaría hacer es crear un programa de prueba de concepto muy simple que tome una cadena (o un archivo, supongo), lo encripta con una clave pública y luego lo descifra con una clave privada.
Cualquier enlace tutorial o ejemplos serían apreciados. Solo quiero hacer algo que demuestre cómo se puede usar el cifrado de clave pública en Java.
Hay bastantes recursos en la web sobre eso. Básicamente, da la vuelta a la clase KeyPairGenerator.
Consulte http://www.informit.com/articles/article.aspx?p=170967&seqNum=4 para ver un programa de ejemplo.