Gli algoritmi asimmetrici (entrando nei crittosistemi a chiave pubblica) permettono di liberarsi dei problemi legati allo scambio di chiave attraverso un canale sicuro. Tuttavia, quest'ultimi restano molto meno efficaci (in termini di tempo di calcolo) rispetto agli algoritmi simmetrici.
La nozione di chiave di sessione è un compromesso tra la cifratura simmetrica e asimmetrica che permette di combinare le due tecniche. Il principio della chiave di sessione è semplice: consiste nel generare aleatoriamente una chiave di sessione di dimensioni ragionevoli, e di codificare quest'ultima attraverso un algoritmo di cifratura a chiave pubblica (più esattamente attraverso la chiave pubblica del destinatario):
Il destinatario è capace di decifrare la chiave di sessione attraverso la propria chiave privata. Così, mittente e destinatario sono in possesso di una chiave comune di cui sono i soli conoscitori. È loro possibile quindi inviarsi dei documenti cifrati tramite un algoritmo di cifratura simmetrico.
L'algoritmo di Diffie-Hellman (dal nome dei suoi inventori Diffie e Hellman) è stato messo a punto nel 1976 per permettere lo scambio di chiavi attraverso un canale non sicuro. Si basa sulla difficoltà di calcolo dell'algoritmo discreto in un corpo finito.
L'algoritmo di Diffie-Hellman è comunque sensibile all'attacco Man in the middle (tradotto a volte in "attacco uomo nel mezzo"). Per maggiori informazioni:
RFC 2631 - Diffie-Hellman Key Agreement Method;
RFC 2875 - Diffie-Hellman Proof-of-Possession Algorithms.
Foto: © Pixabay.