To: gnupg-announce@gnupg.org, info-gnu@gnu.org Cc: gcrypt-devel@gnupg.org Hello! We are pleased to announce the availability of Libgcrypt 1.4.0. This is the new stable version of Libgcrypt and upward compatible with the 1.2 series. The 1.2 series will enter end of life state in 2 years on 2009-12-31. 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 1.2.x and 1.4.0 are: * Support for SHA-224 and HMAC using SHA-384 and SHA-512. * Support for the SEED cipher. * Support for the Camellia cipher. * Support for OFB encryption mode. * Support for DSA2. * Support for Microsoft Windows. * The entire library is now under the LGPLv2+. The helper programs and the manual are under the GPLv2+. Kudos to Peter Gutmann for giving permissions to relicense the rndw32 and rndunix modules. * The visibility attribute is now used if supported by the toolchain. * The ACE engine of VIA processors is now used for AES-128. * Changed the way the RNG gets initialized. This allows to keep it uninitialized as long as no random numbers are used. * Updated the entropy gatherer for W32. * Made the RNG immune against fork without exec. * Reading and writing the random seed file is now protected by a fcntl style file lock on systems that provide this function. * gcry_mpi_rshift does not anymore truncate the shift count. * Reserved algorithm ranges for use by applications. * The new function gcry_md_debug should be used instead of the gcry_md_start_debug and gcry_md_stop_debug macros. * Non executable stack support is now used by default on systems supporting it. * Assembler support for the AMD64 architecture. * New configure option --enable-mpi-path for optimized builds. * Fixed a bug in the detection of symbol prefixes which inhibited the build of optimized assembler code on certain systems. * New control code GCRYCTL_PRINT_CONFIG to print the build configuration. * Experimental support for ECDSA; should only be used for testing. * New configure option --enable-random-daemon to support a system wide random daemon. The daemon code is experimental and not yet very well working. It will eventually allow to keep a global random pool for the sake of short living processes. * Minor changes to some function declarations. Buffer arguments are now typed as void pointer. This should not affect any compilation. Fixed two bugs in return values and clarified documentation. * Interface changes relative to the 1.2.0 release: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gcry_fast_random_pol NEW. gcry_md_debug NEW. gcry_sexp_nth_string NEW. GCRY_MD_SHA224 NEW. GCRY_PK_USAGE_CERT NEW. GCRY_PK_USAGE_AUTH NEW. GCRY_PK_USAGE_UNKN NEW. GCRY_PK_ECDSA NEW. GCRY_CIPHER_SEED NEW. GCRY_CIPHER_CAMELLIA128 NEW. GCRY_CIPHER_CAMELLIA192 NEW. GCRY_CIPHER_CAMELLIA256 NEW. GCRYCTL_FAKED_RANDOM_P NEW. GCRYCTL_PRINT_CONFIG NEW. GCRYCTL_SET_RNDEGD_SOCKET NEW. gcry_mpi_scan CHANGED: Argument BUFFER is now void*. gcry_pk_algo_name CHANGED: Returns "?" instead of NULL. gcry_cipher_algo_name CHANGED: Returns "?" instead of "". gcry_pk_spec_t CHANGED: Element ALIASES is now const ptr. gcry_md_write_t CHANGED: Argument BUF is now a const void*. gcry_md_ctl CHANGED: Argument BUFFER is now void*. gcry_cipher_encrypt CHANGED: Arguments IN and OUT are now void*. gcry_cipher_decrypt CHANGED: Arguments IN and OUT are now void*. gcry_sexp_sprint CHANGED: Argument BUFFER is now void*. gcry_create_nonce CHANGED: Argument BUFFER is now void*. gcry_randomize CHANGED: Argument BUFFER is now void*. gcry_cipher_register CHANGED: Argument ALGORITHM_ID is now int*. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Source code is hosted at the GnuPG FTP server and its mirrors as listed at http://www.gnupg.org/download/mirrors.html . On the primary server the source file and its digital signatures is: ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.0.tar.bz2 (942k) ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.0.tar.bz2.sig This file is bzip2 compressed. A gzip compressed version is also available: ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.0.tar.gz (1176k) ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.0.tar.gz.sig The SHA-1 checksums are: cd1b52e8ecfa361737c6f130ed2f1d850e312c16 libgcrypt-1.4.0.tar.bz2 69183b7100b60da8eb1648f49836a611454541bb libgcrypt-1.4.0.tar.gz For help on developing with Libgcrypt you should read the included manual and optional ask on the gcrypt-devel mailing list [1]. Improving Libgcrypt is costly, but you can help! We are looking for organizations that find Libgcrypt useful and wish to contribute back. You can contribute by reporting bugs, improve the software [2], or by donating money. Commercial support contracts for Libgcrypt are available [3], and they help finance continued maintenance. g10 Code GmbH, a Duesseldorf based company, is currently funding Libgcrypt development. We are always looking for interesting development projects. Many thanks to all who contributed to Libgcrypt development, be it bug fixes, code, documentation, testing or helping users. Happy hacking, Werner [1] See http://www.gnupg.org/documentation/mailing-lists.html . [2] Note that copyright assignments to the FSF are required. [3] See the service directory at http://www.gnupg.org/service.html .