We are pleased to announce version 1.1.42 of Libgcrypt, a general purpose cryptography library based on the code used in GnuPG. It may be downloaded from the following locations: ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt-1.1.42.tar.gz (802k) ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt-1.1.42.tar.gz.sig or as a diff to the last released version (1.1.12): ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt-1.1.12-1.1.42.diff.gz (438k) The files should soon appear on the mirrors listed at http://www.gnupg.org/mirrors.html. PLEASE USE THOSE MIRRORS! MD5 checksums are: b683557ce243bf6e1fe30515ed642c57 libgcrypt-1.1.42.tar.gz 8ceabc5edea6d92519423a525deb15f8 libgcrypt-1.1.12-1.1.42.diff.gz Bug reports and requests for assistance should be sent to gcrypt-devel@gnupg.org. PLEASE NOTE: This is still marked as an unstable development version. This release of Libgcrypt contains several important API changes, please see below for details. Noteworthy changes since version 1.1.12 --------------------------------------- All types have been renamed to conform to the GNU coding standards, most of the time by keeping the whole name in lowercase and inserting underscores between words. The concept of a Libgcrypt specific `errno' variable has been dropped entirely. Functions that used to set this errno variable, return an appropriate error code directly. Libgcrypt depends on libgpg-error, a library that provides error codes and according functions for all GnuPG components. Functions that used to return error codes asa `int' have been changed to return a code of type `gcry_error_t'. A new interface for the use of asymmetric cryptography is included. Backward compatibility is provided where it was possible without too much effort and did not collide with the overall sanitization effort. However, this is only for ease of transition. NO DEPRECATED FUNCTION OR DATA TYPE IS CONSIDERED A PART OF THE API OR ABI AND WILL BE DROPPED IN THE FUTURE WITHOUT CHANGING THE SONAME OF THE LIBRARY. Recommendations how to replace deprecated or removed functionality can be found within the description of each change. What follows are all changes to the interface and behaviour of Libgcrypt in detail. * If gcrypt.h is included in sources compiled by GCC 3.1 or later, deprecated attributes will warn about use of obsolete functions and type definitions. You can suppress these warnings by passing -Wno-deprecated-declarations to the gcc command. * gcry_check_version must be called from now on to initialize the library, it is not longer optional. * The following types have been renamed. The old types are still available as aliases, but they are deprecated now: Old name: New name: GCRY_MPI gcry_mpi_t GcryMPI gcry_mpi_t GCRY_SEXP gcry_sexp_t GcrySexp gcry_sexp_t GCRY_CIPHER_HD gcry_cipher_hd_t GcryCipherHd gcry_cipher_hd_t GCRY_MD_HD gcry_md_hd_t GcryMDHd gcry_md_hd_t * All GCRYERR_* error symbols have been removed, since they are now contained in libgpg-error (GPG_ERR_*). * All functions and types in libgpg-error have been wrapped in Libgcrypt. The new types are gcry_err_code_t and gcry_err_source_t. The new functions are gcry_err_code, gcry_err_source, gcry_error, gcry_err_make, gcry_error_from_errno, gcry_err_make_from_errno, gcry_err_code_from_errno, gcry_err_code_to_errno, gcry_strsource. * New cipher: Twofish128; New cipher modes: CTR, CBC-MAC. * New message digests: SHA384, SHA512, CRC-32, CRC32-RFC1510, CRC-24-RFC2440. * For RSA decrypt operations, RSA blinding is used automatically to prevent the leaking of timing informationen, that can be used to compute the secret key, in case the operations can be measured precisely. This mode of operation can be disabled with a special flag. * gcry_sexp_canon_len does not use a `historically encoded' error code anymore. Complete list of interface changes: ----------------------------------- GCRY_MPI DEPRECATED; Use: gcry_mpi_t GcryMPI DEPRECATED; Use: gcry_mpi_t GCRY_SEXP DEPRECATED; Use: gcry_sexp_t GcrySexp DEPRECATED; Use: gcry_sexp_t GCRY_CIPHER_HD DEPRECATED; Use: gcry_cipher_hd_t GcryCipherHd DEPRECATED; Use: gcry_cipher_hd_t GCRY_MD_HD DEPRECATED; Use: gcry_md_hd_t GcryMDHd DEPRECATED; Use: gcry_md_hd_t gcry_error_t NEW gcry_err_code_t NEW gcry_err_source_t NEW gcry_err_make NEW gcry_error NEW gcry_err_code NEW gcry_err_source NEW gcry_err_code_from_errno NEW gcry_err_code_to_errno NEW gcry_err_make_from_errno NEW gcry_error_from_errno NEW gcry_strsource NEW GCRYERR_{some error code} REMOVED; Use GPG_ERR_* from libgpg-error instead. gcry_errno REMOVED gcry_sexp_canon_len CHANGED gcry_sexp_build_array NEW gcry_mpi_scan CHANGED: New argument to separate in/out args. gcry_mpi_print CHANGED: Ditto. gcry_mpi_dump NEW gcry_cipher_open CHANGED gcry_cipher_reset NEW gcry_cipher_register NEW gcry_cipher_unregister NEW gcry_cipher_list NEW gcry_cipher_algo_keylen REPLACED macro with function. gcry_cipher_algo_blklen REPLACED macro with function. gcry_pk_register NEW gcry_pk_unregister NEW gcry_pk_list NEW gcry_pk_decrypt ENHANCED: Allows flag to return complete S-expression. gcry_md_open CHANGED gcry_md_copy CHANGED gcry_md_is_enabled NEW gcry_md_is_secure NEW gcry_md_register NEW gcry_md_unregister NEW gcry_md_list NEW gcry_ac_data_t NEW gcry_ac_key_t NEW gcry_ac_key_pair_t NEW gcry_ac_handle_t NEW gcry_ac_key_spec_rsa_t NEW gcry_ac_data_new NEW gcry_ac_data_destroy NEW gcry_ac_data_set NEW gcry_ac_data_copy NEW gcry_ac_data_length NEW gcry_ac_data_get_name NEW gcry_ac_data_get_index NEW gcry_ac_data_clear NEW gcry_ac_open NEW gcry_ac_close NEW gcry_ac_key_init NEW gcry_ac_key_pair_generate NEW gcry_ac_key_pair_extract NEW gcry_ac_key_data_get NEW gcry_ac_key_test NEW gcry_ac_key_get_nbits NEW gcry_ac_key_get_grip NEW gcry_ac_key_destroy NEW gcry_ac_key_pair_destroy NEW gcry_ac_data_encrypt NEW gcry_ac_data_decrypt NEW gcry_ac_data_sign NEW gcry_ac_data_verify NEW gcry_ac_id_to_name NEW gcry_ac_name_to_id NEW gcry_handler_progress_t NEW gcry_handler_alloc_t NEW gcry_handler_secure_check_t NEW gcry_handle_realloc_t NEW gcry_handler_free_t NEW gcry_handler_no_mem_t NEW gcry_handler_error_t NEW gcry_handler_log_t NEW -- Moritz Schulte -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 We are pleased to announce version 1.1.42 of Libgcrypt, a general purpose cryptography library based on the code used in GnuPG. It may be downloaded from the following locations: ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt-1.1.42.tar.gz (802k) ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt-1.1.42.tar.gz.sig or as a diff to the last released version (1.1.12): ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt-1.1.12-1.1.42.diff.gz (438k) The files should soon appear on the mirrors listed at http://www.gnupg.org/mirrors.html. PLEASE USE THOSE MIRRORS! MD5 checksums are: b683557ce243bf6e1fe30515ed642c57 libgcrypt-1.1.42.tar.gz 8ceabc5edea6d92519423a525deb15f8 libgcrypt-1.1.12-1.1.42.diff.gz Bug reports and requests for assistance should be sent to gcrypt-devel@gnupg.org. PLEASE NOTE: This is still marked as an unstable development version. This release of Libgcrypt contains several important API changes, please see below for details. Noteworthy changes since version 1.1.12 - --------------------------------------- All types have been renamed to conform to the GNU coding standards, most of the time by keeping the whole name in lowercase and inserting underscores between words. The concept of a Libgcrypt specific `errno' variable has been dropped entirely. Functions that used to set this errno variable, return an appropriate error code directly. Libgcrypt depends on libgpg-error, a library that provides error codes and according functions for all GnuPG components. Functions that used to return error codes asa `int' have been changed to return a code of type `gcry_error_t'. A new interface for the use of asymmetric cryptography is included. Backward compatibility is provided where it was possible without too much effort and did not collide with the overall sanitization effort. However, this is only for ease of transition. NO DEPRECATED FUNCTION OR DATA TYPE IS CONSIDERED A PART OF THE API OR ABI AND WILL BE DROPPED IN THE FUTURE WITHOUT CHANGING THE SONAME OF THE LIBRARY. Recommendations how to replace deprecated or removed functionality can be found within the description of each change. What follows are all changes to the interface and behaviour of Libgcrypt in detail. * If gcrypt.h is included in sources compiled by GCC 3.1 or later, deprecated attributes will warn about use of obsolete functions and type definitions. You can suppress these warnings by passing -Wno-deprecated-declarations to the gcc command. * gcry_check_version must be called from now on to initialize the library, it is not longer optional. * The following types have been renamed. The old types are still available as aliases, but they are deprecated now: Old name: New name: GCRY_MPI gcry_mpi_t GcryMPI gcry_mpi_t GCRY_SEXP gcry_sexp_t GcrySexp gcry_sexp_t GCRY_CIPHER_HD gcry_cipher_hd_t GcryCipherHd gcry_cipher_hd_t GCRY_MD_HD gcry_md_hd_t GcryMDHd gcry_md_hd_t * All GCRYERR_* error symbols have been removed, since they are now contained in libgpg-error (GPG_ERR_*). * All functions and types in libgpg-error have been wrapped in Libgcrypt. The new types are gcry_err_code_t and gcry_err_source_t. The new functions are gcry_err_code, gcry_err_source, gcry_error, gcry_err_make, gcry_error_from_errno, gcry_err_make_from_errno, gcry_err_code_from_errno, gcry_err_code_to_errno, gcry_strsource. * New cipher: Twofish128; New cipher modes: CTR, CBC-MAC. * New message digests: SHA384, SHA512, CRC-32, CRC32-RFC1510, CRC-24-RFC2440. * For RSA decrypt operations, RSA blinding is used automatically to prevent the leaking of timing informationen, that can be used to compute the secret key, in case the operations can be measured precisely. This mode of operation can be disabled with a special flag. * gcry_sexp_canon_len does not use a `historically encoded' error code anymore. Complete list of interface changes: - ----------------------------------- GCRY_MPI DEPRECATED; Use: gcry_mpi_t GcryMPI DEPRECATED; Use: gcry_mpi_t GCRY_SEXP DEPRECATED; Use: gcry_sexp_t GcrySexp DEPRECATED; Use: gcry_sexp_t GCRY_CIPHER_HD DEPRECATED; Use: gcry_cipher_hd_t GcryCipherHd DEPRECATED; Use: gcry_cipher_hd_t GCRY_MD_HD DEPRECATED; Use: gcry_md_hd_t GcryMDHd DEPRECATED; Use: gcry_md_hd_t gcry_error_t NEW gcry_err_code_t NEW gcry_err_source_t NEW gcry_err_make NEW gcry_error NEW gcry_err_code NEW gcry_err_source NEW gcry_err_code_from_errno NEW gcry_err_code_to_errno NEW gcry_err_make_from_errno NEW gcry_error_from_errno NEW gcry_strsource NEW GCRYERR_{some error code} REMOVED; Use GPG_ERR_* from libgpg-error instead. gcry_errno REMOVED gcry_sexp_canon_len CHANGED gcry_sexp_build_array NEW gcry_mpi_scan CHANGED: New argument to separate in/out args. gcry_mpi_print CHANGED: Ditto. gcry_mpi_dump NEW gcry_cipher_open CHANGED gcry_cipher_reset NEW gcry_cipher_register NEW gcry_cipher_unregister NEW gcry_cipher_list NEW gcry_cipher_algo_keylen REPLACED macro with function. gcry_cipher_algo_blklen REPLACED macro with function. gcry_pk_register NEW gcry_pk_unregister NEW gcry_pk_list NEW gcry_pk_decrypt ENHANCED: Allows flag to return complete S-expression. gcry_md_open CHANGED gcry_md_copy CHANGED gcry_md_is_enabled NEW gcry_md_is_secure NEW gcry_md_register NEW gcry_md_unregister NEW gcry_md_list NEW gcry_ac_data_t NEW gcry_ac_key_t NEW gcry_ac_key_pair_t NEW gcry_ac_handle_t NEW gcry_ac_key_spec_rsa_t NEW gcry_ac_data_new NEW gcry_ac_data_destroy NEW gcry_ac_data_set NEW gcry_ac_data_copy NEW gcry_ac_data_length NEW gcry_ac_data_get_name NEW gcry_ac_data_get_index NEW gcry_ac_data_clear NEW gcry_ac_open NEW gcry_ac_close NEW gcry_ac_key_init NEW gcry_ac_key_pair_generate NEW gcry_ac_key_pair_extract NEW gcry_ac_key_data_get NEW gcry_ac_key_test NEW gcry_ac_key_get_nbits NEW gcry_ac_key_get_grip NEW gcry_ac_key_destroy NEW gcry_ac_key_pair_destroy NEW gcry_ac_data_encrypt NEW gcry_ac_data_decrypt NEW gcry_ac_data_sign NEW gcry_ac_data_verify NEW gcry_ac_id_to_name NEW gcry_ac_name_to_id NEW gcry_handler_progress_t NEW gcry_handler_alloc_t NEW gcry_handler_secure_check_t NEW gcry_handle_realloc_t NEW gcry_handler_free_t NEW gcry_handler_no_mem_t NEW gcry_handler_error_t NEW gcry_handler_log_t NEW - -- Moritz Schulte -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/KQruCEEte2+YQZkRAmeLAJ9cV1YnZD0AesztLw8KkC8RVH8IMgCeIwUF BK5fVSUHx45ZfYAIUzvo4l4=0a0U -----END PGP SIGNATURE-----