doc: Some typo fixes.
[gnupg.git] / doc / OpenPGP
index 188f049..794f669 100644 (file)
@@ -1,71 +1,60 @@
-                   GNUPG and OpenPGP
+                   GnuPG and OpenPGP
                    =================
 
-   The current OpenPGP draft expires 1999-02.
-
-   OpenPGP is an Internet-Draft.  Internet-Drafts are working
-   documents of the Internet Engineering Task Force (IETF), its areas,
-   and its working groups.  Note that other groups may also distribute
-   working documents as Internet-Drafts.
-
-   Internet-Drafts are draft documents valid for a maximum of six
-   months and may be updated, replaced, or obsoleted by other documents
-   at any time.  It is inappropriate to use Internet-Drafts as
-   reference material or to cite them other than as "work in progress."
-
-   To view the entire list of current Internet-Drafts, please check the
-   "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
-   Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern
-   Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific
-   Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast).
+   See RFC-4880 for a description of OpenPGP.  These notes are older
+   than RFC-4880 and refer to the predecessor of the specs (RFC-2440).
 
 
   Compatibility Notes
   ===================
-   GNUPG (>0.4) is in compliance with OpenPGP despite these exeptions:
+   GnuPG (>=1.0.3) is in compliance with RFC2440 despite these exceptions:
 
-    * (5.1) The critical bit in signature subpackets is currently
-      ignored. This will be fixed soon.
+    * With GnuPG >= 2.1.0 all support for version 3 keys has been
+      removed.  Thus there is no more compatibility with PGP-2.  Users
+      who need to be able to decrypt old PGP 2 messages should use
+      GnuPG 1.4.x along with the option --allow-weak-digest-algos.
 
-    * (5.3) GNUPG has an option to use simple S2K for "Symmetric-Key
-      Encrypted Session-Key Packets"; however a warning message is
-      issued if this option is active.
-
-    * (5.5.2) states that an implementaion MUST NOT create a v3 key
-      with an algorithm other than RSA.  GNUPG has an option to
-      create an ElGamal key in a v3 packet; the properties of such
-      a key are as good as a v4 key.  RFC1991 does not specifiy how
-      to create fingerprints for algorithms other than RSA and so it
-      is okay to choose a special format for ElGamal.
-
-    * (9.1) states that RSA SHOULD be implemented.  This is not done
-      (except with an extension, usable outside the U.S.) due to
-      patent problems.
+    * With GnuPG >= 2.1.0 all signatures (on messages and keys) are
+      created using version 4 signatures.  Support for verifying
+      version 3 signature is still available.
 
     * (9.2) states that IDEA SHOULD be implemented.  This is not done
       due to patent problems.
-
-    * (12.1) states that an implementaion MUST NOT use a symmetric
-      algorithm which is not in the preference list.  GNUPG has an
-      option to override this.
-
-    * A special format of partial packet length exists for v3 packets
-      which can be considered to be in compliance with RFC1991;  this
-      format is only created if a special option is active.
+      UPDATE: Since version 1.4.13 (or GnuPG 2.x with Libgcrypt 1.6)
+              IDEA support has been added to allow decryption of old
+              PGP-2 encrypted material.
 
    All MAY features are implemented with this exception:
 
     * multi-part armored messages are not supported.
-      MIME should be used instead.
+      MIME (rfc2015) should be used instead.
+
+   Most of the OPTIONAL stuff is implemented.
+
+   There are a couple of options which can be used to override some
+   RFC requirements.  This is always mentioned with the description
+   of that options.
 
+   A special format of partial packet length exists for v3 packets
+   which can be considered to be in compliance with RFC1991;  this
+   format is only created if a special option is active.
+   UPDATE: This support has been removed with version 1.3.6.
 
+   GnuPG uses a S2K mode of 101 for GNU extensions to the secret key
+   protection algorithms.  This number is not defined in OpenPGP, but
+   given that this number is in a range which is used at many other
+   places in OpenPGP for private/experimental algorithm identifiers,
+   this should be not a too bad choice.  The 3 bytes "GNU" are used to
+   identify this as a GNU extension - see the file DETAILS for a
+   definition of the used data formats.
 
 
   Some Notes on OpenPGP / PGP Compatibility:
   ==========================================
 
      * PGP 5.x does not accept V4 signatures for anything other than
-       key material.
+       key material.  The GnuPG option --force-v3-sigs mimics this
+       behavior.
 
      * PGP 5.x does not recognize the "five-octet" lengths in
        new-format headers or in signature subpacket lengths.
@@ -96,8 +85,8 @@
        it with a V3 keyid, and can properly use only a V3 format RSA
        key.
 
-     * Neither PGP 5.x nor PGP 6.0 recognize Elgamal Encrypt and Sign
-       keys. They only handle Elgamal Encrypt-only keys.
+     * Neither PGP 5.x nor PGP 6.0 recognize ElGamal Encrypt and Sign
+       keys. They only handle ElGamal Encrypt-only keys.
 
 
   Parts of this document are taken from:
 
    The limited permissions granted above are perpetual and will not be
    revoked by the Internet Society or its successors or assigns.
-
-