Crittografia a chiave segreta e a chiave pubblica

La crittografia tradizionale e' basata su una chiave segreta.
Un mittente che vuole inviare un messaggio cifrato a qualcuno, lo cifra usando una chiave segreta ed il destinatario lo decifra usando la stessa chiave segreta.
Ovviamente, sia il mittente che il ricevente di quel messaggio devono conoscere la stessa chiave segreta.
Questo metodo e' conosciuto come crittografia a chiave segreta o crittografia simmetrica.
Il problema principale e': il mittente ed il ricevente devono accordarsi su una chiave segreta comune, e devono usare un canale sicuro per scambiarsi questa informazione.
Cosi' potrebbero usare un corriere fidato, il telefono o...il mittente potrebbe cifrare la chiave segreta! Bene, ma come puo' il mittente cifrare la chiave? Il ricevente non potrebbe decifrarla, perche' non conosce la chiave stessa! Cosi', si potrebbe usare il sistema telefonico, certo, ma qualcuno potrebbe intercettare la telefonata...Allora si potrebbe usare un corriere fidato, certo, ma il corriere potrebbe essere corrotto...Per queste ragioni venne inventato un altro sistema di crittografia: il sistema a chiave pubblica (chiamato anche sistema crittografico asimmetrico).
Il concetto di crittografia a chiave pubblica fu introdotto nel 1976 da Whitfield Diffie e Martin Hellman.
Bene, ma come funziona questo sistema? Semplice: ogni persona ha una coppia di chiavi, una pubblica ed una privata (chiave privata e chiave segreta sono sinonimi qui).
La chiave pubblica di ciascuna persona e' pubblicata ed accessibile a tutti - in modo che chiunque la voglia usare lo possa fare - mentre la chiave privata e' tenuta segreta.
E' tutto! Nessuna informazione segreta deve viaggiare dal mittente al ricevente.
Cosi', se vuoi comunicare con qualcuno crittografando il messaggio, tutto quello che devi fare e' usare la sua chiave pubblica.
Il ricevente di tale messaggio, puo' poi decifrarlo usando la sua chiave privata.
In altre parole: c' e' un legame tra la chiave pubblica e la sua corrispondente chiave privata.
Nessuno puo' recuperare la chiave privata dalla sua corrispondente chiave pubblica! Cosi', solo il destinatario prestabilito puo' decifrare un messaggio a lui indirizzato tramite la sua chiave privata! Grandioso no? Beh, purtroppo c' e' un problema; cioe': la chiave pubblica e' associata al reale destinatario a cui voglio inviare un messaggio crittografato? Per esempio: voglio rendere pubblica la mia chiave 'Topolino'.
La metto sulla rete e dico: 'Salve! Questa e' la mia chiave pubblica: Topolino.
Mandami un messaggio!'.
Poi qualche tizio briccone [...]

Leggi tutto l'articolo