Un paquet de clé de session crypté par clé publique contient la clé de session utilisée pour crypter le message. Il peut y avoir ou non un ou plusieurs paquets de clés de sessions cryptées (clé publique ou clé symétrique) précédant un paquet de données cryptées symétriquement contenant un message crypté. Le message est crypté avec la clé de session, et la clé de session est elle-même cryptée et enregistrée dans le(s) paquet(s) de clés de sessions cryptées. Le paquet de données cryptées symétriquement est précédé par un paquet de clé de session cryptée par clé publique pour chaque clé OpenPGP avec laquelle le message est crypté. Le receveur du message trouve une clé de session qui est cryptée avec sa clé publique, décrypte la clé de session et l'utilise pour décrypter le message.
Le corps de ce paquet est constitué de :
Un nombre d'un octet donnant la version du type du paquet. La valeur définie courante pour la version de paquet est 3. Une implémentation devrait accepter, mais non générer une version 2 qui est, pour le reste équivalente à la version 3.
Un nombre de huit octets qui fournit l'identificateur de la clé publique avec laquelle la clé de session a été crypté.
Un nombre d'un octet donnant l'algorithme de clé publique utilisée.
Une chaîne d'octets qui est la clé de session cryptée. Cette chaîne prend en charge le reste du paquet et son contenu dépend de l'algorithme de clé publique utilisée.
entier multi-précision (MPI) de valeur cryptée RSA m**e mod n.
MPI de valeur Elgamal (Diffie-Hellman) g**k mod p
MPI de valeur Elgamal (Diffie-Hellman) m * y**k mod p
Remarquez que lorsqu'une implémentation forme plusieurs PKESK avec une clé de session, formant un message qui peut être décrypté par plusieurs clés, l'implémentation DOIT faire à nouveau un étoffage PKCS-1 pour chaque clé.
Une implémentation PEUT accepter ou utiliser zéro comme identificateur de clé << joker >> ou << supposé >>. Dans ce cas, l'implémentation réceptrice essayera toutes les clés privées disponibles, en cherchant une clé de session décryptée valide. Ce format aide à réduire le trafic des analyses de messages.