* md.c (load_digest_module): Enlarged checked_algos bitmap.
[libgcrypt.git] / cipher / ChangeLog
1 2002-11-23  Werner Koch  <wk@gnupg.org>
2
3         * md.c (load_digest_module): Enlarged checked_algos bitmap.
4         * md4.c (func_table):  Fixed entry for md4. 
5         Both by Simon Josephson.
6         (transform): Copy data to get the alignment straight. Tested only
7         on i386.
8
9 2002-11-10  Simon Josefsson  <jas@extundo.com>
10
11         * cipher.c (gcry_cipher_open): Don't reject CTS flag.
12         (do_cbc_encrypt, do_cbc_decrypt, cipher_encrypt) 
13         (gcry_cipher_encrypt, cipher_decrypt)
14         (gcry_cipher_decrypt): Support CTS flag.
15         (gcry_cipher_ctl): Toggle CTS flag.
16
17 2002-11-10  Werner Koch  <wk@gnupg.org>
18
19         * md4.c: New. By by Simon Josefsson.
20         * Makefile.am (EXTRA_PROGRAMS): Add md4.c. 
21         * md.c (oid_table,gcry_md_get_algo_dlen): MD4 support. 
22
23 2002-10-14  Werner Koch  <wk@gnupg.org>
24
25         * arcfour.c (do_encrypt_stream): Don't use increment op when
26         assigning to the same variable.
27
28 2002-10-10  Timo Schulz  <ts@winpt.org>
29
30         * pubkey.c (gcry_pk_genkey): Check boundaries.
31         
32         * md.c (gcry_md_open): Check that algo is available and only
33         valid flag values are used.
34         (gcry_md_get_algo): Add error handling.
35         
36 2002-09-26  Werner Koch  <wk@gnupg.org>
37
38         * md.c: Include an OID for TIGER.
39         * tiger.c (tiger_get_info): Use a regular OID.
40
41 2002-09-17  Werner Koch  <wk@gnupg.org>
42
43         * random.c: Replaced mutex.h by the new ath.h.  Changed all calls.
44
45 2002-09-16  Werner Koch  <wk@gnupg.org>
46
47         * arcfour.c (do_encrypt_stream): Use register modifier and modulo.
48         According to Nikos Mavroyanopoulos this increases perfromace on
49         i386 system noticable.  And I always tought gcc is clever enough.
50         * md5.c (transform): Use register modifier.
51         * rmd160.c (transform): Ditto.
52         * sha1.c (transform): Ditto.  We hope that there are 6 free registers.
53         * random.c (gcry_randomize): Rewrote to avoid malloc calls.
54
55         * rndlinux.c (gather_random): Replaced remaining fprintfs by log_*.
56         * arcfour.c (do_arcfour_setkey): Ditto.
57         * twofish.c (do_twofish_setkey): Ditto.
58         * rndegd.c (gather_random): Ditto.
59         * rijndael.c (do_setkey): Ditto.
60         * random.c (_gcry_random_dump_stats): Ditto. 
61         * primegen.c (_gcry_generate_elg_prime): Ditto.
62         * des.c (_gcry_des_get_info): Ditto.
63         * cast5.c (do_cast_setkey): Ditto.
64         * blowfish.c (do_bf_setkey): Ditto.
65
66 2002-08-26  Werner Koch  <wk@gnupg.org>
67
68         * des.c (weak_keys): Fixed one entry in the table and compared
69         all entries against the literature.
70         (selftest): Checksum the weak key table.
71
72 2002-08-21  Werner Koch  <wk@gnupg.org>
73
74         * pubkey.c: Enable keygrip calculation for "openpgp-rsa".
75
76 2002-08-17  Werner Koch  <wk@gnupg.org>
77
78         * cipher.c (setup_cipher_table): Don't overwrite the DES entry
79         with the entry for DUMMY.
80
81 2002-08-14  Werner Koch  <wk@gnupg.org>
82
83         * des.c (do_des_setkey,do_des_encrypt, do_des_decrypt): New.
84         (_gcry_des_get_info): Support plain old DES.
85         * cipher.c (setup_cipher_table): Put DES into the table.
86
87 2002-07-25  Werner Koch  <wk@gnupg.org>
88
89         * rndunix.c (_gcry_rndunix_constructor): Prefixed with _gcry_.
90         Noted by Stephan Austermuehle.
91
92 2002-07-08  Timo Schulz  <ts@winpt.org>
93
94         * rndw32.c: Replaced the m_ memory functions with the real 
95         gcry_ functions. Renamed all g10_ prefixed functions to log_.
96         
97 2002-06-12  Werner Koch  <wk@gnupg.org>
98
99         * rsa.c (generate): Use e = 65537 for now.
100
101 2002-06-11  Werner Koch  <wk@gnupg.org>
102
103         * pubkey.c (gcry_pk_get_keygrip): Allow a "protected-private-key".
104
105 2002-06-05  Timo Schulz  <ts@winpt.org>
106
107         * cipher.c (gcry_cipher_encrypt, gcry_cipher_decrypt):
108         Check that the input size is a multiple of the blocksize.
109         
110 2002-05-23  Werner Koch  <wk@gnupg.org>
111
112         * md.c (oid_table): Add an rsadsi OID for MD5.
113
114 2002-05-21  Werner Koch  <wk@gnupg.org>
115
116         * primegen.c, elgamal.c, dsa.c (progress): Do not print anything
117         by default.  Pass an extra identifying string to the callback and
118         reserved 2 argumenst for current and total counters.  Changed the
119         register function prototype.
120
121 2002-05-17  Werner Koch  <wk@gnupg.org>
122
123         * rndegd.c (rndegd_constructor): Fixed name of register function
124         and prefixed the function name with _gcry_.
125         * rndw32.c (rndw32_constructor): Ditto.
126         * tiger.c (tiger_constructor): Ditto.
127
128         * Makefile.am: Removed all dynamic loading stuff.
129         * dynload.c: Ditto. Now only used for the constructor system.
130
131 2002-05-15  Werner Koch  <wk@gnupg.org>
132
133         * random.c (gcry_random_bytes,gcry_random_bytes_secure)
134         (gcry_randomize): Make sure we are initialized.
135
136 2002-05-14  Werner Koch  <wk@gnupg.org>
137
138         Changed license of most files to the LGPL.
139
140 2002-05-02  Werner Koch  <wk@gnupg.org>
141
142         * random.c (_gcry_fast_random_poll): Initialize the module so the
143         mutex can be used.
144
145         * primegen.c (small_prime_numbers): Moved table from smallprime.c
146         * smallprime.c: Fiel removed.
147
148         * des.c (leftkey_swap, rightkey_swap, working_memcmp): Made static.
149
150         * cipher.c (gcry_cipher_map_name): Map "RIJNDAEL" to "AES".
151         * rijndael.c (rijndael_get_info): We do only support a 128 bit
152         blocksize so it makes sense to change the algorithm strings to
153         AES.
154
155         * tiger.c (tiger_final): Removed superfluous token pasting operators.
156         * md5.c (md5_final): Ditto.
157
158 2002-04-30  Werner Koch  <wk@gnupg.org>
159
160         * cipher.c: Fixed list of copyright years.
161
162 2002-03-18  Werner Koch  <wk@gnupg.org>
163
164         * random.c (initialize): Initialize the new pool lock mutex.
165         (_gcry_fast_random_poll): Add locking and moved main
166         code out to...
167         (do_fast_random_poll): new function.
168         (read_pool): Use the new function here.
169         (get_random_bytes): Add locking.
170         (_gcry_update_random_seed_file): Ditto.
171
172 2002-03-11  Werner Koch  <wk@gnupg.org>
173
174         * md.c: Add rsaSignatureWithripemd160 to OID table.
175
176 2002-02-20  Werner Koch  <wk@gnupg.org>
177
178         * sha1.c: Removed a left over comment note.  The code has been
179         rewritten from scratch in 1998.  Thanks to Niels Möller for
180         reporting this misleading comment.
181
182 2002-02-18  Werner Koch  <wk@gnupg.org>
183
184         * rndunix.c (rndunix_constructor): Use the the new prefixed
185         function name.  Reported by Jordi Mallach.
186
187 2002-02-10  Werner Koch  <wk@gnupg.org>
188
189         * random.c (mix_pool): Carry an extra failsafe_digest buffer
190         around to make the function more robust.
191
192 2002-02-08  Werner Koch  <wk@gnupg.org>
193
194         * random.c (add_randomness): Xor new data into the pool and not
195         just copy it.  This avoids any choosen input attacks which are not
196         serious in our setting because an outsider won't be able to mix
197         data in and even then we keep going with a PRNG.  Thanks to Stefan
198         Keller for pointing this out.
199
200 2002-01-04  Werner Koch  <wk@gnupg.org>
201
202         * pubkey.c (gcry_pk_genkey): Do not release skey - it is static.
203
204         * primegen.c (gen_prime): Of course we should use set_bit
205         and not set_highbit to set the second high bit.
206
207 2001-12-18  Werner Koch  <wk@gnupg.org>
208
209         * rsa.c (generate): Loop until we find the exact modulus size.
210         Changed the exponent to 41.
211         (rsa_get_info): s/usage/r_usage/ to avoid shadow warnings.
212         * primegen.c (gen_prime): Set 2 high order bits for secret primes.
213
214         * Makefile.am (DISTCLEANFILES): Include construct.c.
215
216 2001-12-17  Werner Koch  <wk@gnupg.org>
217
218         * pubkey.c (gcry_pk_get_keygrip): New - experimental.
219
220 2001-12-11  Werner Koch  <wk@gnupg.org>
221
222         * cipher.c: Added OIDs for AES.
223         (gcry_cipher_mode_from_oid): New.
224         (gcry_cipher_map_name): Moved OID search code to ..
225         (search_oid): .. new function.
226
227 2001-12-10  Werner Koch  <wk@gnupg.org>
228
229         * pubkey.c (gcry_pk_encrypt): Find the signature algorithm by name
230         and not by number.
231         
232         * pubkey.c (gcry_pk_encrypt,gcry_pk_decrypt,gcry_pk_sign)
233         (gcry_pk_verify,gcry_pk_testkey, gcry_pk_genkey)
234         (gcry_pk_get_nbits): Release the arrays.  Noted by Nikos
235         Mavroyanopoulos.
236
237 2001-12-06  Werner Koch  <wk@gnupg.org>
238
239         * cipher.c (gcry_cipher_map_name): Look also for OIDs prefixed
240         with "oid."  or "OID.".
241
242 2001-12-05  Werner Koch  <wk@gnupg.org>
243
244         * pubkey.c (algo_info_table): Fixed entry for openpgp-rsa. 
245
246 2001-11-24  Werner Koch  <wk@gnupg.org>
247
248         * pubkey.c: Added the rsaEncryption OID to the tables.
249         (sexp_to_key): Add an arg to return the index of the algorithm,
250         changed all callers.
251         (gcry_pk_sign): Find the signature algorithm by name and not by
252         number.
253         (gcry_pk_get_nbits): Fixed so that we can now really pass a secret
254         key to get the result.
255         
256         * md.c (gcry_md_map_name): Look also for OIDs prefixed with "oid."
257         or "OID." so that an OID string can be used as an S-Exp token.
258
259 2001-11-20  Werner Koch  <wk@gnupg.org>
260
261         * md.c (gcry_md_map_name): Lookup by OID if the the name begins
262         with a digit.
263         (oid_table): New.
264         
265 2001-11-16  Werner Koch  <wk@gnupg.org>
266
267         * md.c (gcry_md_info): New operator GCRYCTL_IS_ALGO_ENABLED.
268
269 2001-11-07  Werner Koch  <wk@gnupg.org>
270
271         * md.c (gcry_md_hash_buffer): Close the handle which was left open
272         for algorithms other than rmd160.
273
274 2001-08-08  Werner Koch  <wk@gnupg.org>
275
276         * rndw32.c (gather_random): Use toolhelp in addition to the NT
277         gatherer for Windows2000.  Suggested by Sami Tolvanen.
278
279         * random.c (read_pool): Fixed length check, this used to be one
280         byte to strict.  Made an assert out of it because the caller has
281         already made sure that only poolsize bytes are requested.
282         Reported by Marcus Brinkmann.
283
284 2001-08-03  Werner Koch  <wk@gnupg.org>
285
286         * cipher.c (cipher_encrypt, cipher_decrypt): Prepare to return
287         errors. We have to change the interface to all ciphers to make
288         this really work but we should do so to prepare for hardware
289         encryption modules.
290         (gcry_cipher_encrypt, gcry_cipher_decrypt): Return the error and
291         set lasterr. 
292         (gcry_cipher_ctl): Make sure that errors from setkey are returned.
293
294 2001-08-02  Werner Koch  <wk@gnupg.org>
295
296         * rndlinux.c (gather_random): casted a size_t arg to int so that
297         the format string is correct.  Casting is okay here and avoids
298         translation changes. 
299
300         * random.c (fast_random_poll): Do not check the return code of
301         getrusage.
302
303         * rndunix.c: Add a signal.h header to avoid warnings on Solaris 7
304         and 8.
305
306         * tiger.c (print_abc,print_data): Removed.
307
308         * rijndael.c, des.c, blowfish.c, twofish.c, cast5.c, arcfour.c
309         (burn_stack): New.  Add wrappers for most functions to be able to
310         call burn_stack after the function invocation. This methods seems
311         to be the most portable way to zeroise the stack used. It does
312         only work on stack frame based machines but it is highly portable
313         and has no side effects.  Just setting the automatic variables at
314         the end of a function to zero does not work well because the
315         compiler will optimize them away - marking them as volatile would
316         be bad for performance.
317         * md5.c, sha1.c, rmd160.c, tiger.c (burn_stack): Likewise.
318         * random.c (burn_stack): New.
319         (mix_pool): Use it here to burn the stack of the mixblock function.
320
321         * primegen.c (_gcry_generate_elg_prime): Freed q at 3 places.
322         Thanks to Tommi Komulainen.
323
324         * arcfour.c (arcfour_setkey): Check the minimim keylength against
325         bytes and not bits.
326         (selftest): Must reset the key before decryption. 
327
328 2001-05-31  Werner Koch  <wk@gnupg.org>
329
330         * sha1.c (sha1_init): Made static.
331
332         Changed all g10_ prefixed function names as well as some mpi_
333         function names to cope with the introduced naming changes.
334         
335         * md.c (prepare_macpads): Made key const.
336
337 2001-05-28  Werner Koch  <wk@gnupg.org>
338
339         * rndegd.c (gather_random): Removed the use of tty_printf.
340
341 2001-03-29  Werner Koch  <wk@gnupg.org>
342
343         * md5.c (md5_final): Fixed calculation of hashed length.  Thanks
344         to disastry@saiknes.lv for pointing out that it was horrible wrong
345         for more than 512MB of input.
346         * sha1.c (sha1_final): Ditto.
347         * rmd160.c (rmd160_final): Ditto.
348         * tiger.c (tiger_final): Ditto.
349
350         * blowfish.c (encrypt,do_encrypt): Changed name to do_encrypt to
351         avoid name clashes with an encrypt function in stdlib.h of
352         Dynix/PIX.  Thanks to Gene Carter.
353         * elgamal.c (encrypt,do_encrypt): Ditto.
354
355         * twofish.c (gnupgext_enum_func): Use only when when compiled as a
356         module.
357         * rijndael.c (gnupgext_enum_func): Ditto.
358
359         * tiger.c (tiger_get_info): Return "TIGER192" and not just
360         "TIGER".  By Edwin Woudt.
361         
362         * random.c: Always include time.h - standard requirement.  Thanks
363         to James Troup.
364
365         * rndw32.c: Fixes to the macros.
366
367 2001-01-11  Werner Koch  <wk@gnupg.org>
368
369         * cipher.c (cipher_encrypt,gcry_cipher_encrypt): Use blocksize and
370         not 8.
371
372 2000-12-19  Werner Koch  <wk@gnupg.org>
373
374         Major change:
375         Removed all GnuPG stuff and renamed this piece of software
376         to gcrypt. 
377
378 2000-11-14  Werner Koch  <wk@gnupg.org>
379
380         * dsa.c (test_keys): Replaced mpi_alloc by gcry_mpi_new and
381         mpi_free by gcry_mpi_release.
382         * elgamal.c (test_keys,generate): Ditto, also for mpi_alloc_secure.
383         * rsa.c (test_keys,generate,rsa_verify): Ditto.
384         * primegen.c (generate_elg_prime): Ditto.
385         (gen_prime): Ditto and removed nlimbs.
386
387         * rsa.c (generate): Allocate 2 more vars in secure memory.
388
389         * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
390         problems.
391
392 2000-10-09  Werner Koch  <wk@gnupg.org>
393
394         * arcfour.c, arcfour.h: New.
395         * cipher.c (cipher_encrypt, cipher_decrypt): Add stream mode.
396         (setup_cipher_table): Add Arcfour.
397         (gcry_cipher_open): Kludge to allow stream mode.
398
399 Wed Oct  4 13:16:18 CEST 2000  Werner Koch  <wk@openit.de>
400
401         * sha1.c (transform): Use rol() macro.  Actually this is not needed
402         for a newer gcc but there are still aoter compilers.
403
404         * rsa.c (test_keys): Use new random function. 
405
406         * md.c (gcry_md_setkey): New function to overcome problems with
407         const conflics.  
408         (gcry_md_ctl): Pass set key to the new functions.
409
410         * rijndael.c: New.
411         * cipher.c: Add Rijndael support.
412
413 Mon Sep 18 16:35:45 CEST 2000  Werner Koch  <wk@openit.de>
414
415         * rndlinux.c (open_device): Loose random device checking.
416         By Nils Ellmenreich.
417
418         * random.c (fast_random_poll): Check ENOSYS for getrusage.
419         * rndunix.c:  Add 2 sources for QNX. By Sam Roberts.
420
421         * pubkey.c (gcry_pk_algo_info): Add GCRYCTL_GET_ALGO_USAGE.
422
423         * rsa.c: Changed the comment about the patent.
424         (secret): Speed up by using the CRT.  For a 2k keys this
425         is about 3 times faster.
426         (stronger_key_check): New but unused code to check the secret key.
427         * Makefile.am: Included rsa.[ch].
428         * pubkey.c: Enabled RSA support.
429         (pubkey_get_npkey): Removed RSA workaround.
430
431 Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
432
433   * pubkey.c: Replaced all gcry_sexp_{car,cdr}_{data,mpi} by the new
434   gcry_sexp_nth_{data,mpi} functions.
435
436 Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
437
438   * pubkey.c (exp_to_key,sexp_to_sig,sexp_to_enc,gcry_pk_encrypt,
439     gcry_pk_decrypt,gcry_pk_sign,gcry_pk_genkey): Changed to work with
440     the new S-Exp interface.
441
442 Mon Jul 17 16:35:47 CEST 2000  Werner Koch  <wk@>
443
444   * random.c (gather_faked): Replaced make_timestamp by time(2) again.
445
446 Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
447
448   * md.c (gcry_md_ctl): Support GCRYCTL_{START,STOP}_DUMP.
449
450   * Makefile.am: Never compile mingw32 as module.
451
452   * Makefile.am: Tweaked module build and removed libtool
453
454   * Makefile.am:  Replaced -O1 by -O. Suggested by Alec Habig.
455
456   * elgamal.c (sign): Removed inactive code.
457
458   * rsa.c, rsa.h: New based on the old module version (only in CVS for now).
459   * pubkey.c (setup_pubkey_table): Added commented support for RSA.
460
461   * rndunix.c (waitpid): New. For UTS 2.1.  All by Dave Dykstra.
462   (my_popen): Do the FD_CLOEXEC only if it is available
463   (start_gatherer): Cope with missing _SC_OPEN_MAX
464
465   * rndunix.c: Add some more headers for QNX. By Sam Roberts.
466
467   * rndegd.c (gather_random): Shortcut level 0.
468   * rndunix.c (gather_random): Ditto.
469   * rndw32.c (gather_random): Ditto.
470
471   * rndw32.c: Replaced with code from Cryptlib and commented the old stuff.
472   * rndw32.c: Add some debuging code enabled by an environment variable.
473
474   * random.c (read_seed_file): Binary open for DOSish system
475   (update_random_seed_file): Ditto.
476   * random.c [MINGW32]: Include process.h for getpid.
477   * random.c (fast_random_poll): Add clock_gettime() as fallback for
478   system which support this POSIX.4 fucntion. By Sam Roberts.
479
480   * random.c (read_seed_file): Removed the S_ISLNK test becuase it
481   is already covered by !S_ISREG and is not defined in Unixware.
482   Reported by Dave Dykstra.
483   (update_random_seed_file): Silently ignore update request when pool
484   is not filled.
485
486   * random.c (read_seed_file): New.
487   (set_random_seed_file): New.
488   (read_pool): Try to read the seeding file.
489   (update_random_seed_file): New.
490
491   (read_pool): Do an initial extra seeding when level 2 quality random
492   is requested the first time.  This requestes at least POOLSIZE/2 bytes
493   of entropy.  Compined with the seeding file this should make normal
494   random bytes cheaper and increase the quality of the random bytes
495   used for key generation.
496
497   * random.c (read_pool): Print a more friendly error message in
498   cases when too much random is requested in one call.
499
500   * random.c (fast_random_poll): Check whether RUSAGE_SELF is defined;
501   this is not the case for some ESIX and Unixware, although they have
502   getrusage().
503
504   * primegen.c (generate_elg_prime): All primes are now generated with
505   the lowest random quality level.  Because they are public anyway we
506   don't need stronger random and by this we do not drain the systems
507   entropy so much.
508
509   * primegen.c (register_primegen_progress): New.
510   * dsa.c (register_pk_dsa_progress): New.
511   * elgamal.c (register_pk_elg_progress): New.
512
513   * elgamal.c (wiener_map): New.
514   (gen_k): Use a much smaller k.
515   (generate): Calculate the qbits using the wiener map and
516   choose an x at a size comparable to the one choosen in gen_k
517
518   * rmd160.c (rmd160_get_info): Moved casting to the left side due to a
519   problem with UTS4.3.  Suggested by Dave Dykstra.
520   * sha1.c (sha1_get_info): Ditto.
521   * tiger.c (tiger_get_info): Ditto.
522   * md5.c (md5_get_info): Ditto
523   * des.c (des_get_info): Ditto.
524   * blowfish.c (blowfish_get_info): Ditto.
525   * cast5.c (cast5_get_info): Ditto.
526   * twofish.c (twofish_get_info): Ditto.
527
528 Fri Mar 24 11:25:45 CET 2000  Werner Koch  <wk@openit.de>
529
530         * md.c (md_open): Add hmac arg and allocate space for the pads.
531         (md_finalize): Add HMAC support.
532         (md_copy): Ditto.
533         (md_close): Ditto.
534         (gcry_md_reset): Ditto.
535         (gcry_md_ctl): Ditto.
536         (prepare_macpdas): New.
537
538 Mon Mar 13 19:22:46 CET 2000  Werner Koch  <wk@openit.de>
539
540         * md.c (gcry_md_hash_buffer): Add support for the other algorithms.
541
542 Mon Jan 31 16:37:34 CET 2000  Werner Koch  <wk@gnupg.de>
543
544         * genprime.c (generate_elg_prime): Fixed returned factors which never
545         worked for non-DSA keys.
546
547 Thu Jan 27 18:00:44 CET 2000  Werner Koch  <wk@gnupg.de>
548
549         * pubkey.c (sexp_to_key): Fixed mem leaks in case of errors.
550
551 Mon Jan 24 22:24:38 CET 2000  Werner Koch  <wk@gnupg.de>
552
553         * pubkey.c (gcry_pk_decrypt): Implemented.
554         (gcry_pk_encrypt): Implemented.
555         (gcry_pk_testkey): New.
556         (gcry_pk_genkey): New.
557         (pubkey_decrypt): Made static.
558         (pubkey_encrypt): Ditto.
559         (pubkey_check_secret_key): Ditto.
560         (pubkey_generate): Ditto.
561
562 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
563
564         * pubkey.c (pubkey_nbits): Removed and replaced by ...
565         (gcry_pk_get_nbits): this new one.
566
567 Wed Dec  8 21:58:32 CET 1999  Werner Koch  <wk@gnupg.de>
568
569         * dsa.c: s/mpi_powm/gcry_mpi_powm/g
570         * elgamal.c: Ditto.
571         * primegen.c: Ditto.
572
573         * : Replaced g10_opt_verbose by g10_log_verbosity().
574
575         * Makefile.am (INCLUDES): removed intl, add ../gcrypt
576
577 Fri Nov 19 17:15:20 CET 1999  Werner Koch  <wk@gnupg.de>
578
579         * dynload.c (cmp_filenames): New to replaced compare_filename() in
580         module.
581         (register_cipher_extension): Removed the tilde expansion stuff.
582         * rndeg.c (my_make_filename): New.
583
584         * : Replaced header util.h by g10lib.h
585
586         * random.c (gather_faked): Replaced make_timestamp by time(2).
587         Disabled wrning printed with tty_printf.
588         * rndlinux.c (gather_random): Always use fprintf instead of tty_xxx;
589         this should be replaced by a callback function.
590
591         * primegen.c (gen_prime): Use gcry_mpi_randomize.
592         (is_prime): Ditto.
593         * elgamal.c (test_keys): Ditto.
594         * dsa.c (test_keys): Ditto.
595
596         * cipher.c (gcry_cipher_close): Die on invalid handle.
597
598 Mon Nov 15 21:36:02 CET 1999  Werner Koch  <wk@gnupg.de>
599
600         * elgamal.c (gen_k): Use the new random API.
601         (generate): Ditto.
602         * dsa.c (gen_k): Ditto.
603         (generate): Ditto.
604
605 Sat Nov 13 17:44:23 CET 1999  Werner Koch  <wk@gnupg.de>
606
607         * pubkey.c (disable_pubkey_algo): Made static.
608         (gcry_pk_ctl): New.
609
610         * random.c (get_random_bits): Renamed to ...
611         (get_random_bytes): ... this and made static.
612         (gcry_random_bytes): New.
613         (gcry_random_bytes_secure): New.
614         (randomize_buffer): Renamed to ...
615         (gcry_randomize): ...this.
616
617         * md.c (gcry_md_hash_buffer): New.
618
619         * pubkey.c (gcry_pk_algo_info): 4 new commands.
620         (pubkey_get_npkey): Made static.
621         (pubkey_get_nskey): Made static.
622         (pubkey_get_nsig): Made static.
623         (pubkey_get_nenc): Made static.
624
625         * pubkey.c: Removed all G10ERR_xxx.
626         * cipher.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_CIPHER_ALGO.
627         * md.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_MD_ALGO.
628         * cast5.c (cast_setkey): Changed errocodes to GCRYERR_xxx.
629         * blowfish.c: Ditto.
630         * des.c: Ditto.
631         * twofish.c: Ditto.
632         * dsa.c: Ditto.
633         * elgamal.c: Ditto.
634
635         * g10c.c: Removed
636
637         * cipher.c (gcry_cipher_open): Replaced alloc functions and return NULL
638         if we are out of core.
639         * dynload.c: Replaced all memory allocation functions.
640         * md.c: Ditto.
641         * primegen.c: Ditto.
642         * pubkey.c: Ditto.
643         * random.c: Ditto.
644         * rndw32.c: Ditto.
645         * elgamal.c: Ditto.
646         * dsa.c: Ditto.
647
648 Tue Oct 26 14:10:21 CEST 1999  Werner Koch  <wk@gnupg.de>
649
650         * elgamal.c (sign): Hugh found strange code here. Replaced by BUG().
651
652         * cipher.c: Merged with gcrypt/symapi.c.
653
654         * pubkey.c (string_to_pubkey_algo): Renamed function to ...
655         (gcry_pk_map_name): ... this.
656         (pubkey_algo_to_string): Renamed function to ...
657         (gcry_pk_algo_name): ... this.
658         (gcry_pk_algo_info): New.
659         * pubkey.c: Merged with gcrypt/pkapi.c.
660
661         * md.c (md_reset): Clear finalized; thanks to Ulf Moeller for
662         fixing this bug.
663
664         * md.c: Merged with gcrypt/mdapi.c
665
666 Wed Sep 15 14:39:59 CEST 1999  Michael Roth <mroth@nessie.de>
667
668         * des.c: Various speed improvements: One bit pre rotation
669           trick after initial permutation (Richard Outerbridge).
670           Finished test of SSLeay Tripple-DES patterns.
671
672 Wed Sep 15 16:22:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
673
674         * rndw32.c: New.
675
676 Mon Sep 13 10:51:29 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
677
678         * bithelp.h: New.
679         * rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h
680
681 Tue Sep  7 16:23:36 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
682
683         * Makefile.am: Fixed seds for latest egcc. By Ollivier Robert.
684
685 Mon Sep  6 19:59:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
686
687         * des.c (selftest): Add some testpattern
688
689 Mon Aug 30 20:38:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
690
691         * cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using
692         in place encryption. Pointed out by Frank Stajano.
693
694 Mon Jul 26 09:34:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
695
696         * md5.c (md5_final): Fix for a SCO cpp bug.
697
698 Thu Jul 15 10:15:35 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
699
700         * elgamal.c (elg_check_secret_key,elg_encrypt
701         elg_decrypt,elg_sign,elg_verify): Sanity check on the args.
702         * dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto.
703
704         * pubkey.c (disable_pubkey_algo): New.
705         (check_pubkey_algo2): Look at disabled algo table.
706         * cipher.c (disable_cipher_algo): New.
707         (check_cipher_algo): Look at disabled algo table.
708
709 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
710
711         * Makefile.am: Support for libtool.
712
713 Fri Jul  2 11:45:54 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
714
715         * dsa.c (gen_k): Changed algorithm to consume less random bytes
716         * elgamal.c (gen_k): Ditto.
717
718         * random.c (random_dump_stats): New.
719
720 Thu Jul  1 12:47:31 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
721
722         * primegen.c, elgamal.c, dsa.c (progess): New and replaced all
723         fputc with a call to this function.
724
725 Sat Jun 26 12:15:59 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
726
727         * rndegd.c (do_write): s/ssize_t/int/ due to SunOS 4.1 probs.
728
729         * cipher.c (do_cbc_encrypt, do_cbc_decrypt): New.
730
731         * dynload.c (HAVE_DL_SHL_LOAD): Map hpux API to dlopen (Dave Dykstra).
732         * Makefile.am (install-exec-hook): Removed.
733
734 Sun May 23 14:20:22 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
735
736         * cipher.c (setup_cipher_table): Enable Twofish
737
738         * random.c (fast_random_poll): Disable use of times() for mingw32.
739
740 Mon May 17 21:54:43 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
741
742         * dynload.c (register_internal_cipher_extension): Minor init fix.
743
744 Tue May  4 15:47:53 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
745
746         * primegen.c (gen_prime): Readded the Fermat test. Fixed the bug
747         that we didn't correct for step when passing the prime to the
748         Rabin-Miller test which led to bad performance (Stefan Keller).
749         (check_prime): Add a first Fermat test.
750
751 Sun Apr 18 10:11:28 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
752
753         * cipher.c (cipher_setiv): Add ivlen arg, changed all callers.
754
755         * random.c (randomize_buffer): alway use secure memory because
756         we can't use m_is_secure() on a statically allocated buffer.
757
758         * twofish.c: Replaced some macros by a loop to reduce text size.
759         * Makefile.am (twofish): No more need for sed editing.
760
761 Fri Apr  9 12:26:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
762
763         * cipher.c (cipher_open): Reversed the changes for AUTO_CFB.
764
765         * blowfish.c: Dropped the Blowfish 160 mode.
766         * cipher.c (cipher_open): Ditto.
767         (setup_cipher_table): Ditto.  And removed support of twofish128
768
769 Wed Apr  7 20:51:39 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
770
771         * random.c (get_random_bits): Can now handle requests > POOLSIZE
772
773         * cipher.c (cipher_open): Now uses standard CFB for automode if
774         the blocksize is gt 8 (according to rfc2440).
775
776         * twofish.c: Applied Matthew Skala's patches for 256 bit key.
777
778 Tue Apr  6 19:58:12 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
779
780         * random.c (get_random_bits): Can now handle requests > POOLSIZE
781
782         * cipher.c (cipher_open): Now uses standard CFB for automode if
783         the blocksize is gt 8 (according to rfc2440).
784
785 Sat Mar 20 11:44:21 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
786
787         * rndlinux.c (tty_printf) [IS_MODULE]: Removed.
788
789         * rndegd.c (gather_random): Some fixes.
790
791 Wed Mar 17 13:09:03 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
792
793         * rndegd.c (do_read): New.
794         (gather_random): Changed the implementation.
795
796 Mon Mar  8 20:47:17 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
797
798         * dynload.c (DLSYM_NEEDS_UNDERSCORE): Renamed.
799
800 Fri Feb 26 17:55:41 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
801
802         * md.c: Nearly a total rewrote.
803
804 Wed Feb 24 11:07:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
805
806         * cipher.c (context): Fixed alignment
807         * md.c: Ditto.
808
809         * rndegd.c: New
810
811 Mon Feb 22 20:04:00 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
812
813         * rndegd.c: New.
814
815 Wed Feb 10 17:15:39 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
816
817         * Makefile.am: Modules are now figured out by configure
818         * construct.c: New. Generated by configure. Changed all modules
819         to work with that.
820         * sha1.h: Removed.
821         * md5.h: Removed.
822
823         * twofish.c: Changed interface to allow Twofish/256
824
825         * rndunix.c (start_gatherer): Die on SIGPIPE.
826
827 Wed Jan 20 18:59:49 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
828
829         * rndunix.c (gather_random): Fix to avoid infinite loop.
830
831 Sun Jan 17 11:04:33 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
832
833         * des.c (is_weak_key): Replace system memcmp due to bugs
834         in SunOS's memcmp.
835         (des_get_info): Return error on failed selftest.
836         * twofish.c (twofish_setkey): Return error on failed selftest or
837         invalid keylength.
838         * cast5.c (cast_setkey): Ditto.
839         * blowfish.c (bf_setkey): Return error on failed selftest.
840
841 Tue Jan 12 11:17:18 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
842
843         * random.c (random_is_faked): New.
844
845         * tiger.c: Only compile if we have the u64 type
846
847 Sat Jan  9 16:02:23 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
848
849         * rndunix.c (gather_random): check for setuid.
850
851         * Makefile.am: Add a way to staically link random modules
852
853 Thu Jan  7 18:00:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
854
855         * md.c (md_stop_debug): Do a flush first.
856         (md_open): size of buffer now depends on the secure parameter
857
858 Sun Jan  3 15:28:44 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
859
860         * rndunix.c (start_gatherer): Fixed stupid ==/= bug
861
862 1998-12-31  Geoff Keating  <geoffk@ozemail.com.au>
863
864         * des.c (is_weak_key): Rewrite loop end condition.
865
866 Tue Dec 29 14:41:47 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
867
868         * random.c: add unistd.h for getpid().
869         (RAND_MAX): Fallback value for Sun.
870
871 Wed Dec 23 17:12:24 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
872
873         * md.c (md_copy): Reset debug.
874
875 Mon Dec 14 21:18:49 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
876
877         * random.c (read_random_source): Changed the interface to the
878         random gathering function.
879         (gather_faked): Use new interface.
880         * dynload.c (dynload_getfnc_fast_random_poll): Ditto.
881         (dynload_getfnc_gather_random): Ditto.
882         * rndlinux.c (gather_random): Ditto.
883         * rndunix.c (gather_random): Ditto.
884
885 Sat Dec 12 18:40:32 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
886
887         * dynload.c (SYMBOL_VERSION): New to cope with system which needs
888         underscores.
889
890         * rndunix.c: Rewrote large parts
891
892 Thu Dec 10 20:15:36 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
893
894         * dynload.c (load_extension): increased needed verbosity level.
895
896         * random.c (fast_random_poll): Fallback to a default fast random
897         poll function.
898         (read_random_source): Always use the faked entroy gatherer if no
899         gather module is available.
900         * rndlinux.c (fast_poll): Removed.
901         * rndunix.c (fast_poll): Removed.
902
903
904 Wed Nov 25 12:33:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
905
906         * rand-*.c: Removed.
907         * rndlinux.c : New.
908         * rndunix.c : New.
909         * random.c : Restructured the interface to the gather modules.
910         (intialize): Call constructor functions
911         (read_radnom_source): Moved to here.
912         * dynload.c (dynload_getfnc_gather_random): New.
913         (dynload_getfnc_fast_random_poll): New.
914         (register_internal_cipher_extension): New.
915         (register_cipher_extension): Support of internal modules.
916
917 Sun Nov  8 17:44:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
918
919         * rand-unix.c (read_random_source): Removed the assert.
920
921 Mon Oct 19 18:34:30 1998  me,,,  (wk@tobold)
922
923         * pubkey.c: Hack to allow us to give some info about RSA keys back.
924
925 Thu Oct 15 11:47:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
926
927         * dynload.c: Support for DLD
928
929 Wed Oct 14 12:13:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
930
931         * rand-unix.c: Now uses names from configure for /dev/random.
932
933 1998-10-10  SL Baur  <steve@altair.xemacs.org>
934
935         * Makefile.am: fix sed -O substitutions to catch -O6, etc.
936
937 Tue Oct  6 10:06:32 1998  Werner Koch  (wk@isil.d.shuttle.de)
938
939         * rand-unix.c (HAVE_GETTIMEOFDAY): Fixed (was ..GETTIMEOFTIME :-)
940         * rand-dummy.c (HAVE_GETTIMEOFDAY): Ditto.
941
942 Mon Sep 28 13:23:09 1998  Werner Koch  (wk@isil.d.shuttle.de)
943
944         * md.c (md_digest): New.
945         (md_reset): New.
946
947 Wed Sep 23 12:27:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
948
949         * tiger.c (TIGER_CONTEXT): moved "buf", so that it is 64 bit aligned.
950
951 Mon Sep 21 06:22:53 1998  Werner Koch  (wk@(none))
952
953         * des.c: Some patches from Michael.
954
955 Thu Sep 17 19:00:06 1998  Werner Koch  (wk@(none))
956
957         * des.c : New file from Michael Roth <mroth@nessie.de>
958
959 Mon Sep 14 11:10:55 1998  Werner Koch  (wk@(none))
960
961         * blowfish.c (bf_setkey): Niklas Hernaeus patch to detect weak keys.
962
963 Mon Sep 14 09:19:25 1998  Werner Koch  (wk@(none))
964
965         * dynload.c (RTLD_NOW): Now defined to 1 if it is undefined.
966
967 Mon Sep  7 17:04:33 1998  Werner Koch  (wk@(none))
968
969         * Makefile.am: Fixes to allow a different build directory
970
971 Thu Aug  6 17:25:38 1998  Werner Koch,mobil,,,  (wk@tobold)
972
973         * random.c (get_random_byte): Removed and changed all callers
974         to use get_random_bits()
975
976 Mon Jul 27 10:30:22 1998  Werner Koch  (wk@(none))
977
978         * cipher.c : Support for other blocksizes
979         (cipher_get_blocksize): New.
980         * twofish.c: New.
981         * Makefile.am: Add twofish module.
982
983 Mon Jul 13 21:30:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
984
985         * random.c (read_pool): Simple alloc if secure_alloc is not set.
986         (get_random_bits): Ditto.
987
988 Thu Jul  9 13:01:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
989
990         * dynload.c (load_extension): Function now nbails out if
991         the program is run setuid.
992
993 Wed Jul  8 18:58:23 1998  Werner Koch  (wk@isil.d.shuttle.de)
994
995         * rmd160.c (rmd160_hash_buffer): New.
996
997 Thu Jul  2 10:50:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
998
999         * cipher.c (cipher_open): algos >=100 use standard CFB
1000
1001 Thu Jun 25 11:18:25 1998  Werner Koch  (wk@isil.d.shuttle.de)
1002
1003         * Makefile.am: Support for extensions
1004
1005 Thu Jun 18 12:09:38 1998  Werner Koch  (wk@isil.d.shuttle.de)
1006
1007         * random.c (mix_pool): simpler handling for level 0
1008
1009 Mon Jun 15 14:40:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
1010
1011         * tiger.c: Removed from dist, will reappear as dynload module
1012
1013 Sat Jun 13 14:16:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
1014
1015         * pubkey.c: Major changes to allow extensions. Changed the inteface
1016         of all public key ciphers and added the ability to load extensions
1017         on demand.
1018
1019         * misc.c: Removed.
1020
1021 Wed Jun 10 07:52:08 1998  Werner Koch,mobil,,,  (wk@tobold)
1022
1023         * dynload.c: New.
1024         * cipher.c: Major changes to allow extensions.
1025
1026 Mon Jun  8 22:43:00 1998  Werner Koch  (wk@isil.d.shuttle.de)
1027
1028         * cipher.c: Major internal chnages to support extensions.
1029         * blowfish.c (blowfish_get_info): New and made all internal
1030         functions static, changed heder.
1031         * cast5.c (cast5_get_info): Likewise.
1032
1033 Mon Jun  8 12:27:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
1034
1035         * tiger.c (transform): Fix for big endian
1036
1037         * cipher.c (do_cfb_decrypt): Big endian fix.
1038
1039 Fri May 22 07:30:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
1040
1041         * md.c (md_get_oid): Add a new one for TIGER.
1042
1043 Thu May 21 13:24:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
1044
1045         * cipher.c: Add support for a dummy cipher
1046
1047 Thu May 14 15:40:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
1048
1049         * rmd160.c (transform): fixed sigbus - I should better
1050         add Christian von Roques's new implemenation of rmd160_write.
1051
1052 Fri May  8 18:07:44 1998  Werner Koch  (wk@isil.d.shuttle.de)
1053
1054         * rand-internal.h, rand-unix.c, rand-w32.c, rand_dummy.c: New
1055         * random.c: Moved system specific functions to rand-****.c
1056
1057 Fri May  8 14:01:17 1998  Werner Koch  (wk@isil.d.shuttle.de)
1058
1059         * random.c (fast_random_poll): add call to gethrtime.
1060
1061 Tue May  5 21:28:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
1062
1063         * elgamal.c (elg_generate): choosing x was not correct, could
1064         yield 6 bytes which are not from the random pool, tsss, tsss..
1065
1066 Tue May  5 14:09:06 1998  Werner Koch  (wk@isil.d.shuttle.de)
1067
1068         * primegen.c (generate_elg_prime): Add arg mode, changed all
1069         callers and implemented mode 1.
1070
1071 Mon Apr 27 14:41:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
1072
1073         * cipher.c (cipher_get_keylen): New.
1074
1075 Sun Apr 26 14:44:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
1076
1077         * tiger.c, tiger.h: New.
1078
1079 Wed Apr  8 14:57:11 1998  Werner Koch  (wk@isil.d.shuttle.de)
1080
1081         * misc.c (check_pubkey_algo2): New.
1082
1083 Tue Apr  7 18:46:49 1998  Werner Koch  (wk@isil.d.shuttle.de)
1084
1085         * cipher.c: New
1086         * misc.c (check_cipher_algo): Moved to cipher.c
1087         * cast5.c: Moved many functions to cipher.c
1088         * blowfish.c: Likewise.
1089
1090 Sat Apr  4 19:52:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
1091
1092         * cast5.c: Implemented and tested.
1093
1094 Wed Apr  1 16:38:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
1095
1096         * elgamal.c (elg_generate): Faster generation of x in some cases.
1097
1098 Thu Mar 19 13:54:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
1099
1100         * blowfish.c (blowfish_decode_cfb): changed XOR operation
1101         (blowfish_encode_cfb): Ditto.
1102
1103 Thu Mar 12 14:04:05 1998  Werner Koch  (wk@isil.d.shuttle.de)
1104
1105         * sha1.c (transform): Rewrote
1106
1107         * blowfish.c (encrypt): Unrolled for rounds == 16
1108         (decrypt): Ditto.
1109
1110 Tue Mar 10 16:32:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
1111
1112         * rmd160.c (transform): Unrolled the loop.
1113
1114 Tue Mar 10 13:05:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
1115
1116         * random.c (read_pool): Add pool_balance stuff.
1117         (get_random_bits): New.
1118
1119         * elgamal.c (elg_generate): Now uses get_random_bits to generate x.
1120
1121
1122 Tue Mar 10 11:33:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
1123
1124         * md.c (md_digest_length): New.
1125
1126 Tue Mar 10 11:27:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
1127
1128         * dsa.c (dsa_verify): Works.
1129
1130 Mon Mar  9 12:59:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
1131
1132         * dsa.c, dsa.h: Removed some unused code.
1133
1134 Wed Mar  4 10:39:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
1135
1136         * md.c (md_open): Add call to fast_random_poll.
1137         blowfish.c (blowfish_setkey): Ditto.
1138
1139 Tue Mar  3 13:32:54 1998  Werner Koch  (wk@isil.d.shuttle.de)
1140
1141         * rmd160.c (rmd160_mixblock): New.
1142         * random.c: Restructured to start with a new RNG implementation.
1143         * random.h: New.
1144
1145 Mon Mar  2 19:21:46 1998  Werner Koch  (wk@isil.d.shuttle.de)
1146
1147         * gost.c, gost.h: Removed because they did only conatin trash.
1148
1149 Sun Mar  1 16:42:29 1998  Werner Koch  (wk@isil.d.shuttle.de)
1150
1151         * random.c (fill_buffer): removed error message if n == -1.
1152
1153 Fri Feb 27 16:39:34 1998  Werner Koch  (wk@isil.d.shuttle.de)
1154
1155         * md.c (md_enable): No init if called twice.
1156
1157 Thu Feb 26 07:57:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
1158
1159         * primegen.c (generate_elg_prime): Changed the progress printing.
1160         (gen_prime): Ditto.
1161
1162 Tue Feb 24 12:28:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
1163
1164         * md5.c, md.5 : Replaced by a modified version of md5.c from
1165         GNU textutils 1.22.
1166
1167 Wed Feb 18 14:08:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
1168
1169         * md.c, md.h : New debugging support
1170
1171 Mon Feb 16 10:08:47 1998  Werner Koch  (wk@isil.d.shuttle.de)
1172
1173         * misc.c (cipher_algo_to_string): New
1174         (pubkey_algo_to_string): New.
1175         (digest_algo_to_string): New.
1176
1177
1178  Copyright 1998,1999,2000,2001 Free Software Foundation, Inc.
1179
1180  This file is free software; as a special exception the author gives
1181  unlimited permission to copy and/or distribute it, with or without
1182  modifications, as long as this notice is preserved.
1183
1184  This file is distributed in the hope that it will be useful, but
1185  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1186  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.