Added support for a 40 bit RFC2268 cipher. Thanks to Nikos.
[libgcrypt.git] / NEWS
1 Noteworthy changes in version 1.1.92 (unreleased)
2 -------------------------------------------------
3
4  * Minor bug fixes.
5
6  * Included a limited implementation of RFC2268.
7
8  * Interface changes relative to the 1.1.91 release:
9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10 GCRY_CIPHER_RFC2268_40          NEW.
11
12
13 Noteworthy changes in version 1.1.91 (2003-12-19)
14 -------------------------------------------------
15
16  * Code cleanups and minor bug fixes.
17
18
19 Noteworthy changes in version 1.1.90 (2003-11-14)
20 -------------------------------------------------
21
22  * The use of the GCRY_WEAK_RANDOM level is now deprecated in favor of
23    the new gcry_create_nonce function.
24
25  * gcry_sexp_build now supports a "%b" format to include a memory buffer.
26
27  * Minor configuration fixes.
28  
29  * Interface changes relative to the 1.1.44 release:
30 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 gcry_create_nonce               NEW
32 gcry_sexp_build                 ENHANCED
33
34
35 Noteworthy changes in version 1.1.44 (2003-10-31)
36 -------------------------------------------------
37
38  * Bug fixes and more code cleanups.
39
40  * Enhanced the prime API.
41
42  * Interface changes relative to the 1.1.43 release:
43 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44 gcry_prime_group_generator      NEW
45 gcry_prime_release_factors      NEW
46
47
48 Noteworthy changes in version 1.1.43 (2003-09-04)
49 -------------------------------------------------
50
51  * Bug fixes and internal code cleanups.
52
53  * Support for the Serpent cipher algorithm.
54
55  * Interface changes relative to the 1.1.42 release:
56 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57 gcry_prime_generate             NEW
58 gcry_prime_check                NEW
59
60
61 Noteworthy changes in version 1.1.42 (2003-07-31)
62 -------------------------------------------------
63
64  * Major API cleanup.  Applications need to be converted to the new
65    API.  See README.apichanges for hints on how to do that.  Backward
66    compatibility is provided where it was possible without too much
67    effort and did not collide with the overall sanitization effort.
68    However, this is only for ease of transition.  NO DEPRECATED
69    FUNCTION OR DATA TYPE IS CONSIDERED A PART OF THE API OR ABI AND
70    WILL BE DROPPED IN THE FUTURE WITHOUT CHANGING THE SONAME OF THE
71    LIBRARY. 
72
73  * If gcrypt.h is included in sources compiled by GCC 3.1 or later,
74    deprecated attributes will warn about use of obsolete functions and
75    type definitions.  You can suppress these warnings by passing
76    -Wno-deprecated-declarations to the gcc command.
77
78  * gcry_check_version must be called from now on to initialize the
79    library, it is not longer optional.
80
81  * Removed `libgcrypt errno' concept.
82
83  * Libgcrypt depends on libgpg-error, a library that provides error
84    codes and according functions for all GnuPG components.  Functions
85    that used to return error codes asa `int' have been changed to
86    return a code of type `gcry_error_t'.  All GCRYERR_* error symbols
87    have been removed, since they are now contained in libgpg-error
88    (GPG_ERR_*). All functions and types in libgpg-error have also been
89    wrapped in Libgcrypt. The new types are gcry_err_code_t and
90    gcry_err_source_t.  The new functions are gcry_err_code,
91    gcry_err_source, gcry_error, gcry_err_make, gcry_error_from_errno,
92    gcry_err_make_from_errno, gcry_err_code_from_errno,
93    gcry_err_code_to_errno, gcry_strsource.
94
95  * New function gcry_mpi_dump to help in debugging. 
96
97  * Added alternative interface for asymmetric cryptography.
98
99  * CRC-32, CRC-32 a'la RFC 1510, CRC-24 a'la RFC 2440 are now
100    supported.
101
102  * SHA-256, SHA-384 and SHA-512 are now supported.
103
104  * 128 bit Twofish is now supported.
105
106  * The random module won't print the "not enough random bytes
107    available" anymore.  A new progress status is issued instead.
108
109  * CBC-MAC for block ciphers is now supported, by using a
110    GCRY_CIPHER_CBC_MAC cipher flag.
111
112  * CTR mode for block ciphers is now supported.
113
114  * The public RSA exponent can now be specified in key generation. 
115
116  * RSA blinding is now supported and is used automatically for RSA
117    decryption.  It can be explicitely disabled by using the
118    `no-blinding' symbol in the `flags' S-Expression or by using the
119    GCRY_AC_FLAG_DATA_NO_BLINDING flag when using the ac interface.
120
121  * gcry_sexp_canon_len does not use a `historically encoded' error
122    code anymore.
123
124
125  * Interface changes relative to the 1.1.12 release:
126 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127 GCRY_MPI                        DEPRECATED; Use: gcry_mpi_t
128 GcryMPI                         DEPRECATED; Use: gcry_mpi_t
129 GCRY_SEXP                       DEPRECATED; Use: gcry_sexp_t
130 GcrySexp                        DEPRECATED; Use: gcry_sexp_t
131 GCRY_CIPHER_HD                  DEPRECATED; Use: gcry_cipher_hd_t
132 GcryCipherHd                    DEPRECATED; Use: gcry_cipher_hd_t
133 GCRY_MD_HD                      DEPRECATED; Use: gcry_md_hd_t
134 GcryMDHd                        DEPRECATED; Use: gcry_md_hd_t
135 gcry_error_t                    NEW
136 gcry_err_code_t                 NEW
137 gcry_err_source_t               NEW
138 gcry_err_make                   NEW
139 gcry_error                      NEW
140 gcry_err_code                   NEW
141 gcry_err_source                 NEW
142 gcry_err_code_from_errno        NEW
143 gcry_err_code_to_errno          NEW
144 gcry_err_make_from_errno        NEW
145 gcry_error_from_errno           NEW
146 gcry_strsource                  NEW
147 GCRYERR_{some error code}       REMOVED; Use GPG_ERR_*
148                                          from libgpg-error instead.
149 gcry_errno                      REMOVED
150 gcry_sexp_canon_len             CHANGED
151 gcry_sexp_build_array           NEW
152 gcry_mpi_scan                   CHANGED: New argument to separate in/out args.
153 gcry_mpi_print                  CHANGED: Ditto.
154 gcry_mpi_dump                   NEW
155 gcry_cipher_open                CHANGED
156 gcry_cipher_reset               NEW
157 gcry_cipher_register            NEW
158 gcry_cipher_unregister          NEW
159 gcry_cipher_list                NEW
160 gcry_cipher_algo_keylen         REPLACED macro with function.
161 gcry_cipher_algo_blklen         REPLACED macro with function.
162 gcry_pk_register                NEW
163 gcry_pk_unregister              NEW
164 gcry_pk_list                    NEW
165 gcry_pk_decrypt                 ENHANCED: Allows flag to return
166                                           complete S-expression.
167 gcry_md_open                    CHANGED
168 gcry_md_copy                    CHANGED
169 gcry_md_is_enabled              NEW
170 gcry_md_is_secure               NEW
171 gcry_md_register                NEW
172 gcry_md_unregister              NEW
173 gcry_md_list                    NEW
174 gcry_ac_data_t                  NEW
175 gcry_ac_key_t                   NEW
176 gcry_ac_key_pair_t              NEW
177 gcry_ac_handle_t                NEW
178 gcry_ac_key_spec_rsa_t          NEW
179 gcry_ac_data_new                NEW
180 gcry_ac_data_destroy            NEW
181 gcry_ac_data_set                NEW
182 gcry_ac_data_copy               NEW
183 gcry_ac_data_length             NEW
184 gcry_ac_data_get_name           NEW
185 gcry_ac_data_get_index          NEW
186 gcry_ac_data_clear              NEW
187 gcry_ac_open                    NEW
188 gcry_ac_close                   NEW
189 gcry_ac_key_init                NEW
190 gcry_ac_key_pair_generate       NEW
191 gcry_ac_key_pair_extract        NEW
192 gcry_ac_key_data_get            NEW
193 gcry_ac_key_test                NEW
194 gcry_ac_key_get_nbits           NEW
195 gcry_ac_key_get_grip            NEW
196 gcry_ac_key_destroy             NEW
197 gcry_ac_key_pair_destroy        NEW
198 gcry_ac_data_encrypt            NEW
199 gcry_ac_data_decrypt            NEW
200 gcry_ac_data_sign               NEW
201 gcry_ac_data_verify             NEW
202 gcry_ac_id_to_name              NEW
203 gcry_ac_name_to_id              NEW
204 gcry_handler_progress_t         NEW
205 gcry_handler_alloc_t            NEW
206 gcry_handler_secure_check_t     NEW
207 gcry_handle_realloc_t           NEW
208 gcry_handler_free_t             NEW
209 gcry_handler_no_mem_t           NEW
210 gcry_handler_error_t            NEW
211 gcry_handler_log_t              NEW
212 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
213
214 Noteworthy changes in version 1.1.12 (2003-01-20)
215 -------------------------------------------------
216
217  * gcry_pk_sign, gcry_pk_verify and gcry_pk_encrypt can now handle an
218    optional pkcs1 flags parameter in the S-expression.  A similar flag
219    may be passed to gcry_pk_decrypt but it is only syntactically
220    implemented.
221
222  * New convenience macro gcry_md_get_asnoid.
223
224  * There is now some real stuff in the manual.
225
226
227 Noteworthy changes in version 1.1.11 (2002-12-21)
228 -------------------------------------------------
229
230  * Don't export internal symbols anymore (currently only for GNU systems)
231
232  * New algorithm: MD4
233
234  * Implemented ciphertext stealing.
235
236  * Smaller bugs fixes and a few new OIDs.
237
238  * Interface changes relative to the 1.1.8 release:
239 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
240 gcry_cipher_cts                   NEW
241 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
242
243
244 Noteworthy changes in version 1.1.10 (2002-09-20)
245 -------------------------------------------------
246
247  * Fixed shared library builds for i386, PPC and Sparc.
248
249  * Added simple benchmark tool.
250
251  * Replaced the internal mutexes by code which automatically adapts to
252    the used threading library.  Currently Pth and Pthread are
253    supported.  For non-ELF systems the GNU toolchain is now required..
254
255  * Added untested support to build Windows DLLs.
256
257 Noteworthy changes in version 1.1.9 (2002-08-23)
258 ------------------------------------------------
259
260  * Support for plain old DES.
261
262
263 Noteworthy changes in version 1.1.8 (2002-06-25)
264 ------------------------------------------------
265
266  * Minor cleanups and exported a few new functions.
267
268  * Interface changes relative to the 1.1.7 release:
269 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
270 gcry_mpi_div                      NEW
271 gcry_mpi_mod                      NEW
272 gcry_mpi_invm                     NEW
273 gcry_mpi_swap                     NEW
274 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
275
276 Noteworthy changes in version 1.1.7 (2002-05-21)
277 ------------------------------------------------
278
279 * Libgcrypt is now distributed under the terms of the GNU Lesser
280   General Public License; see the README file for details.    
281   
282 * It is possible to use libgcrypt w/o intialized secure memory.
283
284 * Libgcrypt should now be thread safe after the initialization.
285   gcry_control (GCRYCRL_INITIALIZATION_FINISHED,NULL,0) should have
286   been called before creating additional threads.
287
288  * Interface changes relative to the 1.1.6 release:
289 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
290 GCRYCTL_DISABLE_INTERNAL_LOCKING  NEW
291 GCRYCTL_DISABLE_SECMEM            NEW
292 GCRYCTL_INITIALIZATION_FINISHED   NEW
293 GCRYCTL_INITIALIZATION_FINISHED_P NEW
294 GCRYCTL_ANY_INITIALIZATION_P      NEW
295 gcry_strdup                       NEW
296 gcry_sexp_create                  NEW
297 gcry_sexp_new                     NEW
298 gcry_set_progress_handler         NEW
299 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
300
301 Noteworthy changes in version 1.1.6 (2002-02-07)
302 ------------------------------------------------
303
304   * Enhanced the S-expression conversion functions.
305         
306 Noteworthy changes in version 1.1.5 (2001-12-18)
307 ------------------------------------------------
308
309   * gcry_{cipher,md}_map_name are now able to map stringified object IDs.
310
311   * New functions gcry_sexp_canon_len and gcry_cipher_mode_from_oid.
312
313   * Closed some memory leaks.
314
315
316 Noteworthy changes in version 1.1.4 (2001-08-03)
317 ------------------------------------------------
318
319   * Arcfour does now work.                   
320
321   * Some minor fixes.
322
323   * Added a first test program
324
325   * Migrated to autoconf 2.52.
326
327
328 Noteworthy changes in version 1.1.3 (2001-05-31)
329 ------------------------------------------------
330
331   * First release of Libgcrypt which is a result of splitting GnuPG
332     into into libgcrypt and GnuPG.
333
334
335 Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
336
337 This file is free software; as a special exception the author gives
338 unlimited permission to copy and/or distribute it, with or without
339 modifications, as long as this notice is preserved.
340
341 This file is distributed in the hope that it will be useful, but
342 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
343 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.