Crittografia a chiave pubblica

Dopo la seconda guerra mondiale i crittografi e i crittoanalisti si orientarono sempre di più verso l'automatizzazione delle operazioni di cifratura e decifratura. Questa tendenza fu notevolmente favorita con l'avvento dei computer e dell'informatica. Contemporaneamente molti matematici si interessarono alla crittografia per cercare nuove strade per cifrare un messaggio. Prima del 1977 i crittografi avevano continuato a utilizzare il cifrario di Cesare modificandolo in vari modi per cui tutte queste tecniche di scrittura segreta avevano la stessa struttura: a un messaggio il mittente A applicava una chiave e inviava al destinatario B il messaggio cifrato. Il destinatario B conoscendo la chiave applicava un procedimento inverso e leggeva il messaggio in chiaro. Per funzionare questa struttura era necessario che il mittente A e il destinatario B avessero la stessa chiave e che le operazioni di cifratura e di decifratura fossero invertibili e quindi simmetriche tra loro. Però, con questo sistema, sorgeva il problema di concordare e comunicare prima la chiave in condizioni di sicurezza. Per eliminare il problema della distribuzione delle chiavi, nel 1975 il crittografo e matematico Whitfield Diffie ipotizzò una struttura diversa: il destinatario B ha due chiavi una pubblica e l'altra privata. Il mittente A utilizza la chiave pubblica per cifrare il messaggio in chiaro e invia il messaggio cifrato al destinatario B che lo decifra con la sua chiave privata e legge il messaggio in chiaro.

In questo modo la chiave per cifrare (quella pubblica) e la chiave per decifrare (quella privata) sono diverse e non occorre più che mittente A e destinatario B concordano quale chiave segreta debbano usare. La chiave pubblica del destinatario B ù reperibile consultando un elenco pubblico mentre la chiave privata è segreta ed è nota solo al destinatario B. Con la chiave pubblica si può cifrare il messaggio in chiaro da inviare al destinatario B ma non si può fare l'operazione inversa cioè decifrare il messaggio una volta che questo ù stato cifrato. Il possesso della chiave pubblica non pregiudica la sicurezza di questo sistema crittografico. Questo è possibile se l'operazione di cifratura e l'operazione di decifratura non siano invertibili almeno in un tempo ragionevole. Attenzione, quando si dice almeno in un tempo ragionevole non vuol dire impossibile ma semplicemente che sia necessario una quantitß di tempo troppo elevata. Per capire la differenza tra la chiave pubblica e la chiave privata, supponiamo che il mittente A voglia inviare un messaggio segreto al destinatario B. Il destinatario B invia al mittente A un'urna vuota chiusa con un lucchetto (chiave pubblica).

Il mittente A infila il messaggio nella fenditura e invia l'urna al destinatario B che avendo la chiave del lucchetto (chiave privata) può aprire l'urna e leggere il messaggio. Il mittente A dopo aver riposto il messaggio nella fenditura non può più accedere al messaggio perchè non ha la chiave del lucchetto che ha solo il destinatario B. Diffie che ebbe questa brillante idea dopo vari tentativi non riuscí ad attuarla concretamente. Si diffuse cosí la convinzione che l'idea era bella in teoria ma impossibile da realizzare. Eppure dopo due anni un matematico Leonard Adleman, e due specialisti in computer Ron Rivest e Adli Shamir trovarono il modo per realizzare l'idea di Diffie e in loro onore questo sistema di scrittura segreta fu chiamato algoritmo RSA.

© giuseppe sarnataro