Implement deterministic ECDSA as specified by rfc-6979.
[libgcrypt.git] / NEWS
1 Noteworthy changes in version 1.6.0 (unreleased)
2 ------------------------------------------------
3
4  * Removed the long deprecated gcry_ac interface.  Thus Libgcrypt is
5    not anymore ABI compatible to previous versions if they used the ac
6    interface.
7
8  * Removed the module register subsystem.
9
10  * The deprecated message digest debug macros have been removed.  Use
11    gcry_md_debug instead.
12
13  * Added support for the IDEA cipher algorithm.
14
15  * Added support for the Salsa20 stream cipher.
16
17  * Added a random number generator to directly use the system's RNG.
18    Also added an interface to prefer the use of a specified RNG.
19
20  * Added support for the SCRYPT algorithm.
21
22  * Mitigate the Yarom/Falkner flush+reload side-channel attack on RSA
23    secret keys.  See <http://eprint.iacr.org/2013/448> [CVE-2013-4242].
24
25  * Support Deterministic DSA as per RFC-6969.
26
27  * Interface changes relative to the 1.5.0 release:
28  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29  gcry_ac_*              REMOVED.
30  GCRY_AC_*              REMOVED.
31  gcry_module_t          REMOVED.
32  gcry_cipher_register   REMOVED.
33  gcry_cipher_unregister REMOVED.
34  gcry_cipher_list       REMOVED.
35  gcry_pk_register       REMOVED.
36  gcry_pk_unregister     REMOVED.
37  gcry_pk_list           REMOVED.
38  gcry_md_register       REMOVED.
39  gcry_md_unregister     REMOVED.
40  gcry_md_list           REMOVED.
41  gcry_md_start_debug    REMOVED (macro).
42  gcry_md_stop_debug     REMOVED (macro).
43  GCRYCTL_SET_ENFORCED_FIPS_FLAG  NEW.
44  GCRYCTL_SET_PREFERRED_RNG_TYPE  NEW.
45  GCRYCTL_GET_CURRENT_RNG_TYPE    NEW.
46  GCRY_RNG_TYPE_STANDARD          NEW.
47  GCRY_RNG_TYPE_FIPS              NEW.
48  GCRY_RNG_TYPE_SYSTEM            NEW.
49  gcry_mpi_snatch                 NEW.
50  gcry_mpi_point_t                NEW.
51  gcry_mpi_point_new              NEW.
52  gcry_mpi_point_release          NEW.
53  gcry_mpi_point_get              NEW.
54  gcry_mpi_point_snatch_get       NEW.
55  gcry_mpi_point_set              NEW.
56  gcry_mpi_point_snatch_set       NEW.
57  gcry_ctx_t                      NEW.
58  gcry_ctx_release                NEW.
59  gcry_mpi_ec_new                 NEW.
60  gcry_mpi_ec_get_mpi             NEW.
61  gcry_mpi_ec_get_point           NEW.
62  gcry_mpi_ec_set_mpi             NEW.
63  gcry_mpi_ec_set_point           NEW.
64  gcry_mpi_ec_get_affine          NEW.
65  gcry_mpi_ec_dup                 NEW.
66  gcry_mpi_ec_add                 NEW.
67  gcry_mpi_ec_mul                 NEW.
68  GCRYMPI_FLAG_IMMUTABLE          NEW.
69  GCRYMPI_FLAG_CONST              NEW.
70  GCRYMPI_CONST_ONE               NEW.
71  GCRYMPI_CONST_TWO               NEW.
72  GCRYMPI_CONST_THREE             NEW.
73  GCRYMPI_CONST_FOUR              NEW.
74  GCRYMPI_CONST_EIGHT             NEW.
75  GCRYPT_VERSION_NUMBER           NEW.
76  GCRY_KDF_SCRYPT                 NEW.
77  gcry_pubkey_get_sexp            NEW.
78  GCRYCTL_DISABLE_LOCKED_SECMEM   NEW.
79  GCRYCTL_DISABLE_PRIV_DROP       NEW.
80  GCRY_CIPHER_SALSA20             NEW.
81  gcry_sexp_nth_buffer            NEW.
82
83
84 Noteworthy changes in version 1.5.0 (2011-06-29)
85 ------------------------------------------------
86
87  * New function gcry_kdf_derive implementing OpenPGP S2K algorithms
88    and PBKDF2.
89
90  * Support for WindowsCE.
91
92  * Support for ECDH.
93
94  * Support for OAEP and PSS methods as described by RFC-3447.
95
96  * Fixed PKCS v1.5 code to always return the leading zero.
97
98  * New format specifiers "%M" and "%u" for gcry_sexp_build.
99
100  * Support opaque MPIs with "%m" and "%M" in gcry_sexp_build.
101
102  * New functions gcry_pk_get_curve and gcry_pk_get_param to map ECC
103    parameters to a curve name and to retrieve parameter values.
104
105  * gcry_mpi_cmp applied to opaque values has a defined semantic now.
106
107  * Uses the Intel AES-NI instructions if available.
108
109  * The use of the deprecated Alternative Public Key Interface
110    (gcry_ac_*) will now print compile time warnings.
111
112  * The module register subsystem has been deprecated.  This subsystem
113    is not flexible enough and would always require ABI changes to
114    extend the internal interfaces.  It will eventually be removed.
115    Please contact us on the gcrypt-devel mailing list to discuss
116    whether you really need this feature or how it can be replaced by
117    an internal plugin mechanism.
118
119  * CTR mode may now be used with data chunks of arbitrary length.
120
121  * Changes also done in 1.4.6 (2010-07-13):
122  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
123
124  * New variants of the TIGER algorithm.
125
126  * New cipher algorithm mode for AES-WRAP.
127
128  * Changes also done in 1.4.5 (2009-12-11):
129  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
130
131  * Fixed minor memory leak in DSA key generation.
132
133  * No more switching to FIPS mode if /proc/version is not readable.
134
135  * Fixed sigill during Padlock detection on old CPUs.
136
137  * Fixed a hang on some W2000 machines.
138
139  * Boosted SHA-512 performance by 30% on ia32 boxes and gcc 4.3;
140    SHA-256 went up by 25%.
141
142  * Interface changes relative to the 1.4.6 release:
143  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
144  GCRY_PK_ECDH               NEW.
145  gcry_pk_get_curve          NEW.
146  gcry_pk_get_param          NEW.
147  GCRYCTL_DISABLE_HWF        NEW.
148  gcry_kdf_derive            NEW.
149  gcry_pk_encrypt            EXTENDED: Support OAEP.
150  gcry_pk_decrypt            EXTENDED: Support OAEP.
151  gcry_pk_sign               EXTENDED: Support PSS.
152  gcry_pk_verify             EXTENDED: Support PSS.
153  gcry_sexp_build            EXTENDED: Add format specifiers M and u.
154
155  * Interface changes relative to the 1.4.2 release:
156  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
157  GCRY_CIPHER_MODE_AESWRAP   NEW.
158  GCRY_MD_TIGER1             NEW.
159  GCRY_MD_TIGER2             NEW.
160
161
162 Noteworthy changes in version 1.4.4 (2009-01-22)
163 ------------------------------------------------
164
165  * Publish GCRY_MODULE_ID_USER and GCRY_MODULE_ID_USER_LAST constants.
166    This functionality has been in Libgcrypt since 1.3.0.
167
168  * MD5 may now be used in non-enforced fips mode.
169
170  * Fixed HMAC for SHA-384 and SHA-512 with keys longer than 64 bytes.
171
172  * In fips mode, RSA keys are now generated using the X9.31 algorithm
173    and DSA keys using the FIPS 186-2 algorithm.
174
175  * The transient-key flag is now also supported for DSA key
176    generation.  DSA domain parameters may be given as well.
177
178
179 Noteworthy changes in version 1.4.3 (2008-09-18)
180 ------------------------------------------------
181
182  * Try to auto-initialize Libgcrypt to minimize the effect of
183    applications not doing that correctly.  This is not a perfect
184    solution but given that many applicationion would totally fail
185    without such a hack, we try to help at least with the most common
186    cases.  Folks, please read the manual to learn how to properly
187    initialize Libgcrypt!
188
189  * Auto-initialize the secure memory to 32k instead of aborting the
190    process.
191
192  * Log fatal errors via syslog.
193
194  * Changed the name and the semantics of the fips mode config file.
195
196  * Add convenience macro gcry_fips_mode_active.
197
198  * More self-tests.
199
200  * Documentation cleanups.
201
202
203 Noteworthy changes in version 1.4.2 (2008-09-08)
204 ------------------------------------------------
205
206  * The long missing gcry_mpi_lshift function has been added.
207
208  * RSA key generation now supports a "transient-key" flag.
209
210  * The keygrip computation for ECDSA has been implemented thus ECDSA
211    is now fully supported.
212
213  * A few macros have been replaced by functions for better type
214    checking.
215
216  * The thread initialization structure now carries version
217    information.
218
219  * The manual describes more clearly how to initialize Libgcrypt.
220
221  * The library may now be switched into a FIPS mode.
222
223  * Interface changes relative to the 1.3.0 release:
224  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
225  GCRYCTL_OPERATIONAL_P   NEW.
226  GCRYCTL_FIPS_MODE_P     NEW.
227  GCRYCTL_FORCE_FIPS_MODE NEW.
228  gcry_cipher_setkey      NEW: Replaces macro.
229  gcry_cipher_setiv       NEW: Replaces macro.
230  gcry_cipher_setctr      NEW: Replaces macro.
231  gcry_mpi_lshift         NEW.
232  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233
234
235 Noteworthy changes in version 1.4.1 (2008-04-25)
236 ------------------------------------------------
237
238  * Fixed a bug introduced by 1.3.1 which led to the comsumption of far
239    too much entropy for the intial seeding.
240
241  * Improved AES performance for CFB and CBC modes.
242
243  * Removed build problems for the Padlock support.
244
245
246 Noteworthy changes in version 1.4.0 (2007-12-10)
247 ------------------------------------------------
248
249  * New configure option --disable-padlock-support which is mostly
250    useful in case of build problems.
251
252
253 Noteworthy changes in version 1.3.2 (2007-12-03)
254 ------------------------------------------------
255
256  * The visibility attribute is now used if supported by the toolchain.
257
258  * The ACE engine of VIA processors is now used for AES-128.
259
260  * The ASN.1 DER template for SHA-224 has been fixed.
261
262
263 Noteworthy changes in version 1.3.1 (2007-10-26)
264 ------------------------------------------------
265
266  * The entire library is now under the LGPL. The helper programs and
267    the manual are under the GPL.  Kudos to Peter Gutmann for giving
268    permissions to relicense the rndw32 and rndunix modules.
269
270  * The Camellia cipher is now under the LGPL and included by default.
271
272  * Fixed a bug in the detection of symbol prefixes which inhibited the
273    build of optimzied assembler code on certain systems.
274
275  * Updated the entropy gatherer for W32.
276
277
278 Noteworthy changes in version 1.3.0 (2007-05-04)
279 ------------------------------------------------
280
281  * Changed the way the RNG gets initialized. This allows to keep it
282    uninitialized as long as no random numbers are used.  To override
283    this, the new macro gcry_fast_random_poll may be used.  It is in
284    general a good idea to spread this macro into the application code
285    to make sure that these polls happen often enough.
286
287  * Made the RNG immune against fork without exec.
288
289  * Reading and writing the random seed file is now protected by a
290    fcntl style file lock on systems that provide this function.
291
292  * Support for SHA-224 and HMAC using SHA-384 and SHA-512.
293
294  * Support for the SEED cipher.
295
296  * Support for the Camellia cipher.  Note that Camellia is disabled by
297    default, and that enabling it changes the license of libgcrypt from
298    LGPL to GPL.
299
300  * Support for OFB encryption mode.
301
302  * gcry_mpi_rshift does not anymore truncate the shift count.
303
304  * Reserved algorithm ranges for use by applications.
305
306  * Support for DSA2.
307
308  * The new function gcry_md_debug should be used instead of the
309    gcry_md_start_debug and gcry_md_stop_debug macros.
310
311  * New configure option --enable-random-daemon to support a system
312    wide random daemon.  The daemon code is experimental and not yet
313    very well working.  It will eventually allow to keep a global
314    random pool for the sake of short living processes.
315
316  * Non executable stack support is now used by default on systems
317    supporting it.
318
319  * Support for Microsoft Windows.
320
321  * Assembler support for the AMD64 architecture.
322
323  * New configure option --enable-mpi-path for optimized builds.
324
325  * Experimental support for ECDSA; should only be used for testing.
326
327  * New control code GCRYCTL_PRINT_CONFIG to print the build
328    configuration.
329
330  * Minor changes to some function declarations.  Buffer arguments are
331    now typed as void pointer.  This should not affect any compilation.
332    Fixed two bugs in return values and clarified documentation.
333
334  * Interface changes relative to the 1.2.0 release:
335  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
336  gcry_fast_random_poll   NEW
337  gcry_md_debug           NEW
338  gcry_sexp_nth_string    NEW
339  GCRY_MD_SHA224          NEW
340  GCRY_PK_USAGE_CERT      NEW
341  GCRY_PK_USAGE_AUTH      NEW
342  GCRY_PK_USAGE_UNKN      NEW
343  GCRY_PK_ECDSA           NEW
344  GCRY_CIPHER_SEED        NEW
345  GCRY_CIPHER_CAMELLIA128 NEW
346  GCRY_CIPHER_CAMELLIA192 NEW
347  GCRY_CIPHER_CAMELLIA256 NEW
348  GCRYCTL_FAKED_RANDOM_P  NEW
349  GCRYCTL_PRINT_CONFIG    NEW
350  GCRYCTL_SET_RNDEGD_SOCKET  NEW.
351  gcry_mpi_scan           CHANGED: Argument BUFFER is now void*.
352  gcry_pk_algo_name       CHANGED: Returns "?" instead of NULL.
353  gcry_cipher_algo_name   CHANGED: Returns "?" instead of "".
354  gcry_pk_spec_t          CHANGED: Element ALIASES is now const ptr.
355  gcry_md_write_t         CHANGED: Argument BUF is now a const void*.
356  gcry_md_ctl             CHANGED: Argument BUFFER is now void*.
357  gcry_cipher_encrypt     CHANGED: Arguments IN and OUT are now void*.
358  gcry_cipher_decrypt     CHANGED: Arguments IN and OUT are now void*.
359  gcry_sexp_sprint        CHANGED: Argument BUFFER is now void*.
360  gcry_create_nonce       CHANGED: Argument BUFFER is now void*.
361  gcry_randomize          CHANGED: Argument BUFFER is now void*.
362  gcry_cipher_register    CHANGED: Argument ALGORITHM_ID is now int*.
363  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
364
365
366 Noteworthy changes in version 1.2.0 (2004-04-15)
367 ------------------------------------------------
368
369  * First stable release.
370
371
372 Noteworthy changes in version 1.1.94 (2004-03-29)
373 -------------------------------------------------
374
375  * The support for multi-threaded users goes into its third
376    incarnation.  We removed compile time support for thread libraries.
377    To support the thread library of your choice, you have to set up
378    callback handlers at initialization time.  New data structures, a
379    new control command, and default initializers are provided for this
380    purpose.
381
382  * Interface changes relative to the 1.1.93 release:
383 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
384 libgcrypt-config --thread       OBSOLETE
385 libgcrypt-pth.la                REMOVED
386 libgcrypt-pthread.la            REMOVED
387 GCRYCTL_SET_THREAD_CBS          NEW
388 struct gcrypt_thread_cbs        NEW
389 enum gcry_thread_option         NEW
390 GCRY_THREAD_OPTION_PTH_IMPL     NEW
391 GCRY_THREAD_OPTION_PTHREAD_IMPL NEW
392 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
393
394 Noteworthy changes in version 1.1.93 (2004-03-06)
395 -------------------------------------------------
396
397  * The automatic thread library detection has finally been removed.
398    From now on, only linking explicitely to libgcrypt, libgcrypt-pth
399    or libgcrypt-pthread is supported.
400
401 Noteworthy changes in version 1.1.92 (2004-02-20)
402 -------------------------------------------------
403
404  * Minor bug fixes.
405
406  * Included a limited implementation of RFC2268.
407
408  * Changed API of the gcry_ac_ functions.  Only a very few programs
409    should be affected by this.
410
411  * Interface changes relative to the 1.1.91 release:
412 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
413 GCRY_CIPHER_RFC2268_40          NEW.
414 gcry_ac_data_set                CHANGED: New argument FLAGS.
415 gcry_ac_data_get_name           CHANGED: New argument FLAGS.
416 gcry_ac_data_get_index          CHANGED: New argument FLAGS.
417 gcry_ac_key_pair_generate       CHANGED: New and reordered arguments.
418 gcry_ac_key_test                CHANGED: New argument HANDLE.
419 gcry_ac_key_get_nbits           CHANGED: New argument HANDLE.
420 gcry_ac_key_get_grip            CHANGED: New argument HANDLE.
421 gcry_ac_data_search             REMOVED.
422 gcry_ac_data_add                REMOVED.
423 GCRY_AC_DATA_FLAG_NO_BLINDING   REMOVED.
424 GCRY_AC_FLAG_NO_BLINDING        NEW: Replaces above.
425
426
427 Noteworthy changes in version 1.1.91 (2003-12-19)
428 -------------------------------------------------
429
430  * Code cleanups and minor bug fixes.
431
432
433 Noteworthy changes in version 1.1.90 (2003-11-14)
434 -------------------------------------------------
435
436  * The use of the GCRY_WEAK_RANDOM level is now deprecated in favor of
437    the new gcry_create_nonce function.
438
439  * gcry_sexp_build now supports a "%b" format to include a memory buffer.
440
441  * Minor configuration fixes.
442
443  * Interface changes relative to the 1.1.44 release:
444 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
445 gcry_create_nonce               NEW
446 gcry_sexp_build                 ENHANCED
447
448
449 Noteworthy changes in version 1.1.44 (2003-10-31)
450 -------------------------------------------------
451
452  * Bug fixes and more code cleanups.
453
454  * Enhanced the prime API.
455
456  * Interface changes relative to the 1.1.43 release:
457 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
458 gcry_prime_group_generator      NEW
459 gcry_prime_release_factors      NEW
460
461
462 Noteworthy changes in version 1.1.43 (2003-09-04)
463 -------------------------------------------------
464
465  * Bug fixes and internal code cleanups.
466
467  * Support for the Serpent cipher algorithm.
468
469  * Interface changes relative to the 1.1.42 release:
470 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
471 gcry_prime_generate             NEW
472 gcry_prime_check                NEW
473
474
475 Noteworthy changes in version 1.1.42 (2003-07-31)
476 -------------------------------------------------
477
478  * Major API cleanup.  Applications need to be converted to the new
479    API.  See README.apichanges for hints on how to do that.  Backward
480    compatibility is provided where it was possible without too much
481    effort and did not collide with the overall sanitization effort.
482    However, this is only for ease of transition.  NO DEPRECATED
483    FUNCTION OR DATA TYPE IS CONSIDERED A PART OF THE API OR ABI AND
484    WILL BE DROPPED IN THE FUTURE WITHOUT CHANGING THE SONAME OF THE
485    LIBRARY.
486
487  * If gcrypt.h is included in sources compiled by GCC 3.1 or later,
488    deprecated attributes will warn about use of obsolete functions and
489    type definitions.  You can suppress these warnings by passing
490    -Wno-deprecated-declarations to the gcc command.
491
492  * gcry_check_version must be called from now on to initialize the
493    library, it is not longer optional.
494
495  * Removed `libgcrypt errno' concept.
496
497  * Libgcrypt depends on libgpg-error, a library that provides error
498    codes and according functions for all GnuPG components.  Functions
499    that used to return error codes asa `int' have been changed to
500    return a code of type `gcry_error_t'.  All GCRYERR_* error symbols
501    have been removed, since they are now contained in libgpg-error
502    (GPG_ERR_*). All functions and types in libgpg-error have also been
503    wrapped in Libgcrypt. The new types are gcry_err_code_t and
504    gcry_err_source_t.  The new functions are gcry_err_code,
505    gcry_err_source, gcry_error, gcry_err_make, gcry_error_from_errno,
506    gcry_err_make_from_errno, gcry_err_code_from_errno,
507    gcry_err_code_to_errno, gcry_strsource.
508
509  * New function gcry_mpi_dump to help in debugging.
510
511  * Added alternative interface for asymmetric cryptography.
512
513  * CRC-32, CRC-32 a'la RFC 1510, CRC-24 a'la RFC 2440 are now
514    supported.
515
516  * SHA-256, SHA-384 and SHA-512 are now supported.
517
518  * 128 bit Twofish is now supported.
519
520  * The random module won't print the "not enough random bytes
521    available" anymore.  A new progress status is issued instead.
522
523  * CBC-MAC for block ciphers is now supported, by using a
524    GCRY_CIPHER_CBC_MAC cipher flag.
525
526  * CTR mode for block ciphers is now supported.
527
528  * The public RSA exponent can now be specified in key generation.
529
530  * RSA blinding is now supported and is used automatically for RSA
531    decryption.  It can be explicitely disabled by using the
532    `no-blinding' symbol in the `flags' S-Expression or by using the
533    GCRY_AC_FLAG_DATA_NO_BLINDING flag when using the ac interface.
534
535  * gcry_sexp_canon_len does not use a `historically encoded' error
536    code anymore.
537
538
539  * Interface changes relative to the 1.1.12 release:
540 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
541 GCRY_MPI                        DEPRECATED; Use: gcry_mpi_t
542 GcryMPI                         DEPRECATED; Use: gcry_mpi_t
543 GCRY_SEXP                       DEPRECATED; Use: gcry_sexp_t
544 GcrySexp                        DEPRECATED; Use: gcry_sexp_t
545 GCRY_CIPHER_HD                  DEPRECATED; Use: gcry_cipher_hd_t
546 GcryCipherHd                    DEPRECATED; Use: gcry_cipher_hd_t
547 GCRY_MD_HD                      DEPRECATED; Use: gcry_md_hd_t
548 GcryMDHd                        DEPRECATED; Use: gcry_md_hd_t
549 gcry_error_t                    NEW
550 gcry_err_code_t                 NEW
551 gcry_err_source_t               NEW
552 gcry_err_make                   NEW
553 gcry_error                      NEW
554 gcry_err_code                   NEW
555 gcry_err_source                 NEW
556 gcry_err_code_from_errno        NEW
557 gcry_err_code_to_errno          NEW
558 gcry_err_make_from_errno        NEW
559 gcry_error_from_errno           NEW
560 gcry_strsource                  NEW
561 GCRYERR_{some error code}       REMOVED; Use GPG_ERR_*
562                                          from libgpg-error instead.
563 gcry_errno                      REMOVED
564 gcry_sexp_canon_len             CHANGED
565 gcry_sexp_build_array           NEW
566 gcry_mpi_scan                   CHANGED: New argument to separate in/out args.
567 gcry_mpi_print                  CHANGED: Ditto.
568 gcry_mpi_dump                   NEW
569 gcry_cipher_open                CHANGED
570 gcry_cipher_reset               NEW
571 gcry_cipher_register            NEW
572 gcry_cipher_unregister          NEW
573 gcry_cipher_list                NEW
574 gcry_cipher_algo_keylen         REPLACED macro with function.
575 gcry_cipher_algo_blklen         REPLACED macro with function.
576 gcry_pk_register                NEW
577 gcry_pk_unregister              NEW
578 gcry_pk_list                    NEW
579 gcry_pk_decrypt                 ENHANCED: Allows flag to return
580                                           complete S-expression.
581 gcry_md_open                    CHANGED
582 gcry_md_copy                    CHANGED
583 gcry_md_is_enabled              NEW
584 gcry_md_is_secure               NEW
585 gcry_md_register                NEW
586 gcry_md_unregister              NEW
587 gcry_md_list                    NEW
588 gcry_ac_data_t                  NEW
589 gcry_ac_key_t                   NEW
590 gcry_ac_key_pair_t              NEW
591 gcry_ac_handle_t                NEW
592 gcry_ac_key_spec_rsa_t          NEW
593 gcry_ac_data_new                NEW
594 gcry_ac_data_destroy            NEW
595 gcry_ac_data_set                NEW
596 gcry_ac_data_copy               NEW
597 gcry_ac_data_length             NEW
598 gcry_ac_data_get_name           NEW
599 gcry_ac_data_get_index          NEW
600 gcry_ac_data_clear              NEW
601 gcry_ac_open                    NEW
602 gcry_ac_close                   NEW
603 gcry_ac_key_init                NEW
604 gcry_ac_key_pair_generate       NEW
605 gcry_ac_key_pair_extract        NEW
606 gcry_ac_key_data_get            NEW
607 gcry_ac_key_test                NEW
608 gcry_ac_key_get_nbits           NEW
609 gcry_ac_key_get_grip            NEW
610 gcry_ac_key_destroy             NEW
611 gcry_ac_key_pair_destroy        NEW
612 gcry_ac_data_encrypt            NEW
613 gcry_ac_data_decrypt            NEW
614 gcry_ac_data_sign               NEW
615 gcry_ac_data_verify             NEW
616 gcry_ac_id_to_name              NEW
617 gcry_ac_name_to_id              NEW
618 gcry_handler_progress_t         NEW
619 gcry_handler_alloc_t            NEW
620 gcry_handler_secure_check_t     NEW
621 gcry_handle_realloc_t           NEW
622 gcry_handler_free_t             NEW
623 gcry_handler_no_mem_t           NEW
624 gcry_handler_error_t            NEW
625 gcry_handler_log_t              NEW
626 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
627
628 Noteworthy changes in version 1.1.12 (2003-01-20)
629 -------------------------------------------------
630
631  * gcry_pk_sign, gcry_pk_verify and gcry_pk_encrypt can now handle an
632    optional pkcs1 flags parameter in the S-expression.  A similar flag
633    may be passed to gcry_pk_decrypt but it is only syntactically
634    implemented.
635
636  * New convenience macro gcry_md_get_asnoid.
637
638  * There is now some real stuff in the manual.
639
640
641 Noteworthy changes in version 1.1.11 (2002-12-21)
642 -------------------------------------------------
643
644  * Don't export internal symbols anymore (currently only for GNU systems)
645
646  * New algorithm: MD4
647
648  * Implemented ciphertext stealing.
649
650  * Smaller bugs fixes and a few new OIDs.
651
652  * Interface changes relative to the 1.1.8 release:
653 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
654 gcry_cipher_cts                   NEW
655 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
656
657
658 Noteworthy changes in version 1.1.10 (2002-09-20)
659 -------------------------------------------------
660
661  * Fixed shared library builds for i386, PPC and Sparc.
662
663  * Added simple benchmark tool.
664
665  * Replaced the internal mutexes by code which automatically adapts to
666    the used threading library.  Currently Pth and Pthread are
667    supported.  For non-ELF systems the GNU toolchain is now required..
668
669  * Added untested support to build Windows DLLs.
670
671 Noteworthy changes in version 1.1.9 (2002-08-23)
672 ------------------------------------------------
673
674  * Support for plain old DES.
675
676
677 Noteworthy changes in version 1.1.8 (2002-06-25)
678 ------------------------------------------------
679
680  * Minor cleanups and exported a few new functions.
681
682  * Interface changes relative to the 1.1.7 release:
683 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
684 gcry_mpi_div                      NEW
685 gcry_mpi_mod                      NEW
686 gcry_mpi_invm                     NEW
687 gcry_mpi_swap                     NEW
688 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
689
690 Noteworthy changes in version 1.1.7 (2002-05-21)
691 ------------------------------------------------
692
693 * Libgcrypt is now distributed under the terms of the GNU Lesser
694   General Public License; see the README file for details.
695
696 * It is possible to use libgcrypt w/o intialized secure memory.
697
698 * Libgcrypt should now be thread safe after the initialization.
699   gcry_control (GCRYCRL_INITIALIZATION_FINISHED,NULL,0) should have
700   been called before creating additional threads.
701
702  * Interface changes relative to the 1.1.6 release:
703 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
704 GCRYCTL_DISABLE_INTERNAL_LOCKING  NEW
705 GCRYCTL_DISABLE_SECMEM            NEW
706 GCRYCTL_INITIALIZATION_FINISHED   NEW
707 GCRYCTL_INITIALIZATION_FINISHED_P NEW
708 GCRYCTL_ANY_INITIALIZATION_P      NEW
709 gcry_strdup                       NEW
710 gcry_sexp_create                  NEW
711 gcry_sexp_new                     NEW
712 gcry_set_progress_handler         NEW
713 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
714
715 Noteworthy changes in version 1.1.6 (2002-02-07)
716 ------------------------------------------------
717
718   * Enhanced the S-expression conversion functions.
719
720 Noteworthy changes in version 1.1.5 (2001-12-18)
721 ------------------------------------------------
722
723   * gcry_{cipher,md}_map_name are now able to map stringified object IDs.
724
725   * New functions gcry_sexp_canon_len and gcry_cipher_mode_from_oid.
726
727   * Closed some memory leaks.
728
729
730 Noteworthy changes in version 1.1.4 (2001-08-03)
731 ------------------------------------------------
732
733   * Arcfour does now work.
734
735   * Some minor fixes.
736
737   * Added a first test program
738
739   * Migrated to autoconf 2.52.
740
741
742 Noteworthy changes in version 1.1.3 (2001-05-31)
743 ------------------------------------------------
744
745   * First release of Libgcrypt which is a result of splitting GnuPG
746     into into libgcrypt and GnuPG.
747
748
749 Copyright 2001, 2002, 2003, 2004, 2007, 2008,
750           2009, 2011 Free Software Foundation, Inc.
751 Copyright 2013 g10 Code GmbH
752
753 This file is free software; as a special exception the author gives
754 unlimited permission to copy and/or distribute it, with or without
755 modifications, as long as this notice is preserved.
756
757 This file is distributed in the hope that it will be useful, but
758 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
759 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.