GnuPG est l'abréviation de GNU Privacy Guard. GnuPG est un clone de PGP (Pretty Good Privacy).
PGP est une implémentation de l'algorythme RSA créé par Rivest, Shamir et Adleman d'où son nom, réalisée par Philip Zimmerman.
GnuPG est une implémentation libre (au sens de la GNU Public Licence) de PGP. Il respecte la norme OpenPGP (RFC2440).
GnuPG permet de chiffrer des communications par le biais d'un algorythme de chiffrement à clés asymétriques, c'est à dire qu'une clé permet de signer le texte, et qu'une autre clé sert à crypter le texte.
GnuPG et PGP utilisent tous les deux un système de chiffrement par clés asymétriques. Ils sont compatibles, c'est à dire que les clés générées avec l'un sont utilisables avec l'autre, et que les messages chiffrés par l'un peuvent être dechiffrés par l'autre.
Les algorythmes de chiffrement par clés asymétriques fonctionnent grâce à deux clés: une clé publique et une clé privée.
Votre clé publique permet à n'importe qui de chiffrer un message qui vous est destiné, alors que votre clé privée vous permettra de déchiffrer ce message.
Votre clé privée sert aussi à signer un message que vous envoyez, et votre clé publique permet à la personne à qui vous envoyez le message de vérifier que vous en êtes bien l'auteur.
Les clés publique (Cpu) et clés privées (Cpr) sont choisie de telle sorte que :
F(F(message,Cpu),Cpr)=F(F(message,Cpr),Cpu)="une constante indépendante du message"