Backstory
El sistema que estoy diseñando requiere mensajes cifrados y autenticación de mensajes. AES-GCM parece ser la opción lógica debido a sus capacidades de autenticación y alto rendimiento.
La clave utilizada para cifrar un mensaje generalmente se genera aleatoriamente por mensaje y se cifra mediante la clave pública del destinatario. La clave cifrada se envía junto con el mensaje.
En general, no hay una clave persistente entre ambas partes.
Ejemplo
Tomemos el siguiente mensaje como ejemplo:
{
"timestamp": "2017-01-01",
"encryptedMessage": "...",
"sign": "..."
"key": "..."
}
El valor "timestamp" está en texto claro, "encryptedMessage" encrypted, "sign" contiene la firma RSA de "timestamp" y "key" guarda la clave cifrada. En este ejemplo. ¿Tendría sentido también firmar "mensajes encriptados"?
aclaración de la pregunta
¿Hay algún beneficio al utilizar la firma RSA sobre la autenticidad proporcionada por AES-GCM?
¿Tendría sentido firmar un mensaje ya cifrado mediante AES-GCM?