OpenPGP standards: RFC 1991, 2440, 4880, 9580 and LibrePGP

Updated November 2026

OpenPGP is defined by a chain of IETF documents: RFC 1991 (PGP 2, 1996), RFC 2440 (1998), RFC 4880 (2007) and RFC 9580 (July 2024), plus RFC 9980 for post-quantum algorithms (June 2026). Since 2023 there is also LibrePGP, a separate specification backed by GnuPG. For everyday use the safe choice today is still a version 4 key, which every current tool reads.

RFC 1991 1996 RFC 2440 1998 RFC 4880 2007 rfc4880bis RFC 9580 (2024) RFC 9980 (2026) LibrePGP draft (2023–)
IETF standards (solid) and the LibrePGP Internet-Draft (dashed), which is not an IETF standard.

The documents at a glance

OpenPGP specifications, as of November 2026
DocumentDateStatusKey points
RFC 1991, PGP Message Exchange FormatsAug 1996InformationalDescribes PGP 2.x formats (2.6 and 2.7; 2.3 with minor differences). RSA, IDEA, MD5, version 3 keys.
RFC 2440, OpenPGP Message FormatNov 1998Proposed StandardFirst IETF OpenPGP standard. Version 4 keys and signatures. Must implement DSA, ElGamal, Triple-DES, SHA-1.
RFC 4880, OpenPGP Message FormatNov 2007Proposed StandardObsoletes 1991 and 2440. Integrity-protected encryption (MDC), AES and SHA-2 assigned. Extended by RFC 5581 (Camellia, 2009) and RFC 6637 (elliptic curves, 2012).
RFC 9580, OpenPGPJul 2024Proposed StandardThe “crypto refresh”. Obsoletes 4880, 5581 and 6637. Version 6 keys, Ed25519/X25519, AEAD encryption, Argon2.
RFC 9980, Post-Quantum Cryptography in OpenPGPJun 2026Proposed StandardExtends RFC 9580 with ML-KEM, ML-DSA and SLH-DSA.
draft-koch-librepgp-06, LibrePGPSep 2026Individual Internet-DraftAlternative to RFC 9580, based on rfc4880bis. Version 5 keys.

RFC 1991: PGP 2

RFC 1991 was written by Derek Atkins, William Stallings and Philip Zimmermann. It “does not specify an Internet standard of any kind”; it documents what PGP 2.x already did. Keys and signatures were version 3, encryption used IDEA, and hashing used MD5. RFC 9580 now explains why version 3 keys are weak: it is easy to make a key with the same key ID as another, and the fingerprint does not cover the key length. GnuPG 1.4 is the last GnuPG branch that still supports these “unsafe PGP-2 keys”, in its own words.

RFC 2440 and RFC 4880: classic OpenPGP

RFC 2440 (Jon Callas, Lutz Donnerhacke, Hal Finney, Rodney Thayer) turned PGP into an open IETF standard. It introduced the version 4 key and signature formats still used by most keys today. The mandatory algorithms were DSA for signatures, ElGamal for encryption, Triple-DES and SHA-1; AES only had reserved numbers.

RFC 4880 (the same authors plus David Shaw) became the reference for almost twenty years. Its main addition was the Symmetrically Encrypted Integrity Protected Data packet with a Modification Detection Code, which lets a recipient detect tampering with encrypted data. It assigned AES-128/192/256 and listed the SHA-2 hashes. Elliptic-curve keys came later in RFC 6637 (June 2012). GnuPG’s manual notes that its --rfc2440 mode creates encryption packets “without MDC protection” and calls this dangerous.

RFC 9580: the crypto refresh

RFC 9580 (Paul Wouters as editor, Daniel Huigens, Justus Winter, Yutaka Niibe) was developed as draft-ietf-openpgp-crypto-refresh by the IETF OpenPGP working group. Its Appendix B lists the changes. The most important for users:

RFC 9980 (June 2026) builds on it. It defines ML-KEM (formerly Kyber) combined with X25519 or X448 for encryption, ML-DSA combined with EdDSA for signatures, and SLH-DSA on its own. ML-KEM-768+X25519 may be used with v4 or v6 keys; the ML-DSA and SLH-DSA signature schemes require v6 keys.

LibrePGP and GnuPG’s position

Work on a revision of RFC 4880, called rfc4880bis, began in 2015. According to librepgp.org, the working group reached consensus on that draft in September 2021, after which “a small group” started a larger revision, the one that became RFC 9580. LibrePGP was created in response, as a separate specification maintained by a study group that includes the companies g10 Code and Ribose and other implementers; its first draft appeared in November 2023. librepgp.org lists GnuPG, RNP and Gpg4win as supporters.

The current text, draft-koch-librepgp-06 by Werner Koch and Ronald Henry Tse, is dated 7 September 2026. It is an individual Internet-Draft: it has no IETF standing. It uses version 5 keys and signatures, which are not the same as RFC 9580’s version 6 format.

In practice:

What this means for you

How the formats fit together inside a message is explained in How PGP works; the history behind the standards is in PGP history.

Sources