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