Release 1.7.0 libgcrypt-1.7.0
authorWerner Koch <wk@gnupg.org>
Fri, 15 Apr 2016 13:48:24 +0000 (15:48 +0200)
committerWerner Koch <wk@gnupg.org>
Fri, 15 Apr 2016 13:48:24 +0000 (15:48 +0200)
Signed-off-by: Werner Koch <wk@gnupg.org>
AUTHORS
NEWS
README
compat/compat.c
configure.ac
src/gcrypt.h.in
src/versioninfo.rc.in

diff --git a/AUTHORS b/AUTHORS
index b19612b..f89d585 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,6 +1,7 @@
 Library: Libgcrypt
-Homepage: http://www.gnu.org/software/libgcrypt/
-Download: ftp://ftp.gnupg.org/gcrypt/libgcrypt/
+Homepage: https://www.gnupg.org/related_software/libgcrypt/
+Download: https://ftp.gnupg.org/ftp/gcrypt/libgcrypt/
+          ftp://ftp.gnupg.org/gcrypt/libgcrypt/
 Repository: git://git.gnupg.org/libgcrypt.git
 Maintainer: Werner Koch <wk@gnupg.org>
 Bug reports: https://bugs.gnupg.org
@@ -8,6 +9,7 @@ Security related bug reports: <security@gnupg.org>
 License (library): LGPLv2.1+
 License (manual and tools): GPLv2+
 
+
 Libgcrypt is free software.  See the files COPYING.LIB and COPYING for
 copying conditions, and LICENSES for notices about a few contributions
 that require these additional notices to be distributed.  License
@@ -19,7 +21,7 @@ year that would otherwise be listed individually.
 List of Copyright holders
 =========================
 
-  Copyright (C) 1989,1991-2012 Free Software Foundation, Inc.
+  Copyright (C) 1989,1991-2016 Free Software Foundation, Inc.
   Copyright (C) 1994 X Consortium
   Copyright (C) 1996 L. Peter Deutsch
   Copyright (C) 1997 Werner Koch
@@ -28,12 +30,13 @@ List of Copyright holders
   Copyright (C) 1996-2006 Peter Gutmann, Matt Thomlinson and Blake Coverett
   Copyright (C) 2003 Nikos Mavroyanopoulos
   Copyright (C) 2006-2007 NTT (Nippon Telegraph and Telephone Corporation)
-  Copyright (C) 2012-2013 g10 Code GmbH
+  Copyright (C) 2012-2016 g10 Code GmbH
   Copyright (C) 2012 Simon Josefsson, Niels Möller
   Copyright (c) 2012 Intel Corporation
   Copyright (C) 2013 Christian Grothoff
-  Copyright (C) 2013 Jussi Kivilinna
-  Copyright (C) 2013 Dmitry Eremin-Solenikov
+  Copyright (C) 2013-2016 Jussi Kivilinna
+  Copyright (C) 2013-2014 Dmitry Eremin-Solenikov
+  Copyright (C) 2014 Stephan Mueller
 
 
 Authors with a FSF copyright assignment
@@ -193,10 +196,6 @@ More credits
 Libgcrypt used to be part of GnuPG but has been taken out into its own
 package on 2000-12-21.
 
-The ATH implementation (src/ath*) has been taken from GPGME and
-relicensed to the LGPL by the copyright holder of GPGME (g10 Code
-GmbH); it is now considered to be a part of Libgcrypt.
-
 Most of the stuff in mpi has been taken from an old GMP library
 version by Torbjorn Granlund <tege@noisy.tmg.se>.
 
diff --git a/NEWS b/NEWS
index 7b53c1a..254b205 100644 (file)
--- a/NEWS
+++ b/NEWS
-Noteworthy changes in version 1.7.0 (unreleased)
+Noteworthy changes in version 1.7.0 (2016-04-15)  [C21/A1/R0]
 ------------------------------------------------
 
- * Added emulation for broken Whirlpool code prior to 1.6.0.
+ * New algorithms and modes:
 
* Added support for curve sec256k1.
  - SHA3-224, SHA3-256, SHA3-384, SHA3-512, and MD2 hash algorithms.
 
* Added support for curves GOST R 34.10-2001 and GOST R 34.10-2012.
  - SHAKE128 and SHAKE256 extendable-output hash algorithms.
 
* Improved performance of KDF functions.
  - ChaCha20 stream cipher.
 
- * Improved ECDSA compliance.
+   - Poly1305 message authentication algorithm
 
- * Moved locking out to libgpg-error.
+   - ChaCha20-Poly1305 Authenticated Encryption with Associated Data
+     mode.
 
* Fixed message digest lookup by OID (regression in 1.6.0).
  - OCB mode.
 
* Fixed a build problem on NetBSD.
  - HMAC-MD2 for use by legacy applications.
 
- * Fixed memory leaks in ECC code.
+ * New curves for ECC:
 
* Fixed some asm build problems and feature detection bugs.
  - Curve25519.
 
* Added OCB mode.
  - sec256k1.
 
- * Added support for the SHA3-224, SHA3-256, SHA3-384 and SHA3-512
-   hash algorithms.
+   - GOST R 34.10-2001 and GOST R 34.10-2012.
+
+ * Performance:
+
+   - Improved performance of KDF functions.
+
+   - Assembler optimized implementations of Blowfish and Serpent on
+     ARM.
+
+   - Assembler optimized implementation of 3DES on x86.
+
+   - Improved AES using the SSSE3 based vector permutation method by
+     Mike Hamburg.
+
+   - AVX/BMI is used for SHA-1 and SHA-256 on x86.  This is for SHA-1
+     about 20% faster than SSSE3 and more than 100% faster than the
+     generic C implementation.
+
+   - 40% speedup for SHA-512 and 72% for SHA-1 on ARM Cortex-A8.
+
+   - 60-90% speedup for Whirlpool on x86.
+
+   - 300% speedup for RIPE MD-160.
+
+   - Up to 11 times speedup for CRC functions on x86.
+
+ * Other features:
+
+   - Improved ECDSA and FIPS 186-4 compliance.
+
+   - Support for Montgomery curves.
+
+   - gcry_cipher_set_sbox to tweak S-boxes of the gost28147 cipher
+     algorithm.
+
+   - gcry_mpi_ec_sub to subtract two points on a curve.
+
+   - gcry_mpi_ec_decode_point to decode an MPI into a point object.
+
+   - Emulation for broken Whirlpool code prior to 1.6.0.  [from 1.6.1]
 
- * Added support for the SHAKE128 and SHAKE256 extendable-output
-   function algorithms.
+   - Flag "pkcs1-raw" to enable PCKS#1 padding with a user supplied
+     hash part.
 
* Added support for the ChaCha20 stream cipher.
  - Parameter "saltlen" to set a non-default salt length for RSA PSS.
 
- * Added support for the Poly1305 message authentication algorithm and
-   ChaCha20-Poly1305 Authenticated Encryption with Associated Data
-   mode.
+   - A SP800-90A conforming DRNG replaces the former X9.31 alternative
+     random number generator.
 
- * New flag "no-keytest" for ECC key generation.  Due to a bug in the
-   parser that flag will also be accepted but ignored by older version
-   of Libgcrypt.
+   - Map deprecated RSA algo number to the RSA algo number for better
+     backward compatibility. [from 1.6.2]
+
+   - Use ciphertext blinding for Elgamal decryption [CVE-2014-3591].
+     See http://www.cs.tau.ac.il/~tromer/radioexp/ for details.
+     [from 1.6.3]
+
+   - Fixed data-dependent timing variations in modular exponentiation
+     [related to CVE-2015-0837, Last-Level Cache Side-Channel Attacks
+      are Practical]. [from 1.6.3]
+
+   - Flag "no-keytest" for ECC key generation.  Due to a bug in
+     the parser that flag will also be accepted but ignored by older
+     version of Libgcrypt. [from 1.6.4]
+
+   - Speed up the random number generator by requiring less extra
+     seeding. [from 1.6.4]
+
+   - Always verify a created RSA signature to avoid private key leaks
+     due to hardware failures. [from 1.6.4]
+
+   - Mitigate side-channel attack on ECDH with Weierstrass curves
+     [CVE-2015-7511].  See http://www.cs.tau.ac.IL/~tromer/ecdh/ for
+     details. [from 1.6.5]
+
+ * Internal changes:
+
+   - Moved locking out to libgpg-error.
+
+   - Support of the SYSROOT envvar in the build system.
+
+   - Refactor some code.
+
+   - The availability of a 64 bit integer type is now mandatory.
+
+ * Bug fixes:
+
+   - Fixed message digest lookup by OID (regression in 1.6.0).
+
+   - Fixed a build problem on NetBSD
+
+   - Fixed memory leaks in ECC code.
+
+   - Fixed some asm build problems and feature detection bugs.
 
  * Interface changes relative to the 1.6.0 release:
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- gcry_mac_get_algo               NEW.
- gcry_md_extract                 NEW.
- GCRY_MAC_HMAC_MD2               NEW.
- GCRY_MD_FLAG_BUGEMU1            NEW.
- GCRYCTL_SET_SBOX                NEW.
- gcry_cipher_set_sbox            NEW macro.
- GCRY_MD_GOSTR3411_CP            NEW.
- GCRY_MD_SHA3_224                NEW.
- GCRY_MD_SHA3_256                NEW.
- GCRY_MD_SHA3_384                NEW.
- GCRY_MD_SHA3_512                NEW.
- GCRY_MD_SHAKE128                NEW.
- GCRY_MD_SHAKE256                NEW.
- GCRY_MAC_HMAC_SHA3_224          NEW.
- GCRY_MAC_HMAC_SHA3_256          NEW.
- GCRY_MAC_HMAC_SHA3_384          NEW.
- GCRY_MAC_HMAC_SHA3_512          NEW.
- GCRY_MAC_POLY1305               NEW.
- GCRY_MAC_POLY1305_AES           NEW.
- GCRY_MAC_POLY1305_CAMELLIA      NEW.
- GCRY_MAC_POLY1305_TWOFISH       NEW.
- GCRY_MAC_POLY1305_SERPENT       NEW.
- GCRY_MAC_POLY1305_SEED          NEW.
- gcry_mpi_ec_sub                 NEW.
- gcry_mpi_ec_decode_point        NEW.
- GCRY_CIPHER_MODE_POLY1305       NEW.
- GCRY_CIPHER_MODE_OCB            NEW.
- GCRY_CIPHER_MODE_CFB8           NEW constant.
- GCRYCTL_SET_TAGLEN              NEW.
- GCRYCTL_GET_TAGLEN              NEW.
- gcry_cipher_final               NEW macro.
- GCRY_PK_EDDSA                   NEW constant.
-
-
-Noteworthy changes in version 1.6.0 (2013-12-16)
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   gcry_cipher_final               NEW macro.
+   GCRY_CIPHER_MODE_CFB8           NEW constant.
+   GCRY_CIPHER_MODE_OCB            NEW.
+   GCRY_CIPHER_MODE_POLY1305       NEW.
+   gcry_cipher_set_sbox            NEW macro.
+   gcry_mac_get_algo               NEW.
+   GCRY_MAC_HMAC_MD2               NEW.
+   GCRY_MAC_HMAC_SHA3_224          NEW.
+   GCRY_MAC_HMAC_SHA3_256          NEW.
+   GCRY_MAC_HMAC_SHA3_384          NEW.
+   GCRY_MAC_HMAC_SHA3_512          NEW.
+   GCRY_MAC_POLY1305               NEW.
+   GCRY_MAC_POLY1305_AES           NEW.
+   GCRY_MAC_POLY1305_CAMELLIA      NEW.
+   GCRY_MAC_POLY1305_SEED          NEW.
+   GCRY_MAC_POLY1305_SERPENT       NEW.
+   GCRY_MAC_POLY1305_TWOFISH       NEW.
+   gcry_md_extract                 NEW.
+   GCRY_MD_FLAG_BUGEMU1            NEW [from 1.6.1].
+   GCRY_MD_GOSTR3411_CP            NEW.
+   GCRY_MD_SHA3_224                NEW.
+   GCRY_MD_SHA3_256                NEW.
+   GCRY_MD_SHA3_384                NEW.
+   GCRY_MD_SHA3_512                NEW.
+   GCRY_MD_SHAKE128                NEW.
+   GCRY_MD_SHAKE256                NEW.
+   gcry_mpi_ec_decode_point        NEW.
+   gcry_mpi_ec_sub                 NEW.
+   GCRY_PK_EDDSA                   NEW constant.
+   GCRYCTL_GET_TAGLEN              NEW.
+   GCRYCTL_SET_SBOX                NEW.
+   GCRYCTL_SET_TAGLEN              NEW.
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+Version 1.6.5 (2016-02-09) [C20/A0/R5]
+Version 1.6.4 (2015-09-08) [C20/A0/R4]
+Version 1.6.3 (2015-02-27) [C20/A0/R3]
+Version 1.6.2 (2014-08-21) [C20/A0/R2]
+Version 1.6.1 (2014-01-29) [C20/A0/R1]
+
+
+Noteworthy changes in version 1.6.0 (2013-12-16) [C20/A0/R0]
 ------------------------------------------------
 
  * Removed the long deprecated gcry_ac interface.  Thus Libgcrypt is
diff --git a/README b/README
index 938c6c6..f9f49b5 100644 (file)
--- a/README
+++ b/README
@@ -2,11 +2,9 @@
                   ------------------------------------
                              Version 1.7
 
-     ====  THIS IS A DEVELOPMENT VERSION - NOT FOR REAL USE ====
-
-       Copyright (C) 1989,1991-2012 Free Software Foundation, Inc.
-       Copyright (C) 2012-2013 g10 Code GmbH
-       Copyright (C) 2013 Jussi Kivilinna
+       Copyright (C) 1989,1991-2016 Free Software Foundation, Inc.
+       Copyright (C) 2012-2016 g10 Code GmbH
+       Copyright (C) 2013-2016 Jussi Kivilinna
 
     Libgcrypt is free software.  See the file AUTHORS for full copying
     notices, and LICENSES for notices about contributions that require
@@ -76,7 +74,7 @@
     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 .
+    list is available at https://lists.gnupg.org .
 
 
     Configure options
 
     The library is distributed under the terms of the GNU Lesser
     General Public License (LGPL); see the file COPYING.LIB for the
-    actual terms.  The helper programs (e.g. gcryptrnd and getrandom)
-    as well as the documentation are distributed under the terms of
-    the GNU General Public License (GPL); see the file COPYING for the
-    actual terms.  The file LICENSES has notices about contributions
-    that require these additional notices are distributed.
-
-    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.
+    actual terms.
+
+    The helper programs as well as the documentation are distributed
+    under the terms of the GNU General Public License (GPL); see the
+    file COPYING for the actual terms.
+
+    The file LICENSES has notices about contributions that require
+    that these additional notices are distributed.
 
 
     Contact
 
     See the file AUTHORS.
 
-    Commercial grade support for Libgcrypt is available; please see
-    http://www.gnupg.org/service.html .
-
     Commercial grade support for Libgcrypt is available; for a listing
-    of offers see http://www.gnupg.org/service.html .  The driving
-    force behind the development of Libgcrypt is the company of its
-    principal author, Werner Koch.  Maintenance and improvement of
-    Libgcrypt takes up a lot resources.  To allow him to continue his
-    work, he asks to either purchase a support contract, engage them
-    for custom enhancements, or to donate money.  See http://g10code.com .
+    of offers see https://www.gnupg.org/service.html .
+
+    Maintenance and development of Libgcrypt is mostly financed by
+    donations.  We currently employ 3 full-time developers, one
+    part-timer, and one contractor.  They all work on GnuPG and
+    closely related software like Libgcrypt.  Please visit
+    https://gnupg.org/donate/ to see out how you can help.
 
 
   This file is Free Software; as a special exception the authors gives
index 39d6498..96b3e2e 100644 (file)
@@ -30,9 +30,9 @@ _gcry_compat_identification (void)
   static const char blurb[] =
     "\n\n"
     "This is Libgcrypt " PACKAGE_VERSION " - The GNU Crypto Library\n"
-    "Copyright (C) 2000-2012 Free Software Foundation, Inc.\n"
-    "Copyright (C) 2012-2014 g10 Code GmbH\n"
-    "Copyright (C) 2013-2014 Jussi Kivilinna\n"
+    "Copyright (C) 2000-2016 Free Software Foundation, Inc.\n"
+    "Copyright (C) 2012-2016 g10 Code GmbH\n"
+    "Copyright (C) 2013-2016 Jussi Kivilinna\n"
     "\n"
     "(" BUILD_REVISION " " BUILD_TIMESTAMP ")\n"
     "\n\n";
index 716c6ec..f683e21 100644 (file)
@@ -1,7 +1,7 @@
 # Configure.ac script for Libgcrypt
 # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006,
 #               2007, 2008, 2009, 2011 Free Software Foundation, Inc.
-# Copyright (C) 2012, 2013, 2014, 2015  g10 Code GmbH
+# Copyright (C) 2012, 2013, 2014, 2015, 2016  g10 Code GmbH
 #
 # This file is part of Libgcrypt.
 #
@@ -51,7 +51,6 @@ m4_define([mym4_full_version],[mym4_version[]mym4_betastring])
 AC_INIT([libgcrypt],[mym4_full_version],[http://bugs.gnupg.org])
 
 # LT Version numbers, remember to change them just *before* a release.
-# ====== NOTE: Already bumped to 21/1/0 for the 1.7.0 release. ====
 #   (Interfaces removed:    CURRENT++, AGE=0, REVISION=0)
 #   (Interfaces added:      CURRENT++, AGE++, REVISION=0)
 #   (No interfaces changed:                   REVISION++)
index 96d742a..02b8772 100644 (file)
@@ -1,8 +1,6 @@
 /* gcrypt.h -  GNU Cryptographic Library Interface              -*- c -*-
- * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- *               2006, 2007, 2008, 2009, 2010, 2011,
- *               2012  Free Software Foundation, Inc.
- * Copyright (C) 2012, 2013  g10 Code GmbH
+ * Copyright (C) 1998-2016 Free Software Foundation, Inc.
+ * Copyright (C) 2012-2016 g10 Code GmbH
  *
  * This file is part of Libgcrypt.
  *
index 3199521..1adb4e9 100644 (file)
@@ -39,7 +39,7 @@ BEGIN
             VALUE "FileDescription", "Libgcrypt - The GNU Crypto Library\0"
             VALUE "FileVersion", "@LIBGCRYPT_LT_CURRENT@.@LIBGCRYPT_LT_AGE@.@LIBGCRYPT_LT_REVISION@.@BUILD_REVISION@\0"
             VALUE "InternalName", "libgcrypt\0"
-            VALUE "LegalCopyright", "Copyright © 2012 Free Software Foundation, Inc.\0"
+            VALUE "LegalCopyright", "Copyright © 2016 Free Software Foundation, Inc.\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "libgcrypt.dll\0"
             VALUE "PrivateBuild", "\0"