GPG (GNU Privacy Guard) is een vrije implementatie van de OpenPGP-standaard voor het versleutelen en ondertekenen van bestanden en berichten.
Versleutelen — een bestand versleutelen zodat alleen de ontvanger het kan lezen:
gpg --encrypt --recipient anna@voorbeeld.nl geheim.txt
gpg --decrypt geheim.txt.gpg
Ondertekenen — bewijzen dat een bestand van jou afkomt en niet gewijzigd is:
gpg --sign bestand.tar.gz # handtekening toevoegen
gpg --verify bestand.tar.gz.sig # handtekening controleren
GPG gebruikt asymmetrische cryptografie: een publieke sleutel (geef je weg) en een privésleutel (bewaar je geheim). Wat met de publieke sleutel versleuteld is, kan alleen de privésleutel ontsleutelen.
Linux-distributies gebruiken GPG om pakketbronnen te ondertekenen. apt en dnf controleren automatisch of pakketten van een vertrouwde bron komen.