Nel giugno 1991 lo statunitense Philip Zimmermann realizza e distribuisce gratuitamente il programma PRETTY GOOD PRIVACY (PGP) un programma di crittografia diventato ormai uno standard (tanto che l'insegnamento del suo utilizzo è previsto nel master per la sicurity dell'università di Milano) permette di mantenere la privacy e la sicurezza dei propri dati personali in formato elettronico. Per la realizzazione di PGP, Zimmermann viene citato in tribunale dalla RSA Data Security Inc. per violazione del brevetto sull'algoritmo RSA, e accusato dal governo degli Stati Uniti di esportazione illegale di strumenti crittografici. Entrambe le cause finiscono nel nulla. L'accusa di esportazione illegale viene ritirata nel 1996, mentre la controversia con RSA verrà mediata da una successiva collaborazione tra le due parti per la realizzazione delle versioni successive del software.
PGP, come avrete capito, è un programma di crittografia, anzi, il programma di crittografia per eccellenza, che garantisce la segretezza della posta (ma non solo), l'autenticazione con firma digitale e la compressione. Il software in questione non fa altro che implementare in pratica i sistemi visti fino a questo momento, utilizzando un sistema di crittografia misto con tre algoritmi: il sistema a chiavi pubbliche RSA, quello a chiavi private IDEA e l'algoritmo di hashing MD5. È distribuito gratuitamente per l'uso personale e può essere scaricato dal sito www.pgp.com.
Il suo funzionamento è molto semplice: ammettiamo che l'utente A voglia spedire all'utente B un messaggio. PGP cifra tale messaggio utilizzando IDEA con una chiave K generata casualmente che verrà inviata all'utente B cifrata con al sua chiave pubblica con l'algoritmo RSA, insieme al messaggio cifrato con IDEA. In questo modo solo B può, con la propria chiave Privata, recuperare la chiave K ed usarla per leggere il resto del messaggio.
Come detto nei paragrafi precedenti, gli algoritmi a chiave pubblica risolvono anche il problema della firma digitale e con PGP è possibile firmare i messaggi, o meglio una loro sintesi creata tramite l'algoritmo MD5.
Ogni utente del programma, dopo la procedura di installazione, possiede quindi due chiavi, una privata (da mantenere nel o nei pc che si utilizzano) e una pubblica. PGP prevede la creazione di archivi pubblici elettronici che contengano le chiavi pubbliche dei vari utenti. È importante molto importante utilizzare questo tipo di supporti per dare la massima diffusione della propria chiave pubblica e consentire a tutti di poter comunicare con noi in modo sicuro.