RFC2440

[ Contents ]


9. Constants

   This section describes the constants used in OpenPGP.

   Note that these tables are not exhaustive lists; an implementation
   MAY implement an algorithm not on these lists.

   See the section "Notes on Algorithms" below for more discussion of
   the algorithms.

9.1. Public Key Algorithms

       ID	    Algorithm
       --	    ---------
       1	  - RSA (Encrypt or Sign)
       2	  - RSA Encrypt-Only
       3	  - RSA Sign-Only
       16	  - Elgamal (Encrypt-Only), see [ELGAMAL]
       17	  - DSA (Digital Signature Standard)
       18	  - Reserved for Elliptic Curve
       19	  - Reserved for ECDSA
       20	  - Elgamal (Encrypt or Sign)
       21	  - Reserved for Diffie-Hellman (X9.42,
		    as defined for IETF-S/MIME)
       100 to 110 - Private/Experimental algorithm.

   Implementations MUST implement DSA for signatures, and Elgamal for
   encryption. Implementations SHOULD implement RSA keys.
   Implementations MAY implement any other algorithm.

9.2. Symmetric Key Algorithms

       ID	    Algorithm
       --	    ---------
       0	  - Plaintext or unencrypted data
       1	  - IDEA [IDEA]
       2	  - Triple-DES (DES-EDE, as per spec -
		    168 bit key derived from 192)
       3	  - CAST5 (128 bit key, as per RFC 2144)
       4	  - Blowfish (128 bit key, 16 rounds) [BLOWFISH]
       5	  - SAFER-SK128 (13 rounds) [SAFER]
       6	  - Reserved for DES/SK
       7	  - Reserved for AES with 128-bit key
       8	  - Reserved for AES with 192-bit key
       9	  - Reserved for AES with 256-bit key
  [WG: 10	  - Twofish with 256-bit key].
       100 to 110 - Private/Experimental algorithm.


   Implementations MUST implement Triple-DES. Implementations SHOULD
   implement IDEA and CAST5.Implementations MAY implement any other
   algorithm.

9.3. Compression Algorithms

       ID	    Algorithm
       --	    ---------
       0	  - Uncompressed
       1	  - ZIP (RFC 1951)
       2	  - ZLIB (RFC 1950)
       100 to 110 - Private/Experimental algorithm.

   Implementations MUST implement uncompressed data. Implementations
   SHOULD implement ZIP. Implementations MAY implement ZLIB.

9.4. Hash Algorithms

       ID	    Algorithm				   Text Name
       --	    ---------				   ---- ----
       1	  - MD5 				   "MD5"
       2	  - SHA-1				   "SHA1"
       3	  - RIPE-MD/160 			   "RIPEMD160"
       4	  - Reserved for double-width SHA (experimental)
       5	  - MD2 				   "MD2"
       6	  - Reserved for TIGER/192		   "TIGER192"
       7	  - Reserved for HAVAL (5 pass, 160-bit)
       "HAVAL-5-160"
       100 to 110 - Private/Experimental algorithm.

   Implementations MUST implement SHA-1. Implementations SHOULD
   implement MD5.

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-09-30 wkoch