La crittografia a chiave pubblica è un tipo di architettura di cifratura nota come crittografia a chiave pubblica che utilizza due chiavi o una coppia di chiavi per crittografare e decrittografare i dati. Una delle due chiavi è una chiave pubblica, che chiunque può utilizzare per crittografare un messaggio per il proprietario di quella chiave. Il messaggio crittografato viene inviato e il destinatario utilizza la propria chiave privata per decrittografarlo. Questa è la base della crittografia a chiave pubblica.
Questo tipo di crittografia è considerato molto sicuro perché non richiede una chiave condivisa segreta tra il mittente e il destinatario. Altre tecnologie di crittografia che utilizzano un’unica chiave condivisa per crittografare e decrittografare i dati si affidano a entrambe le parti che decidono in anticipo una chiave senza che altre parti scoprano quale sia quella chiave. Il fatto che debba essere condiviso tra entrambe le parti apre però la porta a terzi che intercettano la chiave. Questo tipo di tecnologia di crittografia è chiamata crittografia simmetrica, mentre la crittografia a chiave pubblica è nota come crittografia asimmetrica.
Una “chiave” è semplicemente una piccola parte di codice di testo che attiva l’algoritmo associato per codificare o decodificare il testo. Nella crittografia a chiave pubblica, una coppia di chiavi viene generata utilizzando un programma di crittografia e la coppia è associata a un nome o a un indirizzo e-mail. La chiave pubblica può quindi essere resa pubblica inviandola a un key server, un computer che ospita un database di chiavi pubbliche. In alternativa, la chiave pubblica può essere condivisa in modo discriminatorio inviandola tramite e-mail ad amici e colleghi. Coloro che possiedono la chiave pubblica possono utilizzarla per crittografare i messaggi alla persona o all’indirizzo e-mail a cui è associato. Dopo aver ricevuto il messaggio crittografato, la chiave privata della persona lo decrittograferà.
La crittografia a chiave pubblica è particolarmente utile per mantenere private le e-mail. Tutti i messaggi archiviati sui server di posta, che possono persistere per anni, saranno illeggibili e anche i messaggi in transito saranno illeggibili. Questo grado di privacy può sembrare eccessivo finché non ci si rende conto della natura aperta di Internet. L’invio di e-mail non crittografate equivale a renderle pubbliche affinché chiunque possa leggerle ora o in una data futura.
Il programma di crittografia a chiave pubblica più conosciuto e rispettato è PGP (Pretty Good Privacy), che offre crittografia di livello militare. PGP dispone di plug-in per la maggior parte dei principali client di posta elettronica in modo che i client lavorino di concerto con PGP per crittografare i messaggi in uscita e decrittografare automaticamente i messaggi in entrata. PGP mantiene un “anello di chiavi” o un file di chiavi pubbliche raccolte. Un indirizzo e-mail può essere associato a una chiave in modo che il client di posta estragga automaticamente la chiave pubblica corretta dal keyring PGP per crittografare il messaggio al momento dell’invio. Utilizzerà anche automaticamente una chiave privata per decrittografare la posta in arrivo. Per utilizzare la crittografia a chiave pubblica per la posta elettronica, sia il mittente che il destinatario devono disporre di un software di crittografia installato.
Programmi come PGP hanno anche la capacità di firma digitale integrata. Con questa funzione, i messaggi inviati possono essere firmati digitalmente con il clic di un pulsante, in modo che il destinatario sappia che il messaggio non è stato manomesso durante il viaggio ed è autentico, o dal mittente indicato . La crittografia a chiave pubblica può essere utilizzata anche per l’archiviazione sicura dei file di dati. In questo caso, la chiave pubblica viene utilizzata per crittografare i file mentre la chiave privata li decrittografa.