Encontré este esquema de implementación de FEA usando RSA y AES:
Supongamos que PKB
es la clave pública de Bob, PKA
es la clave pública de Alice, SKB
es la clave privada de Bob, SKA
es la clave privada de Alice, Ks
es la clave de sesión utilizada por AES, IV
es el vector de inicialización y F
es el texto sin formato.
Supongamos que Alice enviara un mensaje a Bob:
C = E_{PKB}(Ks||IV) || E_{Ks}(F) || Sig_{SKA} (E_PKB(Ks||IV) || E_Ks(F))
Este texto cifrado consta de tres componentes:
E_{PKB}(Ks||IV) - the RSA encrypted AES session key along with IV
E_{Ks}(F) - The AES encrypted plaintext file
Sig_{SKA} (E_PKB(Ks||IV) || E_Ks(F)) - The RSA signature
Cuando Bob recibe el mensaje, verificará y descifrará el texto cifrado.
Esto tiene mucho sentido a excepción de la IV. No sé para qué se usa la IV en este caso. Parece que la IV está simplemente concatenada con la clave de sesión. ¿De qué manera es útil y cómo lidia Bob con el IV al descifrar la clave de sesión? ¿Qué seguridad adicional proporciona esto? Este fue el esquema que presentó mi profesor al hablar de RSA. Es posible que la IV no sea necesaria en absoluto.