Riferimento: link
Voglio condividere in modo sicuro una chiave simmetrica tra due endpoint utilizzando l'interfaccia EVP di OpenSSL. Il trasferimento della chiave simmetrica crittografata e la sua decifrazione sull'altra estremità funziona bene, ma questo mi lascia solo con il mittente, poiché la funzione SealInit genera una chiave simmetrica casuale e la crittografa immediatamente con la chiave pubblica del destinatario.
Quindi la mia domanda è, come dovrei usare queste funzioni?
Potrei risolverlo con:
a) Generare preventivamente una chiave simmetrica e crittografarla con la chiave pubblica del ricevitore, il che rende una parte dell'operazione di sigillatura inutile
o
b) Utilizzo di una chiave simmetrica separata per il mittente e il destinatario, che sembra inutilmente complessa
Poiché nessuna delle due opzioni mi sembra una buona soluzione, penso che mi debba mancare qualcosa o fraintendere alcuni concetti di base, poiché la crittografia è nuova per me.
Grazie per aver letto la mia domanda.