[Announce] Libgcrypt 1.7.0 released
wk at gnupg.org
Fri Apr 15 17:42:37 CEST 2016
The GnuPG Project is pleased to announce the availability of Libgcrypt
version 1.7.0. This is a new stable version of Libgcrypt with full API
and ABI compatibiliy to the 1.6 series. Its main features are new
algorithms, curves, and performance improvements.
Libgcrypt is a general purpose library of cryptographic building blocks.
It is originally based on code used by GnuPG. It does not provide any
implementation of OpenPGP or other protocols. Thorough understanding of
applied cryptography is required to use Libgcrypt.
Noteworthy changes between version 1.6.0 and 1.7.0:
* New algorithms and modes:
- SHA3-224, SHA3-256, SHA3-384, SHA3-512, and MD2 hash algorithms.
- SHAKE128 and SHAKE256 extendable-output hash algorithms.
- ChaCha20 stream cipher.
- Poly1305 message authentication algorithm
- ChaCha20-Poly1305 Authenticated Encryption with Associated Data
- OCB mode.
- HMAC-MD2 for use by legacy applications.
* New curves for ECC:
- GOST R 34.10-2001 and GOST R 34.10-2012.
- Improved performance of KDF functions.
- Assembler optimized implementations of Blowfish and Serpent on
- Assembler optimized implementation of 3DES on x86.
- Improved AES using the SSSE3 based vector permutation method by
- 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
- 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]
- Flag "pkcs1-raw" to enable PCKS#1 padding with a user supplied
- Parameter "saltlen" to set a non-default salt length for RSA PSS.
- A SP800-90A conforming DRNG replaces the former X9.31 alternative
random number generator.
- 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.
- 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.
For interface changes relative to the 1.6.0 release see below . Note
that the 1.6 series will enter end-of-life state on 2017-06-30.
Source code is hosted at the GnuPG FTP server and its mirrors as listed
at https://gnupg.org/download/mirrors.html . On the primary server
the source tarball and its digital signature are:
That file is bzip2 compressed. A gzip compressed version is here:
The same files are also available via HTTP:
In order to check that the version of Libgcrypt you downloaded is an
original and unmodified file please follow the instructions found at
<https://gnupg.org/download/integrity_check.html>. In short, you may
use one of the following mthods:
- Check the supplied OpenPGP signature. For example to check the
signature of the file libgcrypt-1.7.0.tar.bz2 you would use this
gpg --verify libgcrypt-1.7.0.tar.bz2.sig libgcrypt-1.7.0.tar.bz2
This checks whether the signature file matches the source file. You
should see a message indicating that the signature is good and made
by one or more of the release signing keys.
- If you are not able to use GnuPG, you have to verify the SHA-1
and check that the output matches the first line from the
You should also verify that the checksums above are authentic by
matching them with copies of this announcement. Those copies can be
found at other mailing lists, web sites, and search engines.
Libgcrypt is distributed under the terms of the GNU Lesser General
Public License (LGPLv2.1+). The helper programs as well as the
documentation are distributed under the terms of the GNU General Public
License (GPLv2+). The file LICENSES has notices about contributions
that require that these additional notices are distributed.
For help on developing with Libgcrypt you should read the included
manual and optional ask on the gcrypt-devel mailing list . A
listing with commercial support offers for Libgcrypt and related
software is available at the GnuPG web site .
If you are a developer and you may need a certain feature for your
project, please do not hesitate to bring it to the gcrypt-devel mailing
list for discussion.
Maintenance and development of Libgcrypt is mostly financed by
donations; see <https://gnupg.org/donate/>. We currently employ
3 full-time developers, one part-timer, and one contractor to work on
GnuPG and closely related software like Libgcrypt.
We like to thank all the people who helped with this release, be it
testing, coding, translating, suggesting, auditing, administering the
servers, spreading the word, and answering questions on the mailing
lists. Also many thanks to all our donors . Special thanks go to
Jussi Kivilinna for all of his performance improvement work.
For the GnuPG hackers,
This is an announcement only mailing list. Please send replies only to
the gcrypt-devel 'at' gnupg.org mailing list.
 Interface changes relative to the 1.6.0 release:
gcry_cipher_final NEW macro.
GCRY_CIPHER_MODE_CFB8 NEW constant.
gcry_cipher_set_sbox NEW macro.
GCRY_MD_FLAG_BUGEMU1 NEW [from 1.6.1].
GCRY_PK_EDDSA NEW constant.
Die Gedanken sind frei. Ausnahmen regelt ein Bundesgesetz.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 180 bytes
Desc: not available
-------------- next part --------------
Gnupg-announce mailing list
Gnupg-announce at gnupg.org
More information about the Gnupg-devel