Mi sono imbattuto in questo schema di implementazione FEA usando RSA e AES:
Supponi che PKB
sia la chiave pubblica di Bob, PKA
è la chiave pubblica di Alice, SKB
è la chiave privata di Bob, SKA
è la chiave privata di Alice, Ks
è la chiave di sessione utilizzata da AES, IV
è il vettore di iniitizzazione e F
è il testo in chiaro.
Supponiamo che Alice debba inviare a Bob un messaggio:
C = E_{PKB}(Ks||IV) || E_{Ks}(F) || Sig_{SKA} (E_PKB(Ks||IV) || E_Ks(F))
Questo testo cifrato è costituito da tre componenti:
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
Quando Bob riceve il messaggio, verificherà e decodificherà il testo cifrato.
Questo ha perfettamente senso tranne che per la IV. Non so per cosa sia usato IV in questo caso. Sembra che l'IV sia semplicemente concatenato con la chiave di sessione. Com'è utile e in che modo Bob si occupa della IV quando decodifica la chiave di sessione? Quale ulteriore sicurezza fornisce? Questo era lo schema che il mio professore ha presentato parlando di RSA. Potrebbe essere possibile che l'IV non sia affatto necessario.