OpenPGP garantit des fonctionnalités d'intégrité de données pour les messages et les fichiers de données en utilisant les méthodes fondamentales suivantes :
signature numérique
cryptage
compression
conversion radix-64
OpenPGP utilise deux méthodes de cryptage pour garantir la confidentialité : le cryptage à clé symétrique et le cryptage à clé publique. Pour le cryptage par clés publiques, cela est réalisé en utilisant un algorithme symétrique de cryptage. Chaque clé symétrique est utilisée seulement une fois. Une nouvelle clé, propre à la session (<< session key >>) est générée comme un nombre aléatoire à chaque message. Comme elle n'est utilisée qu'une seule fois, la clé est associée au message et transmise avec. Pour protéger la clé, celle-ci est cryptée avec la clé publique du destinataire. La séquence est la suivante :
L'émetteur crée un message.
OpenPGP (côté émission), génère un nombre aléatoire qui sera utilisé comme clé de session, pour ce message seulement.
La clé de session est cryptée en utilisant la/les clé(s) publique(s) de chaque destinataire. Le message commence par cette clé cryptée.
OpenPGP (côté émission), crypte le message en utilisant la clé de session qui forme le reste du message. Il est à noter qu'il est d'usage de compresser aussi le message.
OpenPGP (côté réception), décrypte la clé de session en utilisant la clé privée du destinataire.
OpenPGP (côté réception), décrypte le message en utilisant la clé de session. Si le message était compressé, il sera décompressé.
La signature numérique, les services de confidentialité peuvent être appliqués tous les deux au même message. Premièrement, une signature est générée pour le message et y est attachée. Ensuite, le message et la signature sont cryptés à l'aide d'une clé de session symétrique. Enfin, la clé de session est cryptée grâce à la clé publique de cryptage et le tout est positionné devant le bloc crypté.