Pregunta

He podido encontrar información sobre cifrado simétrico y hashing, pero he tenido muchos problemas para encontrar mucha información sobre cualquier tipo de cifrado de clave pública para Java. Lo que me gustaría hacer es hacer un programa de prueba de concepto muy simple que tome una cadena (o un archivo, supongo), lo cifra con una clave pública y luego lo descifra con una clave privada.

Cualquier enlace tutorial o ejemplos serán apreciados. Solo quiero hacer algo que demuestre cómo puede usar el cifrado de clave pública en Java.

¿Fue útil?

Solución

Hay bastantes recursos en la web sobre eso. Básicamente gira alrededor de la clase KeyPairGenerator.

Ver http://www.informit.com/articles/article .aspx? p = 170967 & amp; seqNum = 4 para un programa de ejemplo.

Otros consejos

Normalmente, utiliza el cifrado de clave pública para cifrar una clave simétrica, en parte porque el cifrado de clave pública es muy lento. Por lo general, enviaría al destinatario lo siguiente, para que pueda descifrar su mensaje:

  1. La clave simétrica, encriptada con la clave pública del destinatario.
  2. Parámetros para los algoritmos utilizados, generalmente un vector de inicialización para el cifrado simétrico.
  3. Identificadores para los algoritmos de cifrado utilizados.
  4. El texto cifrado & # 8212; el mensaje real, cifrado bajo el cifrado simétrico.

Encontré el código de muestra en el JCE documentación 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 bibliotecas de Bouncy Castle ; son sólidos, bastante simples y mantenidos activamente. La documentación de referencia es un poco débil, pero proporcionan ejemplos de código.

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