GPG --- Il sistema di crittografia più diffuso nel mondo del software libero è OpenPGP, ed in particolare la sua implementazione libera GNU Privacy Guard, abbreviato GnuPG o GPG. Oltre ad essere adatto alla crittografia e/o firma di comunicazioni digitali da scambiare ad esempio via email, è lo strumento usato per la firma dei rilasci di software libero ed internamente dai gestori di pacchetti delle distribuzioni GNU/Linux per la verifica di quanto installato. La corretta identificazione dei proprietari delle chiavi gpg è affidata ad una Web of Trust, popolata anche tramite keysigning party che si tengono in occasione degli incontri della comunità del software libero. Sebbene per motivi di efficienza usi internamente anche degli algoritmi di crittografia simmetrica, all'utente appare come un sistema a chiave asimmetrica. Usando gpg o uno dei suoi front-end grafici si genera una coppia di chiavi pubblica e privata; per le normali esigenze si potranno accettare i default di tutte le scelte proposte, ma è fondamentale usare una passphrase sicura, non una semplice parola, ma una combinazione di più parole, in modo da avere una lunghezza significativa, difficile da indovinare ma facile da ricordare. Una volta generata la coppia di chiavi si può iniziare ad usare gpg, ma prima è meglio prendere alcune precauzioni: innanzitutto generare un certificato di revoca, da usare in caso di smarrimento o compromessione della chiave, quindi fare una copia della chiave privata e del certificato di revoca e custodirle in un luogo sicuro. A questo punto è possibile inviare la propria chiave pubblica ad uno dei keyserver usati dalla comunità del software libero e degli utenti gpg, così da facilitarne la reperibilità. Infine, si può impostare il proprio client di posta per firmare automaticamente i messaggi inviati e per verificare le firme presenti sui messaggi ricevuti. Per entrare nella Web of Trust sarà necessario incontrare di persona altri utenti gpg, verificare reciprocamente l'identità controllando anche un documento ufficiale (carta d'identità, passaporto, patente...) e scambiarsi i fingerprint delle rispettive chiavi. In un secondo tempo, dal proprio computer, si potranno scaricare le chiavi da un keyserver, controllare la corrispondenza dei fingerprint e quindi firmare le chiavi altrui con la propria, in modo da testimoniare la loro appartenenza alla persona incontrata. In questa fase è anche possibile impostare un grado di fiducia nelle firme apposte da un certo utente a chiavi altrui, scegliendo se accettarle indiscriminatamente (sconsigliato), se accettarle purché corroborate da altre testimonianze concordanti o se ignorarle (ad esempio nel caso di persone propense a firmare qualunque chiave senza le opportune verifiche).