Ho bisogno di implementare la sicurezza per la comunicazione client-server. Ho implementato il seguente hybrid cryptosystemCome comunicare l'inizializzazione di AES Vector to client per il crittosistema ibrido
Per crittografare un messaggio indirizzato a Alice in un sistema crittografico ibrido, Bob fa la seguente:
- Ottiene la chiave pubblica di Alice.
- Genera una nuova chiave simmetrica per lo schema di incapsulamento dei dati.
- Crittografa il messaggio nello schema di incapsulamento dei dati, utilizzando la chiave simmetrica appena generata.
- Cifra la chiave simmetrica nello schema di incapsulamento della chiave, utilizzando la chiave pubblica di Alice.
- Invia entrambe queste crittografie ad Alice.
per decifrare questo testo cifrato ibrido, Alice esegue le seguenti operazioni:
- usa la sua chiave privata per decifrare la chiave simmetrica contenuta nel segmento incapsulamento chiave.
- utilizza questa chiave simmetrica per decrittografare il messaggio contenuto nel segmento di incapsulamento dei dati.
Sto utilizzando RSA per un crittosistema a chiave pubblica e AES per crittosistema a chiave simmetrica. Ogni cosa funziona, ma non sono sicuro di come gestire il vettore di inizializzazione di AES. Attualmente concedo la chiave AES e il vettore di inizializzazione crittografandolo con la chiave pubblica e inviandolo al server.
Volevo solo avere qualche opinione su questo approccio. Come questo problema è risolto da altri protocolli di comunicazione SSL ecc.
Grazie.