2003-06-14 Moritz Schulte <moritz@g10code.com>
[libgcrypt.git] / README
diff --git a/README b/README
index 9318390..3559418 100644 (file)
--- a/README
+++ b/README
-
-            G10 - The GNU Enryption and Signing Tool
-           ------------------------------------------
-
-
-    THIS IS VERSION IS ONLY a TEST VERSION !  YOU SHOULD NOT
-    USE IT FOR OTHER PURPOSES THAN EVALUATING THE CURRENT CODE.
-
-    * The data format may change in the next version!
-
-    * The code to generate keys is not secure!
-
-    * Some features are not implemented
-
-
-    I provide this version as a reality check to start discussion.
-    Please subscribe to g10@net.lut.ac.uk be sending a mail with
-    the word "subscribe" in the body to "g10-request@net.lut.ac.uk".
-
-
-    See the file COPYING for copyright and warranty information.
-
-
-    Due to the fact that G10 does not use use any patented algorithm,
-    it cannot be compatible to old PGP versions, because those use
-    IDEA (which is worldwide patented) and RSA (which is patented in
-    the United States until Sep 20, 2000).  I'm sorry about this, but
-    this is the world we have created (e.g. by using propiertary software).
-
-
-    Because the OpenPGP standard is still a draft, G10 is not yet
-    compatible to it (or PGP 5) - but it will. The data structures
-    used are compatible with PGP 2.x, so it can parse an list such files
-    and PGP should be able to parse data created by G10 and complain
-    about unsupported alogorithms.
-
-    The default algorithms used by G10 are ElGamal for public-key
-    encryption and signing; Blowfish with a 160 bit key for protecting
-    the secret-key components, conventional and session encryption;
-    RIPE MD-160 to create message digest.  DSA, SHA-1 and CAST are
-    also implemented, but not used on default. I decided not
-    to use DSA as default signing algorithm, cecause it allows only for
-    1024 bit keys and this may be not enough in a couple of years.
-
-    Key generation takes a long time and should be improved!
-
-
-
-
-
+                   libgcrypt - The GNU crypto library
+                  ------------------------------------
+                           Version 1.1
+
+    Copyright 2000, 2002 Free Software Foundation, Inc.
+
+    This file is free software; as a special exception the author gives
+    unlimited permission to copy and/or distribute it, with or without
+    modifications, as long as this notice is preserved.
+
+    This file is distributed in the hope that it will be useful, but
+    WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+    implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+
+    THIS IS A DEVELOPMENT VERSION, THE FIRST STABLE VERSION WILL BE 1.2.0.
+
+
+    Overview
+    --------
+
+    Libgcrypt is a general purpose crypto library based on the code
+    used in GnuPG.  We can't start with a new version number because
+    libgcrypt was part of gnupg 1.1 and some applications already used
+    it and tested for the version number. We believe that the API can
+    stay as it is, except that new functions may be added in the
+    future.
+
+
+    CVS
+    ---
+
+    If you are using the CVS version, make sure that you have the
+    latest automake (I am using Debian Sid) and run ./autogen.sh to
+    create configure.  You also need to enable maintainer mode at
+    configure time with the `--enable-maintainer-mode' switch; without
+    this switch, the documentation can not be build, since the file
+    `version.texi', which is needed for building the documentation, will
+    only be generated, if maintainer mode is enabled.
+
+
+    Mailing List
+    ------------
+
+    You may want to join the developer's mailing list
+    gcrypt-devel@gnupg.org by sending mail with a subject of
+    "subscribe" to gcrypt-devel-request@gnupg.org.  An archive of this
+    list is available at http://lists.gnupg.org .
+
+
+    License
+    -------
+    
+    Most of this library is distributed under the terms of the GNU
+    Lesser General Public License (LGPL); see the file COPYING.LIB for
+    the actual terms.  However some parts are distributed under the
+    GNU General Public License (GPL) so if you configure Libgcrypt to
+    include these modules, you have to comply with the conditions of
+    the GPL as found in the file COPYING.  The modules under the GPL
+    are:
+
+      rndunix - Entropy gatherer for Unices without a /dev/random
+      rndw32  - Entropy gatherer for MS Windows
+
+    The documentation is available under the terms of the GNU Free
+    Documentation License; see the file COPYING.DOC for the terms.
+
+    This library used to be available under the GPL - this was changed
+    with version 1.1.7 with the rationale that there are now many free
+    crypto libraries available and many of them come with capabilities
+    similar to Libcrypt.  We decided that to foster the use of
+    cryptography in Free Software an LGPLed library would make more
+    sense because it avoids problems due to license incompatibilities
+    between some Free Software licenses and the GPL. 
+
+    Please note that in many cases it is better for a library to be
+    licensed under the GPL, so that it provides an advantage for free
+    software projects.  The Lesser GPL is so named because it does
+    less to protect the freedom of the users of the code that it
+    covers.  See http://www.gnu.org/philosophy/why-not-lgpl.html for
+    more explanation.
+
+
+    Configure options 
+    -----------------
+    Here is a list of configure options which are sometimes useful 
+    for installation.
+
+     --enable-m-guard
+                     Enable the integrated malloc checking code. Please
+                     note that this feature does not work on all CPUs
+                     (e.g. SunOS 5.7 on UltraSparc-2) and might give
+                     you a bus error.
+
+     --disable-asm
+                     Do not use assembler modules.  It is not possible 
+                     to use this on some CPU types.
+                    
+     --enable-ld-version-script
+                     Libgcrypt tries to build a library where internal
+                     symbols are not exported.  This requires support
+                     from ld and is currently enabled for a few OSes.
+                     If you know that your ld supports the so called
+                     ELF version scripts, you can use this option to
+                     force its use.  OTOH, if you get error message
+                     from the linker, you probably want to use this
+                     option to disable the use of version scripts.
+                     Note, that you should never ever use an
+                     undocumented symbol or one which is prefixed with
+                     an underscore.
+
+     --enable-ciphers=list
+     --enable-pubkey-ciphers=list
+     --enable-digests=list
+                     If not otherwise specified, all algorithms
+                     included in the libgcrypt source tree are built.
+                    An exception are algorithms, which depend on
+                    features not provided by the system, like 64bit
+                    data types.  With these switches it is possible
+                     to select exactly those algorithm modules, which
+                    should be built.