Referencia: enlace
Quiero compartir de forma segura una clave simétrica entre dos puntos finales utilizando la interfaz EVP de OpenSSL. Transferir la clave simétrica cifrada y descifrarla en el otro extremo funciona bien, pero eso me deja solo con el remitente, ya que la función SealInit genera una clave simétrica aleatoria y la cifra inmediatamente con la clave pública del receptor.
Entonces, mi pregunta es, ¿cómo se supone que debo usar estas funciones?
Podría resolverlo por:
a) Generar una clave simétrica de antemano y cifrarla con la clave pública del receptor, lo que hace que parte de la operación de sellado sea inútil
o
b) Usar una clave simétrica separada tanto para el remitente como para el receptor, que parece innecesariamente complejo
Dado que ninguna de las dos opciones me parece una buena solución, creo que debo estar perdiendo algo o entendiendo mal algunos conceptos básicos, ya que el cifrado es nuevo para mí.
Gracias por leer mi pregunta.