Snapshot release 0.4.2
[gnupg.git] / doc / OpenPGP
1                     GnuPG and OpenPGP
2                     =================
3
4    The current OpenPGP draft expires 1999-02.
5
6    OpenPGP is an Internet-Draft.  Internet-Drafts are working
7    documents of the Internet Engineering Task Force (IETF), its areas,
8    and its working groups.  Note that other groups may also distribute
9    working documents as Internet-Drafts.
10
11    Internet-Drafts are draft documents valid for a maximum of six
12    months and may be updated, replaced, or obsoleted by other documents
13    at any time.  It is inappropriate to use Internet-Drafts as
14    reference material or to cite them other than as "work in progress."
15
16    To view the entire list of current Internet-Drafts, please check the
17    "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
18    Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern
19    Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific
20    Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast).
21
22
23   Compatibility Notes
24   ===================
25    GnuPG (>=0.4.1) is in compliance with OpenPGP despite these exeptions:
26
27     * (5.1) The critical bit in signature subpackets is currently
28       ignored.  This will be fixed soon.
29
30
31     * (5.2) GnuPG generates V4 signatures for all V4 keys.  The option
32       --force-v3-sigs allows to override.
33
34     * (5.3) GnuPG has an option to use simple S2K for "Symmetric-Key
35       Encrypted Session-Key Packets"; however a warning message is
36       issued if this option is active.
37
38     * (5.5.2) states that an implementaion MUST NOT create a v3 key
39       with an algorithm other than RSA.  GnuPG has an option to
40       create an ElGamal key in a v3 packet; the properties of such
41       a key are as good as a v4 key.  RFC1991 does not specifiy how
42       to create fingerprints for algorithms other than RSA and so it
43       is okay to choose a special format for ElGamal.
44
45     * (9.1) states that RSA SHOULD be implemented.  This is not done
46       (except with an extension, usable outside the U.S.) due to
47       patent problems.
48
49     * (9.2) states that IDEA SHOULD be implemented.  This is not done
50       due to patent problems.
51
52     * (12.1) states that an implementaion MUST NOT use a symmetric
53       algorithm which is not in the preference list.  GnuPG has an
54       option to override this.
55
56     * A special format of partial packet length exists for v3 packets
57       which can be considered to be in compliance with RFC1991;  this
58       format is only created if a special option is active.
59
60    All MAY features are implemented with this exception:
61
62     * multi-part armored messages are not supported.
63       MIME should be used instead.
64
65    Most of the OPTIONAL stuff is implemented.
66
67
68
69
70   Some Notes on OpenPGP / PGP Compatibility:
71   ==========================================
72
73      * PGP 5.x does not accept V4 signatures for anything other than
74        key material.
75
76      * PGP 5.x does not recognize the "five-octet" lengths in
77        new-format headers or in signature subpacket lengths.
78
79      * PGP 5.0 rejects an encrypted session key if the keylength
80        differs from the S2K symmetric algorithm. This is a bug in its
81        validation function.
82
83      * PGP 5.0 does not handle multiple one-pass signature headers and
84        trailers. Signing one will compress the one-pass signed literal
85        and prefix a V3 signature instead of doing a nested one-pass
86        signature.
87
88      * When exporting a private key, PGP 2.x generates the header
89        "BEGIN PGP SECRET KEY BLOCK" instead of "BEGIN PGP PRIVATE KEY
90        BLOCK". All previous versions ignore the implied data type, and
91        look directly at the packet data type.
92
93      * In a clear-signed signature, PGP 5.0 will figure out the correct
94        hash algorithm if there is no "Hash:" header, but it will reject
95        a mismatch between the header and the actual algorithm used. The
96        "standard" (i.e. Zimmermann/Finney/et al.) version of PGP 2.x
97        rejects the "Hash:" header and assumes MD5. There are a number
98        of enhanced variants of PGP 2.6.x that have been modified for
99        SHA-1 signatures.
100
101      * PGP 5.0 can read an RSA key in V4 format, but can only recognize
102        it with a V3 keyid, and can properly use only a V3 format RSA
103        key.
104
105      * Neither PGP 5.x nor PGP 6.0 recognize Elgamal Encrypt and Sign
106        keys. They only handle Elgamal Encrypt-only keys.
107
108
109   Parts of this document are taken from:
110   ======================================
111
112                          OpenPGP Message Format
113                    draft-ietf-openpgp-formats-07.txt
114
115
116    Copyright 1998 by The Internet Society. All Rights Reserved.
117
118    This document and translations of it may be copied and furnished to
119    others, and derivative works that comment on or otherwise explain it
120    or assist in its implementation may be prepared, copied, published
121    and distributed, in whole or in part, without restriction of any
122    kind, provided that the above copyright notice and this paragraph
123    are included on all such copies and derivative works.  However, this
124    document itself may not be modified in any way, such as by removing
125    the copyright notice or references to the Internet Society or other
126    Internet organizations, except as needed for the purpose of
127    developing Internet standards in which case the procedures for
128    copyrights defined in the Internet Standards process must be
129    followed, or as required to translate it into languages other than
130    English.
131
132    The limited permissions granted above are perpetual and will not be
133    revoked by the Internet Society or its successors or assigns.
134
135