PGP and OpenPGP glossary: 82 terms explained in plain English
Short, plain definitions of the words you meet in PGP and GnuPG documentation, error messages and the OpenPGP standard. Where RFC 9580 or the GnuPG manual defines a term, the definition here follows it. Terms are in alphabetical order.
Jump to: A · B · C · D · E · F · G · H · I · K · L · M · O · P · R · S · T · U · V · W · X
- AEAD (authenticated encryption)
- Encryption that also detects any change to the encrypted data, in one step. RFC 9580 uses it in version 2 of the integrity-protected data packet. OCB is required, while EAX and GCM are optional.
- AES
- The Advanced Encryption Standard, the symmetric cipher used for almost all OpenPGP encryption today. RFC 9580 requires AES-128 and recommends AES-256. AES-192 is also defined.
- Argon2
- A method of turning a passphrase into a key that deliberately uses a lot of memory and time, so guessing passphrases is expensive. RFC 9580 added it for protecting secret keys (the Argon2id variant, only with AEAD protection).
- ASCII armor
- A text wrapping for binary OpenPGP data: base64 lines between headers such as
-----BEGIN PGP MESSAGE-----and-----END PGP MESSAGE-----. Use it to paste keys and messages into email or web forms. In GnuPG,--armoror-a. - Attested certification
- A third-party signature on your key that you, the key owner, have explicitly approved for publication. By default, keys.openpgp.org publishes third-party signatures only when they are attested.
- Base64 (Radix-64)
- A way of writing binary data with 64 printable characters (A–Z, a–z, 0–9, + and /). Older PGP documents call it Radix-64. ASCII armor is base64 plus headers.
- Binding signature
- A self-signature that ties a subkey to its primary key (a subkey binding signature). Without it, a subkey cannot be shown to belong to the key.
- Certificate
- In current OpenPGP language, what most people call a “public key”: the primary public key together with its user IDs, subkeys and signatures. The standard’s formal name is a transferable public key.
- Certification
- A signature on someone’s key and user ID that says “this key belongs to this person”. It is also called a key signature. See Key signatures.
- Certification level
- How carefully the signer says they checked an identity: 0 (no claim), 1 (not checked), 2 (casual check) or 3 (extensive check). These match RFC 9580’s generic, persona, casual and positive certifications. GnuPG uses 0 unless you set
ask-cert-levelordefault-cert-level. - Ciphertext
- Data after encryption. Without the right key it looks like random bytes. The opposite of plaintext.
- Cleartext signature
- A signed text that stays readable, followed by an armored signature block, made with
gpg --clearsign. Trailing spaces are ignored and lines starting with a dash are “dash-escaped” with-, so it is not suitable for whitespace-sensitive files. - Compression
- An optional step before encryption that makes messages smaller. RFC 9580 defines ZIP, ZLIB and BZip2. Compression must happen before encryption, because encrypted data does not compress.
- CRC24 checksum
- The short line starting with
=at the end of older ASCII armor. It is optional, and RFC 9580 says programs should no longer generate it. Programs must not reject armor because the checksum is missing or wrong. - Cross-certification
- A signature made by a signing subkey to confirm that it belongs to its primary key (a primary key binding signature). It stops anyone from attaching your signing subkey to their own key.
- Designated revoker
- Another person’s key that you have authorized to revoke your key (
addrevokerin GnuPG). RFC 9580 deprecates this mechanism. It recommends handing a trusted person a ready-made revocation certificate instead. - Detached signature
- A signature kept in its own file (often
.sigor.asc), separate from the data it signs. It is the usual way to sign software downloads. Make one withgpg --detach-sign. - Digital signature
- A value computed from data and a private key. Anyone with the matching public key can check it. A valid signature shows that the data is unchanged and that the holder of the private key signed it.
- Direct key signature
- A signature made on a key itself rather than on one of its user IDs, used to state properties that apply to the whole key.
- Dirmngr
- The GnuPG helper program that does network work, such as talking to keyservers and fetching Web Key Directory entries. Its keyserver setting lives in
dirmngr.conf. Since GnuPG 2.5.3 there is no default keyserver. - ECDH
- Elliptic-curve Diffie–Hellman, a way to agree on a key using elliptic curves. OpenPGP uses it to encrypt session keys. GnuPG’s
cv25519encryption subkeys use ECDH on Curve25519. - Ed25519
- A fast, modern signature algorithm on the Curve25519 family of elliptic curves. RFC 9580 requires every implementation to support it. GnuPG has used it by default for new primary keys since version 2.3.
- ElGamal
- An older public-key encryption algorithm. Early GnuPG keys often paired a DSA signing key with an ElGamal encryption subkey. RFC 9580 says new ElGamal keys must not be generated.
- Expiration date
- A date after which a key or subkey should no longer be used. Unlike revocation, the owner can move it later (
gpg --quick-set-expire). If you lose your key, the expiry date is the safety net that makes it stop working on its own. Since version 2.4.3, GnuPG gives new keys a three-year expiry by default. - Exportable certification
- A normal key signature that travels with the key when it is exported. The opposite is a local signature.
- Fingerprint
- A hash of a public key that identifies it uniquely: 40 hex digits (SHA-1) for version 4 keys, 64 hex digits (SHA2-256) for version 6 keys. Compare fingerprints, not names or short IDs, before you trust a key. Show it with
gpg --fingerprint. - GnuPG (GPG)
- The GNU Privacy Guard, the free implementation of OpenPGP that most Linux systems and many other tools use. Its main program is
gpg. The 2.5 series is the stable branch (2.5.24 as of November 2026). - gpg-agent
- The background program that holds secret keys and passphrases for
gpg,gpgsmand other tools. It starts automatically when needed, and it can also act as an SSH agent. - Gpg4win
- A Windows package of GnuPG with the Kleopatra key manager and an Outlook plug-in (GpgOL). See Install GnuPG.
- Hash function
- A function that turns any amount of data into a short fixed-size value, so that changing the data changes the value and two inputs with the same value cannot be found in practice. OpenPGP signs hashes rather than whole messages.
- HKP and HKPS
- The HTTP Keyserver Protocol, used to search, fetch and upload keys through the
/pks/lookupaddress. HKPS is the same over TLS. See HKP and /pks/lookup. - Hockeypuck
- Keyserver software that synchronizes keys with other servers. keyserver.ubuntu.com runs it.
- Hybrid encryption
- The combination PGP uses: fast symmetric encryption for the message with a one-time session key, and public-key encryption for the session key only. See How PGP works.
- IDEA
- The International Data Encryption Algorithm, the symmetric cipher of PGP 2.x, with 64-bit blocks and a 128-bit key. RFC 9580 says it must no longer be used for encryption. Programs may still decrypt old messages with it, with a warning.
- Integrity protection
- A check that detects whether encrypted data was changed in transit. In OpenPGP, the Symmetrically Encrypted and Integrity Protected Data packet provides it, through the MDC in version 1 or AEAD in version 2.
- Key ID
- A short label for a key taken from its fingerprint: the last 64 bits (16 hex digits) for version 4 keys, the first 64 bits for version 6. The 8-digit “short” key IDs of the past are easy to fake. RFC 9580 warns that even 64-bit key IDs should not be assumed to be unique.
- Key signing party
- A meeting where people check each other’s fingerprints and ID documents, then sign each other’s keys later at home. Tools such as
caffandgpg-key2psin the signing-party package help. - Keyring
- The file where GnuPG stores keys. Public keys live in
pubring.kbxin the GnuPG home directory (usually~/.gnupg). Secret keys are kept separately and managed by gpg-agent. - Keyserver
- A public server that stores and hands out public keys. Some synchronize with each other. Others, such as keys.openpgp.org, do not. The GnuPG manual calls keyservers “by design write only systems”. See Keyserver questions.
- keys.openpgp.org
- A keyserver launched in June 2019, running the Hagrid software. It publishes an email address only after its owner verifies it, and it does not publish third-party signatures unless they are attested. See Using keys.openpgp.org.
- Literal data
- The packet that holds the actual content of a message or file, plus a file name and date, inside any signing, compression and encryption layers.
- Local signature
- A key signature marked non-exportable, which counts only on your own computer and is removed when the key is exported. Make one with
gpg --lsign-key. - MD5
- The hash function of PGP 2.x, used for signatures and version 3 fingerprints. It is broken. RFC 9580 says it must not be used to generate signatures.
- MDC (modification detection code)
- A SHA-1-based check added to the end of encrypted data in version 1 of the integrity-protected packet, to detect tampering. Version 2 of that packet replaces it with AEAD.
- OCB
- An AEAD mode of operation. It is the one RFC 9580 requires every implementation to support.
- One-pass signature
- A small packet placed before the signed data that announces the signature to come, so software can hash the data while reading it and check the signature at the end, in a single pass.
- OpenPGP
- The open standard for the formats PGP introduced: keys, signatures and encrypted messages. The current version is RFC 9580 (July 2024). See OpenPGP standards.
- Owner trust
- How far you rely on a person to check identities before signing keys: unknown, none, marginal, full or ultimate. You set it with
trustingpg --edit-key. It is stored only on your computer. It is not the same as validity. - Packet
- The building block of all OpenPGP data. Every key, signature and message is a sequence of packets, each with a type and a length.
gpg --list-packetsshows them. - Passphrase
- The secret you type to unlock your private key. It is longer than a password and often several words. Your key file is stored encrypted with a key derived from it, so a stolen key file is useless without it.
- PGP
- Pretty Good Privacy, the encryption program Phil Zimmermann released in 1991. Today the name also refers loosely to the OpenPGP standard and to any program that implements it. See History of PGP.
- Pinentry
- The small program gpg-agent uses to ask for your passphrase or smartcard PIN. It comes in versions for the terminal and for graphical desktops. A missing or broken pinentry is a common cause of passphrase prompts that never appear.
- Plaintext
- Data before encryption or after decryption. It does not have to be text: a photo or a ZIP file is also plaintext in this sense.
- Primary key
- The main key of an OpenPGP certificate. Its fingerprint identifies the whole key, it makes the self-signatures and certifications, and it is often used for signing. In GnuPG listings it is marked
pub(public part) orsec(secret part). - Private key
- The secret half of a key pair, used to decrypt and to sign. GnuPG also calls it the secret key. Never share it. Back it up and protect it with a passphrase.
- Public key
- The half of a key pair you give to everyone, used to encrypt to you and to check your signatures. In everyday use the word means the whole certificate.
- Public-key cryptography
- Cryptography with key pairs, where what one key does only the other can undo or check. It is also called asymmetric cryptography. RSA, ECDH, X25519 and Ed25519 are examples.
- Reason for revocation
- A code inside a revocation signature: no reason, key superseded, key compromised, key retired, or user ID no longer valid. A “compromised” reason makes all signatures from the key suspect. “Superseded” and “retired” leave earlier signatures valid.
- Revocation certificate
- A revocation signature made in advance and stored separately, so you can revoke your key even without the private key or passphrase. GnuPG saves one for each new key in
~/.gnupg/openpgp-revocs.d/. See Revoking a key. - RFC 9580
- The current OpenPGP standard, published in July 2024. It replaced RFC 4880, RFC 5581 and RFC 6637, and added version 6 keys, required Ed25519/X25519 support, AEAD encryption and Argon2.
- RSA
- The public-key algorithm of PGP 2.x, still widely used. RFC 9580 says new RSA keys must be at least 3072 bits, and keys under 2048 bits must not be used.
- S2K (string-to-key)
- The method that turns a passphrase into an encryption key, with a random salt and usually many rounds of hashing, or Argon2, to slow down guessing.
- Self-signature
- A signature a key makes on its own user IDs and subkeys, binding them to the primary key and storing settings such as preferences and the expiry date. GnuPG makes them automatically.
- Session key
- The random one-time symmetric key that encrypts a single message. It is itself encrypted to each recipient’s public key and sent along with the message.
- SHA-1
- A 160-bit hash function, used for version 4 fingerprints and the MDC. Practical collision attacks exist, so RFC 9580 says it must not be used for new signatures.
- SHA-2 (SHA2-256, SHA2-512)
- The family of hash functions used for modern OpenPGP signatures. RFC 9580 requires SHA2-256, recommends SHA2-384 and SHA2-512, and uses SHA2-256 for version 6 fingerprints.
- SKS
- The Synchronizing Key Server software behind the big public keyserver pool of the 2000s and 2010s. It never deleted data, which made it vulnerable to the 2019 certificate-flooding attack. Its pool’s DNS was switched off in June 2021. See Keyserver history.
- Smartcard
- A card or USB token that stores private keys and does the signing and decryption itself, so the keys never sit on your computer’s disk. GnuPG talks to smartcards through its
scdaemonhelper. See Smartcards and YubiKey. - Subkey
- An extra key bound to the primary key for a specific job, typically encryption (
[E]), signing ([S]) or authentication ([A]). Subkeys can be replaced or revoked without changing your fingerprint. - Symmetric encryption
- Encryption where the same key locks and unlocks, such as AES. It is fast, but the key has to be shared secretly. With
gpg --symmetric, it uses a key derived from a passphrase. - TOFU (trust on first use)
- A GnuPG trust model that remembers which key it first saw for each email address and warns if a different key turns up later. Enable it with
trust-model tofu+pgp. - Trust database
- GnuPG’s local file
trustdb.gpg, which stores your owner-trust settings and computed validity. Back up the settings withgpg --export-ownertrust. - Trust model
- The rules GnuPG uses to decide which keys are valid:
pgp(web of trust, the default for a new trust database),classic,tofu,tofu+pgp,directoralways. - Trust signature
- A certification that also says the key’s owner is trusted to certify others, optionally limited to user IDs matching a pattern. Level 1 makes a trusted introducer, level 2 a meta-introducer. In GnuPG,
tsign. - Ultimate trust
- The owner-trust level for your own keys: any key you sign with them becomes valid. GnuPG sets it on keys you create. Never give it to someone else’s key.
- User attribute
- A packet that can hold extra identity data instead of a text user ID. The common use is a photo ID. keys.openpgp.org strips these on upload.
- User ID
- The text on a key that names its owner, usually in the form
Name <email@example.org>. One key can have several. Each needs a self-signature to count. - Validity
- How sure your software is that a key really belongs to the person in a user ID, shown in GnuPG as
[unknown],[marginal],[full],[ultimate], and so on. It is worked out from signatures and owner trust, or from TOFU. - Version 4 and version 6 keys
- The two current OpenPGP key formats. Version 4 dates from the RFC 2440/4880 era and is what most keys are. Version 6, introduced by RFC 9580, uses SHA2-256 fingerprints and works with the new AEAD encryption. Version 3 was the PGP 2.x format.
- Web Key Directory (WKD)
- A way to publish your public key on your own email domain’s web server, so software can fetch it by email address over HTTPS without a keyserver. GnuPG checks WKD by default when it looks up an address. See Web Key Directory.
- Web of trust
- The decentralized model PGP introduced: you accept a key as valid if it is signed by you, or by one person you trust fully, or by three you trust marginally (GnuPG’s defaults), through a chain of at most five steps.
- X25519
- Key agreement on Curve25519, used in OpenPGP to encrypt session keys. RFC 9580 requires it. GnuPG lists its Curve25519 encryption subkeys as
cv25519.
Sources
- RFC 9580: OpenPGP, RFC Editor, July 2024
- GnuPG manual: Configuration options (trust models, cert levels, auto-key-locate)
- GnuPG manual: How to manage your keys
- GnuPG manual: Operational commands
- GnuPG manual: Configuration files (pubring.kbx, trustdb.gpg, openpgp-revocs.d)
- GnuPG manual: Invoking gpg-agent
- GnuPG manual: Invoking scdaemon
- GnuPG manual: Dirmngr options
- GnuPG home page (current releases)
- keys.openpgp.org FAQ
- keys.openpgp.org privacy policy
- keyserver.ubuntu.com (Hockeypuck)
- About Gpg4win (components)
- GnuPG NEWS file (default key algorithms since 2.3.0, default expiry since 2.4.3)