GnuPG - RFC2440

# RFC2440 and GnuPG

[ Back ]

I have converted this RFC2440 to HTML and added a few annotations regarding GnuPG. These annotations are formatted like this: [GnuPG: Some GnuPG specific notes]. Proposed changes by the working group are formatted like this: [WG: Some proposed changes].

## Preface

## Table of Contents

- 1. Introduction
  - 1.1. Terms
- 2. General functions
  - 2.1. Confidentiality via Encryption
  - 2.2. Authentication via Digital signature
  - 2.3. Compression
  - 2.4. Conversion to Radix-64
  - 2.5. Signature-Only Applications
- 3. Data Element Formats
  - 3.1. Scalar numbers
  - 3.2. Multi-Precision Integers
  - 3.3. Key IDs
  - 3.4. Text
  - 3.5. Time fields
  - 3.6. String-to-key (S2K) specifiers
  - 3.6.1. String-to-key (S2k) specifier types
  - 3.6.1.1. Simple S2K
  - 3.6.1.2. Salted S2K
  - 3.6.1.3. Iterated and Salted S2K
  - 3.6.2. String-to-key usage
  - 3.6.2.1. Secret key encryption
  - 3.6.2.2. Symmetric-key message encryption
- 4. Packet Syntax
  - 4.1. Overview
  - 4.2. Packet Headers
  - 4.2.1. Old-Format Packet Lengths
  - 4.2.2. New-Format Packet Lengths
  - 4.2.2.1. One-Octet Lengths
  - 4.2.2.2. Two-Octet Lengths
  - 4.2.2.3. Five-Octet Lengths
  - 4.2.2.4. Partial Body Lengths
  - 4.2.3. Packet Length Examples
  - 4.3. Packet Tags
- 5. Packet Types
  - 5.1. Public-Key Encrypted Session Key Packets (Tag 1)
  - 5.2. Signature Packet (Tag 2)
  - 5.2.1. Signature Types
  - 5.2.2. Version 3 Signature Packet Format
  - 5.2.3. Version 4 Signature Packet Format
  - 5.2.3.1. Signature Subpacket Specification
  - 5.2.3.2. Signature Subpacket Types
  - 5.2.3.3. Signature creation time
  - 5.2.3.4. Issuer
  - 5.2.3.5. Key expiration time
  - 5.2.3.6. Preferred symmetric algorithms
  - 5.2.3.7. Preferred hash algorithms
  - 5.2.3.8. Preferred compression algorithms
  - 5.2.3.9. Signature expiration time
  - 5.2.3.10. Exportable Certification
  - 5.2.3.11. Revocable
  - 5.2.3.12. Trust signature
  - 5.2.3.13. Regular expression
  - 5.2.3.14. Revocation key
  - 5.2.3.15. Notation Data
  - 5.2.3.16. Key server preferences
  - 5.2.3.17. Preferred key server
  - 5.2.3.18. Primary user id
  - 5.2.3.19. Policy URL
  - 5.2.3.20. Key Flags
  - 5.2.3.21. Signer's User ID
  - 5.2.3.22. Reason for Revocation
  - 5.2.4. Computing Signatures
  - 5.2.4.1. Subpacket Hints
  - 5.3. Symmetric-Key Encrypted Session-Key Packets (Tag 3)
  - 5.4. One-Pass Signature Packets (Tag 4)
  - 5.5. Key Material Packet
  - 5.5.1. Key Packet Variants
  - 5.5.1.1. Public Key Packet (Tag 6)
  - 5.5.1.2. Public Subkey Packet (Tag 14)
  - 5.5.1.3. Secret Key Packet (Tag 5)
  - 5.5.1.4. Secret Subkey Packet (Tag 7)
  - 5.5.2. Public Key Packet Formats
  - 5.5.3. Secret Key Packet Formats
  - 5.6. Compressed Data Packet (Tag 8)
  - 5.7. Symmetrically Encrypted Data Packet (Tag 9)
  - 5.8. Marker Packet (Obsolete Literal Packet) (Tag 10)
  - 5.9. Literal Data Packet (Tag 11)
  - 5.10. Trust Packet (Tag 12)
  - 5.11. User ID Packet (Tag 13)
- 6. Radix-64 Conversions
  - 6.1. An Implementation of the CRC-24 in "C"
  - 6.2. Forming ASCII Armor
  - 6.3. Encoding Binary in Radix-64
  - 6.4. Decoding Radix-64
  - 6.5. Examples of Radix-64
  - 6.6. Example of an ASCII Armored Message
- 7. Cleartext signature framework
  - 7.1. Dash-Escaped Text
- 8. Regular Expressions
- 9. Constants
  - 9.1. Public Key Algorithms
  - 9.2. Symmetric Key Algorithms
  - 9.3. Compression Algorithms
  - 9.4. Hash Algorithms
- 10. Packet Composition
  - 10.1. Transferable Public Keys
  - 10.2. OpenPGP Messages
  - 10.3. Detached Signatures
- 11. Enhanced Key Formats
  - 11.1. Key Structures
  - 11.2. Key IDs and Fingerprints
- 12. Notes on Algorithms
  - 12.1. Symmetric Algorithm Preferences
  - 12.2. Other Algorithm Preferences
  - 12.2.1. Compression Preferences
  - 12.2.2. Hash Algorithm Preferences
  - 12.3. Plaintext
  - 12.4. RSA
  - 12.5. Elgamal
  - 12.6. DSA
  - 12.7. Reserved Algorithm Numbers
  - 12.8. OpenPGP CFB mode
- 13. Security Considerations
- 14. Implementation Nits
- 15. Authors and Working Group Chair
- 16. References
- 17. Full Copyright Statement

HTML conversion and comments on this are RFC are Copyright (c) 1998 Werner Koch, Remscheider Str. 22, 40215 Düsseldorf, Germany. Verbatim copying and distribution is permitted in any medium, provided this notice is preserved.
See here for copyright information on the RFC itself.

Updated: 1999-05-23 wkoch