OpenPGP
- Created
- 2024-01-19
- Last Updated
- 2026-07-02
- Available Formats
-

XML
HTML
TXT
Registries Included Below
- OpenPGP String-to-Key (S2K) Types
- OpenPGP Packet Types
- OpenPGP User Attribute Subpacket Types
- OpenPGP Image Attribute Encoding Format
- OpenPGP Signature Subpacket Types
- OpenPGP Key Server Preference Flags
- OpenPGP Reason for Revocation (Revocation Octet)
- OpenPGP Features Flags
- OpenPGP New Packet Versions (OBSOLETE)
- OpenPGP Key Flags
- OpenPGP Public Key Algorithms
- OpenPGP Symmetric Key Algorithms
- OpenPGP Hash Algorithms
- OpenPGP Compression Algorithms
- OpenPGP Secret Key Encryption (S2K Usage Octet)
- OpenPGP Signature Types
- OpenPGP Signature Notation Data Subpacket Notation Flags
- OpenPGP Signature Notation Data Subpacket Types
- OpenPGP Key IDs and Fingerprints
- OpenPGP Image Attribute Versions
- OpenPGP Armor Header Lines
- OpenPGP Armor Header Keys
- OpenPGP ECC Curve OIDs and Usage
- OpenPGP ECC Curve-Specific Wire Formats
- OpenPGP Hash Algorithm Identifiers for RSA Signatures' Use of EMSA-PKCS1-v1_5 Padding
- OpenPGP AEAD Algorithms
- OpenPGP Encrypted Message Packet Versions
- OpenPGP Key and Signature Versions
- OpenPGP Elliptic Curve Point Wire Formats
- OpenPGP Elliptic Curve Scalar Encodings
- OpenPGP ECDH KDF and KEK Parameters
OpenPGP String-to-Key (S2K) Types
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| ID | S2K Type | S2K Field Size (Octets) | Generate? | Reference |
|---|---|---|---|---|
| 0 | Simple S2K | 2 | No | [RFC9580, Section 3.7.1.1] |
| 1 | Salted S2K | 10 | Only when string is high entropy | [RFC9580, Section 3.7.1.2] |
| 2 | Reserved value | No | [RFC 9580] | |
| 3 | Iterated and Salted S2K | 11 | Yes | [RFC9580, Section 3.7.1.3] |
| 4 | Argon2 | 20 | Yes | [RFC9580, Section 3.7.1.4] |
| 5-99 | Unassigned | |||
| 100-110 | Private or Experimental Use | As appropriate | [RFC 9580] | |
| 111-255 | Unassigned |
OpenPGP Packet Types
- Registration Procedure(s)
-
RFC Required
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| ID | Critical | Packet Type Description | Shorthand | Reference |
|---|---|---|---|---|
| 0 | Yes | Reserved - this Packet Type ID MUST NOT be used | [RFC 9580] | |
| 1 | Yes | Public Key Encrypted Session Key Packet | PKESK | [RFC9580, Section 5.1] |
| 2 | Yes | Signature Packet | SIG | [RFC9580, Section 5.2] |
| 3 | Yes | Symmetric Key Encrypted Session Key Packet | SKESK | [RFC9580, Section 5.3] |
| 4 | Yes | One-Pass Signature Packet | OPS | [RFC9580, Section 5.4] |
| 5 | Yes | Secret Key Packet | SECKEY | [RFC9580, Section 5.5.1.3] |
| 6 | Yes | Public Key Packet | PUBKEY | [RFC9580, Section 5.5.1.1] |
| 7 | Yes | Secret Subkey Packet | SECSUBKEY | [RFC9580, Section 5.5.1.4] |
| 8 | Yes | Compressed Data Packet | COMP | [RFC9580, Section 5.6] |
| 9 | Yes | Symmetrically Encrypted Data Packet | SED | [RFC9580, Section 5.7] |
| 10 | Yes | Marker Packet | MARKER | [RFC9580, Section 5.8] |
| 11 | Yes | Literal Data Packet | LIT | [RFC9580, Section 5.9] |
| 12 | Yes | Trust Packet | TRUST | [RFC9580, Section 5.10] |
| 13 | Yes | User ID Packet | UID | [RFC9580, Section 5.11] |
| 14 | Yes | Public Subkey Packet | PUBSUBKEY | [RFC9580, Section 5.5.1.2] |
| 15-16 | Unassigned | |||
| 17 | Yes | User Attribute Packet | UAT | [RFC9580, Section 5.12] |
| 18 | Yes | Symmetrically Encrypted and Integrity Protected Data Packet | SEIPD | [RFC9580, Section 5.13] |
| 19 | Yes | Reserved (formerly Modification Detection Code Packet) | [RFC9580, Section 5.13.1] | |
| 20 | Yes | Reserved | [RFC 9580] | |
| 21 | Yes | Padding Packet | PADDING | [RFC9580, Section 5.14] |
| 22-39 | Yes | Unassigned Critical Packets | ||
| 40-59 | No | Unassigned Non-Critical Packets | ||
| 60-63 | No | Private or Experimental Use | [RFC 9580] |
OpenPGP User Attribute Subpacket Types
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| ID | Attribute Subpacket | Reference |
|---|---|---|
| 0 | Reserved | [RFC 9580] |
| 1 | Image Attribute Subpacket | [RFC9580, Section 5.12.1] |
| 2-99 | Unassigned | |
| 100-110 | Private or Experimental Use | [RFC 9580] |
| 111-255 | Unassigned |
OpenPGP Image Attribute Encoding Format
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| ID | Encoding | Reference |
|---|---|---|
| 0 | Reserved | [RFC 9580] |
| 1 | JPEG [JFIF] | [RFC 9580] |
| 2-99 | Unassigned | |
| 100-110 | Private or Experimental Use | [RFC 9580] |
| 111-255 | Unassigned |
OpenPGP Signature Subpacket Types
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| ID | Description | Reference |
|---|---|---|
| 0 | Reserved | [RFC 9580] |
| 1 | Reserved | [RFC 9580] |
| 2 | Signature Creation Time | [RFC9580, Section 5.2.3.11] |
| 3 | Signature Expiration Time | [RFC9580, Section 5.2.3.18] |
| 4 | Exportable Certification | [RFC9580, Section 5.2.3.19] |
| 5 | Trust Signature | [RFC9580, Section 5.2.3.21] |
| 6 | Regular Expression | [RFC9580, Section 5.2.3.22] |
| 7 | Revocable | [RFC9580, Section 5.2.3.20] |
| 8 | Reserved | [RFC 9580] |
| 9 | Key Expiration Time | [RFC9580, Section 5.2.3.13] |
| 10 | Placeholder for backward compatibility | [RFC 9580] |
| 11 | Preferred Symmetric Ciphers for v1 SEIPD | [RFC9580, Section 5.2.3.14] |
| 12 | Revocation Key (deprecated) | [RFC9580, Section 5.2.3.23] |
| 13-15 | Reserved | [RFC 9580] |
| 16 | Issuer Key ID | [RFC9580, Section 5.2.3.12] |
| 17-19 | Reserved | [RFC 9580] |
| 20 | Notation Data | [RFC9580, Section 5.2.3.24] |
| 21 | Preferred Hash Algorithms | [RFC9580, Section 5.2.3.16] |
| 22 | Preferred Compression Algorithms | [RFC9580, Section 5.2.3.17] |
| 23 | Key Server Preferences | [RFC9580, Section 5.2.3.25] |
| 24 | Preferred Key Server | [RFC9580, Section 5.2.3.26] |
| 25 | Primary User ID | [RFC9580, Section 5.2.3.27] |
| 26 | Policy URI | [RFC9580, Section 5.2.3.28] |
| 27 | Key Flags | [RFC9580, Section 5.2.3.29] |
| 28 | Signer's User ID | [RFC9580, Section 5.2.3.30] |
| 29 | Reason for Revocation | [RFC9580, Section 5.2.3.31] |
| 30 | Features | [RFC9580, Section 5.2.3.32] |
| 31 | Signature Target | [RFC9580, Section 5.2.3.33] |
| 32 | Embedded Signature | [RFC9580, Section 5.2.3.34] |
| 33 | Issuer Fingerprint | [RFC9580, Section 5.2.3.35] |
| 34 | Reserved | [RFC 9580] |
| 35 | Intended Recipient Fingerprint | [RFC9580, Section 5.2.3.36] |
| 37 | Reserved (Attested Certifications) | [RFC 9580] |
| 38 | Reserved (Key Block) | [RFC 9580] |
| 39 | Preferred AEAD Ciphersuites | [RFC9580, Section 5.2.3.15] |
| 40-99 | Unassigned | |
| 100-110 | Private or Experimental Use | [RFC 9580] |
| 111-127 | Unassigned |
OpenPGP Key Server Preference Flags
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Note
-
This is a variable length bit field. - Available Formats
-

CSV
| Flag | Shorthand | Definition | Reference |
|---|---|---|---|
| 0x80... | No-modify | The keyholder requests that this key only be modified or updated by the keyholder or an administrator of the key server. | [RFC 9580] |
OpenPGP Reason for Revocation (Revocation Octet)
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| Code | Reason | Reference |
|---|---|---|
| 0 | No reason specified (Key Revocation or Certification Revocation signatures) | [RFC 9580] |
| 1 | Key is superseded (Key Revocation signatures) | [RFC 9580] |
| 2 | Key material has been compromised (Key Revocation signatures) | [RFC 9580] |
| 3 | Key is retired and no longer used (Key Revocation signatures) | [RFC 9580] |
| 4-31 | Unassigned | |
| 32 | User ID information is no longer valid (Certification Revocation signatures) | [RFC 9580] |
| 33-99 | Unassigned | |
| 100-110 | Private Use | [RFC 9580] |
OpenPGP Features Flags
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Note
-
This is a variable length bit field. - Available Formats
-

CSV
| Feature | Definition | Reference |
|---|---|---|
| 0x01... | Version 1 Symmetrically Encrypted and Integrity Protected Data packet | [RFC9580, Section 5.13.1] |
| 0x02... | Reserved | [RFC 9580] |
| 0x04... | Reserved | [RFC 9580] |
| 0x08... | Version 2 Symmetrically Encrypted and Integrity Protected Data packet | [RFC9580, Section 5.13.2] |
OpenPGP New Packet Versions (OBSOLETE)
- Registration Procedure(s)
-
Registry closed
- Reference
- [RFC 9580]
- Note
-
Those wishing to use the removed "New Packet Versions" registry should instead register new versions of the relevant packets in the "OpenPGP Key and Signature Versions", "OpenPGP Key IDs and Fingerprints", and "OpenPGP Encrypted Message Packet Versions" registries.
| No registrations at this time. |
OpenPGP Key Flags
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Note
-
This is a variable length bit field. - Available Formats
-

CSV
| Flag | Definition | Reference |
|---|---|---|
| 0x01... | This key may be used to make User ID certifications (Signature Type IDs 0x10-0x13) or Direct Key signatures (Signature Type ID 0x1F) over other keys. | [RFC 9580] |
| 0x02... | This key may be used to sign data. | [RFC 9580] |
| 0x04... | This key may be used to encrypt communications. | [RFC 9580] |
| 0x08... | This key may be used to encrypt storage. | [RFC 9580] |
| 0x10... | The private component of this key may have been split by a secret-sharing mechanism. | [RFC 9580] |
| 0x20... | This key may be used for authentication. | [RFC 9580] |
| 0x80... | The private component of this key may be in the possession of more than one person. | [RFC 9580] |
| 0x0004... | Reserved (ADSK) | [RFC 9580] |
| 0x0008... | Reserved (timestamping) | [RFC 9580] |
OpenPGP Public Key Algorithms
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Note
-
The field specifications enclosed in square brackets for PKESK Format represent fields that may or may not be present, depending on the PKESK version.
- Available Formats
-

CSV
| ID | Algorithm | Public Key Format | Secret Key Format | Signature Format | PKESK Format | Reference |
|---|---|---|---|---|---|---|
| 0 | Reserved | [RFC 9580] | ||||
| 1 | RSA (Encrypt or Sign) [FIPS186] | MPI(n), MPI(e) [RFC9580, Section 5.5.5.1] | MPI(d), MPI(p), MPI(q), MPI(u) | MPI(m^d mod n) [RFC9580, Section 5.2.3.1] | MPI(m^e mod n) [RFC9580, Section 5.1.3] | [RFC 9580] |
| 2 | RSA Encrypt-Only [FIPS186] | MPI(n), MPI(e) [RFC9580, Section 5.5.5.1] | MPI(d), MPI(p), MPI(q), MPI(u) | N/A | MPI(m^e mod n) [RFC9580, Section 5.1.3] | [RFC 9580] |
| 3 | RSA Sign-Only [FIPS186] | MPI(n), MPI(e) [RFC9580, Section 5.5.5.1] | MPI(d), MPI(p), MPI(q), MPI(u) | MPI(m^d mod n) [RFC9580, Section 5.2.3.1] | N/A | [RFC 9580] |
| 4-15 | Unassigned | |||||
| 16 | Elgamal (Encrypt-Only) [ELGAMAL] | MPI(p), MPI(g), MPI(y) [RFC9580, Section 5.5.5.3] | MPI(x) | N/A | MPI(g^k mod p), MPI(m * y^k mod p) [RFC9580, Section 5.1.4] | [RFC 9580] |
| 17 | DSA (Digital Signature Algorithm) [FIPS186] | MPI(p), MPI(q), MPI(g), MPI(y) [RFC9580, Section 5.5.5.2] | MPI(x) | MPI(r), MPI(s) [RFC9580, Section 5.2.3.2] | N/A | [RFC 9580] |
| 18 | ECDH public key algorithm | OID, MPI(point in curve-specific point format), KDFParams [RFC9580, Sections 9.2.1 and 5.5.5.6] | MPI(value in curve-specific format) [RFC9580, Section 9.2.1] | N/A | MPI(point in curve-specific point format), size octet, encoded key [RFC9580, Sections 9.2.1, 5.1.5, and 11.5] | [RFC 9580] |
| 19 | ECDSA public key algorithm [FIPS186] | OID, MPI(point in SEC1 format) [RFC9580, Section 5.5.5.4] | MPI(value) | MPI(r), MPI(s) [RFC9580, Section 5.2.3.2] | N/A | [RFC 9580] |
| 20 | Reserved (formerly Elgamal Encrypt or Sign) | [RFC 9580] | ||||
| 21 | Reserved for Diffie-Hellman (X9.42, as defined for IETF-S/MIME) | [RFC 9580] | ||||
| 22 | EdDSALegacy (deprecated) | OID, MPI(point in prefixed native format) [RFC9580, Sections 11.2.2 and 5.5.5.5] | MPI(value in curve-specific format) [RFC9580, Section 9.2.1] | MPI, MPI [RFC9580, Sections 9.2.1 and 5.2.3.3] | N/A | [RFC 9580] |
| 23 | Reserved (AEDH) | [RFC 9580] | ||||
| 24 | Reserved (AEDSA) | [RFC 9580] | ||||
| 25 | X25519 | 32 octets [RFC9580, Section 5.5.5.7] | 32 octets | N/A | 32 octets, size octet, encoded key [RFC9580, Section 5.1.6] | [RFC 9580] |
| 26 | X448 | 56 octets [RFC9580, Section 5.5.5.8] | 56 octets | N/A | 56 octets, size octet, encoded key [RFC9580, Section 5.1.7] | [RFC 9580] |
| 27 | Ed25519 | 32 octets [RFC9580, Section 5.5.5.9] | 32 octets | 64 octets [RFC9580, Section 5.2.3.4] | [RFC 9580] | |
| 28 | Ed448 | 57 octets [RFC9580, Section 5.5.5.10] | 57 octets | 114 octets [RFC9580, Section 5.2.3.5] | [RFC 9580] | |
| 29 | Unassigned | |||||
| 30 | ML-DSA-65+Ed25519 | 32-octet Ed25519 public key [Table 6], 1952-octet ML-DSA-65 public key [Table 7] | 32-octet Ed25519 secret key [Table 6], 32-octet ML-DSA-65 secret key [Table 7] | 64-octet Ed25519 signature [Table 6], 3309-octet ML-DSA-65 signature [Table 7] | N/A | [RFC 9980, Section 5] |
| 31 | ML-DSA-87+Ed448 | 57-octet Ed448 public key [Table 6], 2592-octet ML-DSA-87 public key [Table 7] | 57-octet Ed448 secret key [Table 6], 32-octet ML-DSA-87 secret key [Table 7] | 114-octet Ed448 signature [Table 6], 4627-octet ML-DSA-87 signature [Table 7] | N/A | [RFC 9980, Section 5] |
| 32 | SLH-DSA-SHAKE-128s | 32-octet public key [Table 8] | 64-octet secret key [Table 8] | 7856-octet signature [Table 8] | N/A | [RFC 9980, Section 6.1] |
| 33 | SLH-DSA-SHAKE-128f | 32-octet public key [Table 8] | 64-octet secret key [Table 8] | 17088-octet signature [Table 8] | N/A | [RFC 9980, Section 6.1] |
| 34 | SLH-DSA-SHAKE-256s | 64-octet public key [Table 8] | 128-octet secret key [Table 8] | 29792-octet signature [Table 8] | N/A | [RFC 9980, Section 6.1] |
| 35 | ML-KEM-768+X25519 | 32-octet X25519 public key [Table 3], 1184-octet ML-KEM-768 public key [Table 4] | 32-octet X25519 secret key [Table 3], 64-octet ML-KEM-768 secret key [Table 4] | N/A | 32-octet X25519 ciphertext, 1088-octet ML-KEM-768 ciphertext, 1 octet remaining length, [1-octet algorithm ID in the case of v3 PKESK,] n octets wrapped session key [RFC 9980, Section 4.3.1] | [RFC 9980, Section 4] |
| 36 | ML-KEM-1024+X448 | 56-octet X448 public key [Table 3], 1568-octet ML-KEM-1024 public key [Table 4] | 56-octet X448 secret key [Table 3], 64-octet ML-KEM-1024 secret key [Table 4] | N/A | 56-octet X448 ciphertext, 1568-octet ML-KEM-1024 ciphertext, 1 octet remaining length, [1-octet algorithm ID in the case of v3 PKESK,] n octets wrapped session key [RFC 9980, Section 4.3.1] | [RFC 9980, Section 4] |
| 37-99 | Unassigned | |||||
| 100-110 | Private or Experimental Use | |||||
| 111-255 | Unassigned |
OpenPGP Symmetric Key Algorithms
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Note
-
When registering a new symmetric cipher with a block size of 64 or 128 bits and a key size that is a multiple of 64 bits, no new considerations are needed. If the new cipher has a different block size, there needs to be additional documentation describing how to use the cipher in CFB mode. If the new cipher has an unusual key size, then padding needs to be considered for X25519 and X448 key wrapping, which currently needs no padding. - Available Formats
-

CSV
| ID | Algorithm | Reference |
|---|---|---|
| 0 | Plaintext or unencrypted data | [RFC 9580] |
| 1 | IDEA [IDEA] | [RFC 9580] |
| 2 | TripleDES (or DES-EDE) [SP800-67] with 168-bit key derived from 192 | [RFC 9580] |
| 3 | CAST5 with 128-bit key [RFC 2144] | [RFC 9580] |
| 4 | Blowfish with 128-bit key, 16 rounds [BLOWFISH] | [RFC 9580] |
| 5 | Reserved | [RFC 9580] |
| 6 | Reserved | [RFC 9580] |
| 7 | AES with 128-bit key [AES] | [RFC 9580] |
| 8 | AES with 192-bit key | [RFC 9580] |
| 9 | AES with 256-bit key | [RFC 9580] |
| 10 | Twofish with 256-bit key [TWOFISH] | [RFC 9580] |
| 11 | Camellia with 128-bit key [RFC 3713] | [RFC 9580] |
| 12 | Camellia with 192-bit key | [RFC 9580] |
| 13 | Camellia with 256-bit key | [RFC 9580] |
| 14-99 | Unassigned | |
| 100-110 | Private or Experimental Use | [RFC 9580] |
| 111-252 | Unassigned | |
| 253-255 | Reserved to avoid collision with Secret Key Encryption (see the [OpenPGP Secret Key Encryption (S2K Usage Octet)] registry and [RFC9580, Section 5.5.3]) | [RFC 9580] |
OpenPGP Hash Algorithms
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Note
-
When registering a new hash algorithm, if the algorithm is also to be used with RSA signing schemes, it must also have an entry in the "OpenPGP Hash Algorithm Identifiers for RSA Signatures' use of EMSA-PKCS1-v1_5 Padding" registry. - Available Formats
-

CSV
| ID | Algorithm | Text Name | V6 Signature Salt Size | Reference |
|---|---|---|---|---|
| 0 | Reserved | [RFC 9580] | ||
| 1 | MD5 [RFC 1321] | "MD5" | N/A | [RFC 9580] |
| 2 | SHA-1 [FIPS180] | "SHA1" | N/A | [RFC 9580] |
| 3 | RIPEMD-160 [RIPEMD-160] | "RIPEMD160" | N/A | [RFC 9580] |
| 4-7 | Reserved | [RFC 9580] | ||
| 8 | SHA2-256 [FIPS180] | "SHA256" | 16 | [RFC 9580] |
| 9 | SHA2-384 [FIPS180] | "SHA384" | 24 | [RFC 9580] |
| 10 | SHA2-512 [FIPS180] | "SHA512" | 32 | [RFC 9580] |
| 11 | SHA2-224 [FIPS180] | "SHA224" | 16 | [RFC 9580] |
| 12 | SHA3-256 [FIPS202] | "SHA3-256" | 16 | [RFC 9580] |
| 13 | Reserved | [RFC 9580] | ||
| 14 | SHA3-512 [FIPS202] | "SHA3-512" | 32 | [RFC 9580] |
| 15-99 | Unassigned | |||
| 100-110 | Private or Experimental Use | [RFC 9580] | ||
| 111-255 | Unassigned |
OpenPGP Compression Algorithms
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| ID | Algorithm | Reference |
|---|---|---|
| 0 | Uncompressed | [RFC 9580] |
| 1 | ZIP [RFC 1951] | [RFC 9580] |
| 2 | ZLIB [RFC 1950] | [RFC 9580] |
| 3 | BZip2 [BZ2] | [RFC 9580] |
| 4-99 | Unassigned | [RFC 9580] |
| 100-110 | Private or Experimental Use | [RFC 9580] |
| 111-255 | Unassigned | [RFC 9580] |
OpenPGP Secret Key Encryption (S2K Usage Octet)
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| S2K Usage Octet | Shorthand | Encryption Parameter Fields | Encryption | Generate? | Reference |
|---|---|---|---|---|---|
| 0 | Unprotected | - | v3 or v4 keys: [cleartext secrets || check(secrets)] v6 keys: [cleartext secrets] | Yes | [RFC 9580] |
| Known symmetric cipher algo ID (see [RFC9580, Section 9.3]) | LegacyCFB | IV | CFB(MD5(passphrase), secrets || check(secrets)) | No | [RFC 9580] |
| 253 | AEAD | params-length (v6-only), cipher-algo, AEAD-mode, S2K-specifier-length (v6-only), S2K-specifier, nonce | AEAD(HKDF(S2K(passphrase), info), secrets, packetprefix) | Yes | [RFC 9580] |
| 254 | CFB | params-length (v6-only), cipher-algo, S2K-specifier-length (v6-only), S2K-specifier, IV | CFB(S2K(passphrase), secrets || SHA1(secrets)) | Yes | [RFC 9580] |
| 255 | MalleableCFB | cipher-algo, S2K-specifier, IV | CFB(S2K(passphrase), secrets || check(secrets)) | No | [RFC 9580] |
OpenPGP Signature Types
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| ID | Name | Reference |
|---|---|---|
| 0x00 | Binary Signature | [RFC9580, Section 5.2.1.1] |
| 0x01 | Text Signature | [RFC9580, Section 5.2.1.2] |
| 0x02 | Standalone Signature | [RFC9580, Section 5.2.1.3] |
| 0x03-0x0F | Unassigned | |
| 0x10 | Generic Certification Signature | [RFC9580, Section 5.2.1.4] |
| 0x11 | Persona Certification Signature | [RFC9580, Section 5.2.1.5] |
| 0x12 | Casual Certification Signature | [RFC9580, Section 5.2.1.6] |
| 0x13 | Positive Certification Signature | [RFC9580, Section 5.2.1.7] |
| 0x14-0x17 | Unassigned | |
| 0x18 | Subkey Binding Signature | [RFC9580, Section 5.2.1.8] |
| 0x19 | Primary Key Binding Signature | [RFC9580, Section 5.2.1.9] |
| 0x1A-0x1E | Unassigned | |
| 0x1F | Direct Key Signature | [RFC9580, Section 5.2.1.10] |
| 0x20 | Key Revocation Signature | [RFC9580, Section 5.2.1.11] |
| 0x21-0x27 | Unassigned | |
| 0x28 | Subkey Revocation Signature | [RFC9580, Section 5.2.1.12] |
| 0x29-0x2F | Unassigned | |
| 0x30 | Certification Revocation Signature | [RFC9580, Section 5.2.1.13] |
| 0x31-0x3F | Unassigned | |
| 0x40 | Timestamp Signature | [RFC9580, Section 5.2.1.14] |
| 0x41-0x4F | Unassigned | |
| 0x50 | Third-Party Confirmation Signature | [RFC9580, Section 5.2.1.15] |
| 0x51-0xFE | Unassigned | |
| 0xFF | Reserved | [RFC9580, Section 5.2.1.16] |
OpenPGP Signature Notation Data Subpacket Notation Flags
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| Flag Position | Shorthand | Description | Reference |
|---|---|---|---|
| 0x80000000 (first bit of the first octet) | human-readable | Notation value is UTF-8 text | [RFC 9580] |
OpenPGP Signature Notation Data Subpacket Types
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Note
-
Notation names are arbitrary Unicode strings encoded in UTF-8. They reside in two namespaces: the IETF namespace and the user namespace. This registry documents the IETF namespace. The names in this registry MUST NOT contain the "@" character (0x40), since the presence of that character indicates the user namespace.
| Notation Name | Data Type | Allowed Values | Reference |
|---|---|---|---|
| No registrations at this time. | |||
OpenPGP Key IDs and Fingerprints
- Registration Procedure(s)
-
RFC Required
- Reference
- [RFC 9580]
- Note
-
When a new key version is defined, the "OpenPGP Key and Signature Versions" registry should also be updated. - Available Formats
-

CSV
| Key Version | Fingerprint | Fingerprint Length (Bits) | Key ID | Reference |
|---|---|---|---|---|
| 3 | MD5(MPIs without length octets) | 128 | low 64 bits of RSA modulus | [RFC9580, Section 5.5.4.1] |
| 4 | SHA1(normalized pubkey packet) | 160 | last 64 bits of fingerprint | [RFC9580, Section 5.5.4.2] |
| 6 | SHA256(normalized pubkey packet) | 256 | first 64 bits of fingerprint | [RFC9580, Section 5.5.4.3] |
OpenPGP Image Attribute Versions
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| Version | Reference |
|---|---|
| 1 | [RFC9580, Section 5.12.1] |
OpenPGP Armor Header Lines
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| Armor Header | Use | Reference |
|---|---|---|
| BEGIN PGP MESSAGE | Used for signed, encrypted, or compressed files. | [RFC 9580] |
| BEGIN PGP PUBLIC KEY BLOCK | Used for armoring public keys. | [RFC 9580] |
| BEGIN PGP PRIVATE KEY BLOCK | Used for armoring private keys. | [RFC 9580] |
| BEGIN PGP SIGNATURE | Used for detached signatures, OpenPGP/MIME signatures, and cleartext signatures. | [RFC 9580] |
OpenPGP Armor Header Keys
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| Key | Summary | Reference |
|---|---|---|
| Version | Implementation information | [RFC9580, Section 6.2.2.1] |
| Comment | Arbitrary text | [RFC9580, Section 6.2.2.2] |
| Hash | Hash algorithms used in some v4 cleartext signed messages | [RFC9580, Section 6.2.2.3] |
| Charset | Character set | [RFC9580, Section 6.2.2.4] |
OpenPGP ECC Curve OIDs and Usage
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Note
-
When a new elliptic curve is registered for use with OpenPGP, it should also be added to the "OpenPGP ECC Curve-specific Wire Formats" registry. If it is used for ECDH, also add it to the "OpenPGP ECDH KDF and KEK Parameters" registry. - Available Formats
-

CSV
| ASN.1 Object Identifier | OID Len | Curve OID Octets | Curve Name | Usage | Field Size (fsize) | Reference |
|---|---|---|---|---|---|---|
| 1.2.840.10045.3.1.7 | 8 | 2A 86 48 CE 3D 03 01 07 | NIST P-256 | ECDSA, ECDH | 32 | [RFC 9580] |
| 1.3.132.0.34 | 5 | 2B 81 04 00 22 | NIST P-384 | ECDSA, ECDH | 48 | [RFC 9580] |
| 1.3.132.0.35 | 5 | 2B 81 04 00 23 | NIST P-521 | ECDSA, ECDH | 66 | [RFC 9580] |
| 1.3.36.3.3.2.8.1.1.7 | 9 | 2B 24 03 03 02 08 01 01 07 | brainpoolP256r1 | ECDSA, ECDH | 32 | [RFC 9580] |
| 1.3.36.3.3.2.8.1.1.11 | 9 | 2B 24 03 03 02 08 01 01 0B | brainpoolP384r1 | ECDSA, ECDH | 48 | [RFC 9580] |
| 1.3.36.3.3.2.8.1.1.13 | 9 | 2B 24 03 03 02 08 01 01 0D | brainpoolP512r1 | ECDSA, ECDH | 64 | [RFC 9580] |
| 1.3.6.1.4.1.11591.15.1 | 9 | 2B 06 01 04 01 DA 47 0F 01 | Ed25519Legacy | EdDSALegacy | 32 | [RFC 9580] |
| 1.3.6.1.4.1.3029.1.5.1 | 10 | 2B 06 01 04 01 97 55 01 05 01 | Curve25519Legacy | ECDH | 32 | [RFC 9580] |
OpenPGP ECC Curve-Specific Wire Formats
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| Curve | ECDH Point Format | ECDH Secret Key MPI | EdDSA Secret Key MPI | EdDSA Signature first MPI | EdDSA Signature second MPI | Reference |
|---|---|---|---|---|---|---|
| NIST P-256 | SEC1 | integer | N/A | N/A | N/A | [RFC 9580] |
| NIST P-384 | SEC1 | integer | N/A | N/A | N/A | [RFC 9580] |
| NIST P-521 | SEC1 | integer | N/A | N/A | N/A | [RFC 9580] |
| brainpoolP256r1 | SEC1 | integer | N/A | N/A | N/A | [RFC 9580] |
| brainpoolP384r1 | SEC1 | integer | N/A | N/A | N/A | [RFC 9580] |
| brainpoolP512r1 | SEC1 | integer | N/A | N/A | N/A | [RFC 9580] |
| Ed25519Legacy | N/A | N/A | 32 octets of secret | 32 octets of R | 32 octets of S | [RFC 9580] |
| Curve25519Legacy | prefixed native | integer [RFC9580, Section 5.5.5.6.1.1] | N/A | N/A | N/A | [RFC 9580] |
OpenPGP Hash Algorithm Identifiers for RSA Signatures' Use of EMSA-PKCS1-v1_5 Padding
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| Hash Algorithm | OID | Full Hash Prefix | Reference |
|---|---|---|---|
| MD5 | 1.2.840.113549.2.5 | 0x30, 0x20, 0x30, 0x0C, 0x06, 0x08, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x02, 0x05, 0x05, 0x00, 0x04, 0x10 | [RFC 9580] |
| SHA-1 | 1.3.14.3.2.26 | 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14 | [RFC 9580] |
| RIPEMD-160 | 1.3.36.3.2.1 | 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x24, 0x03, 0x02, 0x01, 0x05, 0x00, 0x04, 0x14 | [RFC 9580] |
| SHA2-256 | 2.16.840.1.101.3.4.2.1 | 0x30, 0x31, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x04, 0x20 | [RFC 9580] |
| SHA2-384 | 2.16.840.1.101.3.4.2.2 | 0x30, 0x41, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 0x00, 0x04, 0x30 | [RFC 9580] |
| SHA2-512 | 2.16.840.1.101.3.4.2.3 | 0x30, 0x51, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 0x00, 0x04, 0x40 | [RFC 9580] |
| SHA2-224 | 2.16.840.1.101.3.4.2.4 | 0x30, 0x2D, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x04, 0x05, 0x00, 0x04, 0x1C | [RFC 9580] |
| SHA3-256 | 2.16.840.1.101.3.4.2.8 | 0x30, 0x31, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x08, 0x05, 0x00, 0x04, 0x20 | [RFC 9580] |
| SHA3-512 | 2.16.840.1.101.3.4.2.10 | 0x30, 0x51, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x0a, 0x05, 0x00, 0x04, 0x40 | [RFC 9580] |
OpenPGP AEAD Algorithms
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| ID | Name | Nonce Length (Octets) | Authentication Tag Length (Octets) | Reference |
|---|---|---|---|---|
| 0 | Reserved | [RFC 9580] | ||
| 1 | EAX [EAX] | 16 | 16 | [RFC 9580] |
| 2 | OCB [RFC 7253] | 15 | 16 | [RFC 9580] |
| 3 | GCM [SP800-38D] | 12 | 16 | [RFC 9580] |
| 4-99 | Unassigned | |||
| 100-110 | Private or Experimental Use | [RFC 9580] | ||
| 111-255 | Unassigned |
OpenPGP Encrypted Message Packet Versions
- Registration Procedure(s)
-
RFC Required
- Reference
- [RFC 9580]
- Note
-
When a new version of SEIPD, PKESK, or SKESK are defined, consider also adding a corresponding flag to the "OpenPGP Features Flags" registry. - Available Formats
-

CSV
| Version of Encrypted Data Payload | Version of Preceding Symmetric Key ESK (If Any) | Version of Preceding Public Key ESK (If Any) | Generate? | Reference |
|---|---|---|---|---|
| SED [RFC9580, Section 5.7] | - | v2 PKESK [RFC 2440] | No | [RFC 9580] |
| SED [RFC9580, Section 5.7] | v4 SKESK [RFC9580, Section 5.3.1] | v3 PKESK [RFC9580, Section 5.1.1] | No | [RFC 9580] |
| v1 SEIPD [RFC9580, Section 5.13.1] | v4 SKESK [RFC9580, Section 5.3.1] | v3 PKESK [RFC9580, Section 5.1.1] | Yes | [RFC 9580] |
| v2 SEIPD [RFC9580, Section 5.13.2] | v6 SKESK [RFC9580, Section 5.3.2] | v6 PKESK [RFC9580, Section 5.1.2] | Yes | [RFC 9580] |
OpenPGP Key and Signature Versions
- Registration Procedure(s)
-
RFC Required
- Reference
- [RFC 9580]
- Note
-
When a new key version is defined, the "OpenPGP Key IDs and Fingerprints" registry should also be updated. - Available Formats
-

CSV
| Signing Key Version | Signature Packet Version | OPS Packet Version | Generate? | Reference |
|---|---|---|---|---|
| 3 [RFC9580, Section 5.5.2.1] | 3 [RFC9580, Section 5.2.2] | 3 [RFC9580, Section 5.4] | No | [RFC 9580] |
| 4 [RFC9580, Section 5.5.2.2] | 3 [RFC9580, Section 5.2.2] | 3 [RFC9580, Section 5.4] | No | [RFC 9580] |
| 4 [RFC9580, Section 5.5.2.2] | 4 [RFC9580, Section 5.2.3] | 3 [RFC9580, Section 5.4] | Yes | [RFC 9580] |
| 6 [RFC9580, Section 5.5.2.3] | 6 [RFC9580, Section 5.2.3] | 6 [RFC9580, Section 5.4] | Yes | [RFC 9580] |
OpenPGP Elliptic Curve Point Wire Formats
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| Name | Wire Format | Reference |
|---|---|---|
| SEC1 | 0x04 || x || y | [RFC9580, Section 11.2.1] |
| Prefixed native | 0x40 || native | [RFC9580, Section 11.2.2] |
OpenPGP Elliptic Curve Scalar Encodings
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| Type | Description | Reference |
|---|---|---|
| integer | An integer encoded in big-endian format as a standard OpenPGP MPI | [RFC9580, Section 3.2] |
| octet string | An octet string of fixed length that may be shorter on the wire due to leading zeros being stripped by the MPI encoding and may need to be zero-padded before use | [RFC9580, Section 11.3.1] |
| prefixed N octets | An octet string of fixed length N, prefixed with octet 0x40 to ensure no leading zero octet | [RFC9580, Section 11.3.2] |
OpenPGP ECDH KDF and KEK Parameters
- Registration Procedure(s)
-
Specification Required
- Expert(s)
-
Daniel Kahn Gillmor, Andrew Gallagher, Heiko Schäfer
- Reference
- [RFC 9580]
- Available Formats
-

CSV
| Curve | Hash Algorithm | Symmetric Algorithm | Reference |
|---|---|---|---|
| NIST P-256 | SHA2-256 | AES-128 | [RFC 9580] |
| NIST P-384 | SHA2-384 | AES-192 | [RFC 9580] |
| NIST P-521 | SHA2-512 | AES-256 | [RFC 9580] |
| brainpoolP256r1 | SHA2-256 | AES-128 | [RFC 9580] |
| brainpoolP384r1 | SHA2-384 | AES-192 | [RFC 9580] |
| brainpoolP512r1 | SHA2-512 | AES-256 | [RFC 9580] |
| Curve25519Legacy | SHA2-256 | AES-128 | [RFC 9580] |