Mailing List Archive

Libgcrypt 1.1.42 released
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-----