* pubkey.c (setup_pubkey_table), elgamal.c (sign, verify, test_keys,
[gnupg.git] / cipher / ChangeLog
1 2004-01-16  David Shaw  <dshaw@jabberwocky.com>
2
3         * pubkey.c (setup_pubkey_table), elgamal.c (sign, verify,
4         test_keys, elg_sign, elg_verify, elg_get_info): Remove the last
5         bits of Elgamal type 20 support.
6
7 2003-12-29  David Shaw  <dshaw@jabberwocky.com>
8
9         * idea-stub.c (load_module, idea_get_info): Return the proper type
10         for idea_get_info from inside load_module.  From Stefan Bellon.
11
12         * rijndael.c, rndunix.c, twofish.c: Remove dead IS_MODULE code.
13
14         * g10c.c: Dead code.  Remove.
15
16         * Makefile.am: Don't compile g10c.c.
17
18 2003-12-28  Stefan Bellon  <sbellon@sbellon.de>
19
20         * rndriscos.c (rndriscos_gather_random) [__riscos__]: Declare
21         variable outside loop.
22
23         * blowfish.c, twofish.c [__riscos__]: Removal of unnecessary
24         #ifdef __riscos__ sections.
25
26 2003-12-17  David Shaw  <dshaw@localhost.localdomain>
27
28         * dsa.h, dsa.c (dsa_verify), elgamal.h, elgamal.c (elg_verify),
29         rsa.h, rsa.c (rsa_verify), pubkey.c (dummy_verify, pubkey_verify):
30         Remove old unused code.
31
32 2003-12-03  David Shaw  <dshaw@jabberwocky.com>
33
34         * pubkey.c (setup_pubkey_table): Don't allow signatures to and
35         from encrypt-only Elgamal keys.
36         (pubkey_get_npkey, pubkey_get_nskey, pubkey_get_nsig,
37         pubkey_get_nenc, pubkey_nbits): Wrap the RSA cheats in !USE_RSA.
38         Add cheats for sign+encrypt Elgamal.
39
40 2003-11-30  David Shaw  <dshaw@jabberwocky.com>
41
42         * pubkey.c (setup_pubkey_table): Only include RSA if USE_RSA is
43         defined.
44         (pubkey_get_npkey): Return 2 for RSA even if it isn't available so
45         we can at least handle RSA keys.
46
47 2003-11-27  Werner Koch  <wk@gnupg.org>
48
49         * pubkey.c (pubkey_sign): Return an error if an ElGamal key is
50         used.
51
52         * elgamal.c (gen_k): New arg SMALL_K.
53         (sign): Use it here with SMALL_K set to false
54         (do_encrypt): and here with SMALL_K set to true.
55
56 2003-10-10  Werner Koch  <wk@gnupg.org>
57
58         * primegen.c (gen_prime): Bail out if we try to generate a prime
59         with less than 16 bits. Include i18n.h.
60
61 2003-10-06  Werner Koch  <wk@gnupg.org>
62
63         * primegen.c (gen_prime): Bail out if NBITS is zero.  This is
64         Debian bug #213989 reported by Max <rusmir@tula.net>.
65
66 2003-09-04  David Shaw  <dshaw@jabberwocky.com>
67
68         * md.c (string_to_digest_algo): Enable read-write SHA-256 support.
69
70         * algorithms.h, Makefile.am, md.c (load_digest_module,
71         string_to_digest_algo), tiger.c: Drop TIGER/192 support.
72
73 2003-08-28  David Shaw  <dshaw@jabberwocky.com>
74
75         * idea-stub.c, random.c; s/__MINGW32__/_WIN32/ to help building on
76         native Windows compilers.  Requested by Brian Gladman.  From
77         Werner on stable branch.
78
79 2003-08-21  David Shaw  <dshaw@jabberwocky.com>
80
81         * random.c (getfnc_gather_random): Don't check NAME_OF_DEV_RANDOM
82         twice.  Use NAME_OF_DEV_URANDOM.
83
84 2003-05-24  David Shaw  <dshaw@jabberwocky.com>
85
86         * bithelp.h, des.c, random.c, rndlinux.c, sha1.c, blowfish.c,
87         elgamal.c, rijndael.c, rndunix.c, sha256.c, cast5.c, idea-stub.c,
88         rmd160.c, rndw32.c, sha512.c, md5.c, rmd160test.c, rsa.c, tiger.c:
89         Edit all preprocessor instructions to remove whitespace before the
90         '#'.  This is not required by C89, but there are some compilers
91         out there that don't like it.
92
93 2003-05-15  David Shaw  <dshaw@jabberwocky.com>
94
95         * cipher.c (setup_cipher_table): #ifdef IDEA.
96
97         * random.c (fast_random_poll): Only use times() if we HAVE_TIMES.
98
99         * sha512.c, tiger.c: Use the U64_C() macro to specify 64-bit
100         constants.  U64_C is defined in include/types.h and uses the
101         correct suffix depending on the underlying type of u64.
102
103         * idea-stub.c (load_module): Catch an error if the idea module
104         file is unloadable for some reason (unreadable, bad permissions,
105         etc.)
106
107         * md.c (string_to_digest_algo): Give a warning about TIGER192 not
108         being part of OpenPGP.
109
110 2003-04-15  Werner Koch  <wk@gnupg.org>
111
112         * md.c (md_start_debug): Need to open the file in binary mode.
113
114 2003-02-21  David Shaw  <dshaw@jabberwocky.com>
115
116         * cipher.c (setup_cipher_table): #ifdef all optional ciphers.
117
118         * md.c (load_digest_module): #ifdef all optional digests.
119
120 2003-02-11  David Shaw  <dshaw@jabberwocky.com>
121
122         * Makefile.am, md.c (load_digest_module): Only build in SHA384/512
123         and TIGER if specifically enabled by the 64-bit type check in
124         configure.
125
126 2003-02-04  David Shaw  <dshaw@jabberwocky.com>
127
128         * sha256.c, sha512.c: New.
129
130         * Makefile.am, algorithms.h, md.c (load_digest_module,
131         string_to_digest_algo): Add read-only support for the new SHAs.
132
133 2002-11-06  David Shaw  <dshaw@jabberwocky.com>
134
135         * rndw32.c [__CYGWIN32__]: Don't include winioctl.h - it is not
136         required anymore. (From Werner)
137
138         * random.c (read_seed_file,update_random_seed_file): Use binary
139         mode for __CYGWIN__. (From Werner)
140
141         * blowfish.c (burn_stack), cast5.c (burn_stack), des.c
142         (burn_stack), md5.c (burn_stack), random.c (burn_stack, read_pool,
143         fast_random_poll), rijndael.c (burn_stack), rmd160.c (burn_stack),
144         rndegd.c (rndegd_gather_random), rndlinux.c
145         (rndlinux_gather_random), sha1.c (burn_stack), tiger.c
146         (burn_stack), twofish.c (burn_stack): Replace various calls to
147         memset() with the more secure wipememory().
148
149 2002-11-02  David Shaw  <dshaw@jabberwocky.com>
150
151         * cipher.c (string_to_cipher_algo), md.c (string_to_digest_algo):
152         Allow the Sxxx and Hxxx format for cipher and digest names.
153
154 2002-10-31  Stefan Bellon  <sbellon@sbellon.de>
155
156         * rndriscos.c (rndriscos_gather_random): Use riscos_load_module()
157         to load CryptRandom module.
158
159 2002-10-12  Werner Koch  <wk@gnupg.org>
160
161         * rndunix.c (my_popen): Make sure that stdin and stderr are
162         connected to a file.  This is to avoid NetBSD to complain about
163         set{u,g}id programs invoked with fd 0, 2 closed.  Reported by
164         Cristian Biere.
165         (start_gatherer): Likewise. Reordered code.
166
167 2002-10-02  David Shaw  <dshaw@jabberwocky.com>
168
169         * tiger.c (tiger_get_info): Select the OID to use for TIGER at
170         compile time.
171
172 2002-09-27  David Shaw  <dshaw@jabberwocky.com>
173
174         * Makefile.am, md.c (load_digest_module): TIGER is now always
175         enabled.
176
177 2002-09-26  Werner Koch  <wk@gnupg.org>
178
179         * tiger.c (tiger_get_info): Use a regular OID.  Note that this
180         breaks all TIGER generated signatures; if we want to do something
181         about it we have to do it in ../g10/sig-check.c .
182
183 2002-09-17  Werner Koch  <wk@gnupg.org>
184
185         * rndw32.c (SIZEOF_DISK_PERFORMANCE_STRUCT): Increased to 256.
186
187 2002-09-12  Stefan Bellon  <sbellon@sbellon.de>
188
189         * rand-internal.h (rndriscos_gather_random): Added prototype.
190
191 2002-08-30  Werner Koch  <wk@gnupg.org>
192
193         * random.c: Automagically detect the entropy gatherer when
194         this feature is configured.
195         * rndegd.c (rndegd_connect_socket): New.  Factored out from ..
196         (rndegd_gather_random): here and call it.
197         (do_read): Update the counter variables correctly.  This was not a
198         problem due to the way EGD works. Bug found by Christian Biere.
199
200 2002-08-20  Werner Koch  <wk@gnupg.org>
201
202         * primegen.c (generate_elg_prime): Return all factors for mode 1.
203         Bug reported by Bob Mathews.
204
205 2002-08-12  Werner Koch  <wk@gnupg.org>
206
207         * cipher.c: Include the DUMMY cipher only when the new ALLOW_DUMMY
208         is defined. It should only be defined for hard core debugging.
209
210 2002-08-08  David Shaw  <dshaw@jabberwocky.com>
211
212         * Makefile.am, md.c (load_digest_module): Allow switching TIGER on
213         and off via configure.
214
215 2002-08-07  David Shaw  <dshaw@jabberwocky.com>
216
217         * md.c (md_algo_present): New function to check if a given algo is
218         in use for a given MD_HANDLE.
219
220 2002-08-04  Werner Koch  <wk@gnupg.org>
221
222         * blowfish.h, cast5.h, des.h: Removed after moving all prototypes to
223         * algorithms.h: here. Changed all sources to use this one.
224         
225 2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
226
227         * idea-stub.c (idea_get_info): RISC OS' Norcroft C needs a cast.
228         * random.c (getfnc_gather_random): Added RISC OS support.
229         * rndriscos.c: Removed dynload code and tidied up a bit.
230
231 2002-08-03  Werner Koch  <wk@gnupg.org>
232
233         * rndegd.c (do_read): Handle case when read returns 0 to avoid
234         gpg hanging when EGD died.  By Christian Biere.
235
236 2002-08-02  Werner Koch  <wk@gnupg.org>
237
238         The big extension removal.
239         
240         * Makefile.am: Removed all extension stuff.
241         * dynload.c: Removed everything except for
242         register_cipher_extension.
243         (dynload_enum_module_names): New.
244         * dynload.h: Removed.
245         * random.c (getfnc_gather_random,getfnc_fast_random_poll):
246         New. Replaced all dynload functions with these ones.
247         * rndunix.c (rndunix_gather_random): Renamed from
248         gather_random.  Made global.  Removed all dynload stuff.
249         * rndlinux.c (rndlinux_gather_random): Likewise.
250         * rndegd.c (rndegd_gather_random): Likewise.
251         * rndw32.c (rndw32_gather_random)
252         (rndw32_gather_random_fast): Likewise.  Also removed the unsued
253         entropy dll code.
254         * md.c (new_list_item): Changed return value to indicate whether
255         an algorithms was loaded.
256         (load_digest_module): Simplified by removing all the dynload code.
257         * algorithms.h: New.
258         * md5.c (md5_get_info): Made global.  Removed all dynload stuff.
259         * rmd160.c (rmd160_get_info): Likewise. 
260         * sha1.c (sha1_get_info): Likewise.
261         * tiger.c (tiger_get_info): Likewise. Return NULL if we can't use
262         this module.
263         * idea-stub.c: New.
264         * blowfish.h (idea_get_info): Add prototype.
265         * cipher.c (setup_cipher_table): Try to load IDEA.
266         (load_cipher_modules): Removed all dynload code.
267         * pubkey.c (load_pubkey_modules): Removed the dynloading code.
268
269 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
270
271         * random.c: "warning" -> "WARNING"
272
273 2002-07-02  Werner Koch  <wk@gnupg.org>
274
275         * rndw32.c (slow_gatherer_windowsNT): Use a simple array for the
276         disk performance structure and increase it to the size required by
277         W2000.
278
279 2002-06-29  Werner Koch  <wk@gnupg.org>
280
281         * rndlinux.c: Removed HAVE_LINUX_RANDOM_H conditional because it
282         was never used and the configure test did set the wrong macro
283         anyway.
284
285 2002-05-07  Stefan Bellon  <sbellon@sbellon.de>
286
287         * md.c (md_start_debug): Use EXTSEP_S instead of ".".
288
289 2002-04-24  Werner Koch  <wk@gnupg.org>
290
291         * tiger.c (tiger_final): Removed superfluous token pasting operators.
292         * md5.c (md5_final): Ditto.
293
294 2002-04-22  Stefan Bellon  <sbellon@sbellon.de>
295
296         * rndriscos.c (func_table): Made func a function pointer.
297         (init_device): Improved loading of CryptRandom module.
298
299 2002-04-18  Werner Koch  <wk@gnupg.org>
300
301         * rndlinux.c, rndegd.c, rndunix.c (func_table): Made func a
302         function pointer.  Note that we still need to change the module
303         interface to cope with data vs function pointer problems.  Hmmm,
304         even dlsym has a problem with this.
305
306 2002-04-10  David Shaw  <dshaw@jabberwocky.com>
307
308         * cipher.c (setup_cipher_table, cipher_open, cipher_encrypt,
309         cipher_decrypt, dummy_setkey, dummy_encrypt_block,
310         dummy_decrypt_block): the dummy cipher should only be built on
311         development versions.
312
313 2002-04-06  Werner Koch  <wk@gnupg.org>
314
315         * rijndael.c (rijndael_get_info): We do only support a 128 bit
316         blocksize so it makes sense to change the algorithm strings to
317         AES.
318         * cipher.c (string_to_cipher_algo): Map "RIJNDAEL" to "AES".
319
320 2002-02-14  Werner Koch  <wk@gnupg.org>
321
322         * random.c (mix_pool): Removed the failsafe stuff again.  It makes
323         the code more complicate and may give the path to more bugs.
324
325 2002-02-10  Werner Koch  <wk@gnupg.org>
326
327         * random.c (mix_pool): Carry an extra failsafe_digest buffer
328         around to make the function more robust.
329
330 2002-02-08  Werner Koch  <wk@gnupg.org>
331
332         * random.c (add_randomness): Xor new data into the pool and not
333         just copy it.  This avoids any choosen input attacks which are not
334         serious in our setting because an outsider won't be able to mix
335         data in and even then we keep going with a PRNG.  Thanks to Stefan
336         Keller for pointing this out.
337
338 2002-01-02  Stefan Bellon  <sbellon@sbellon.de>
339
340         * rndriscos.c [__riscos__]: Updated include file name.
341
342 2001-12-21  Werner Koch  <wk@gnupg.org>
343
344         * Makefile.am (DISCLEANFILES): Add construct.c
345
346 2001-12-19  Werner Koch  <wk@gnupg.org>
347
348         * rndw32.c [CYGWIN32]: Include winioctl.h.  By Disastry.
349
350 2001-11-08  Werner Koch  <wk@gnupg.org>
351
352         * primegen.c (gen_prime): Set 2 high order bits for secret primes.
353         * rsa.c (generate): Loop until we find the exact modulus size.
354         Changed the exponent to 41.
355
356 2001-10-22  Werner Koch  <wk@gnupg.org>
357
358         * Makefile.am: Need to use $(EXEEXT) where approriate.
359
360 2001-09-09  Werner Koch  <wk@gnupg.org>
361
362         * rsa.c (rsa_get_info): s/usage/r_usage/ to avoid shadow warnings.
363
364 2001-08-24  Werner Koch  <wk@gnupg.org>
365
366         * md.c (md_write): Made buf arg const.
367
368 2001-08-22  Werner Koch  <wk@gnupg.org>
369
370         * random.c (fast_random_poll): Don't use gethrtime if it is broken.
371
372 2001-08-20  Werner Koch  <wk@gnupg.org>
373
374         Applied patches from Stefan Bellon <sbellon@sbellon.de> to support
375         RISC OS.  Nearly all of these patches are identified by the
376         __riscos__ macro.
377         * blowfish.c, twofish.c: Added pragmas for use with a Norcraft
378         compiler. 
379         * dynload.c, md5.c, rmd160.c, sha1.c: Minor patches for RISC OS.
380         * rndriscos.c: New.
381         * rnd-internal.h: Added prototype.
382         * random.c (fast_random_poll): Use '#if defined' instead of just
383         'defined'; needed for RISC OS.
384         * primegen.c (gen_prime): count? are now ints for consistence
385         with is_prime().
386
387 2001-08-08  Werner Koch  <wk@gnupg.org>
388
389         * rndw32.c (gather_random): Use toolhelp in addition to the NT
390         gatherer for Windows2000.  Suggested by Sami Tolvanen.
391
392         * random.c (read_pool): Fixed length check, this used to be one
393         byte to strict.  Made an assert out of it because the caller has
394         already made sure that only poolsize bytes are requested.
395         Reported by Marcus Brinkmann.
396
397 2001-07-18  Werner Koch  <wk@gnupg.org>
398
399         * rndlinux.c (gather_random): casted a size_t arg to int so that
400         the format string is correct.  Casting is okay here and avoids
401         translation changes. 
402
403 2001-06-12  Werner Koch  <wk@gnupg.org>
404
405         * cipher.c (string_to_cipher_algo): Use ascii_strcasecmp().
406         * md.c (string_to_digest_algo): Ditto.
407         * pubkey.c (string_to_pubkey_algo): Ditto.
408         * rndw32.c (slow_gatherer_windowsNT): Ditto.  Not really needed
409         here but anyway.
410
411 2001-04-29  Werner Koch  <wk@gnupg.org>
412
413         * random.c (fast_random_poll): Do not check the return code of
414         getrusage.
415
416 2001-04-17  Werner Koch  <wk@gnupg.org>
417
418         * rndunix.c: Add a signal.h header to avoid warnings on Solaris 7
419         and 8.
420
421 2001-04-16  Werner Koch  <wk@gnupg.org>
422
423         * dynload.c [__MINGW32__]: Applied patch from Timo Schulz to make
424         it work under W32.  This patches is based on the one from
425         Disastry@saiknes.lv
426
427 2001-04-06  Werner Koch  <wk@gnupg.org>
428
429         * rijndael.c, des.c, blowfish.c, twofish.c, cast5.c (burn_stack):
430         New.  Add wrappers for most functions to be able to call
431         burn_stack after the function invocation. This methods seems to be
432         the most portable way to zeroise the stack used. It does only work
433         on stack frame based machines but it is highly portable and has no
434         side effects.  Just setting the automatic variables at the end of
435         a function to zero does not work well because the compiler will
436         optimize them away - marking them as volatile would be bad for
437         performance.
438         * md5.c, sha1.c, rmd160.c, tiger.c (burn_stack): Likewise.
439         * random.c (burn_stack): New.
440         (mix_pool): Use it here to burn the stack of the mixblock function.
441         
442 2001-04-02  Werner Koch  <wk@gnupg.org>
443
444         * primegen.c (generate_elg_prime): I was not initialized for mode
445         != 1.  Freed q at 3 places.  Thanks to  Tommi Komulainen.
446
447 2001-03-28  Werner Koch  <wk@gnupg.org>
448
449         * md5.c (md5_final): Fixed calculation of hashed length.  Thanks
450         to disastry@saiknes.lv for pointing out that it was horrible wrong
451         for more than 512MB of input.
452         * sha1.c (sha1_final): Ditto.
453         * rmd160.c (rmd160_final): Ditto.
454         * tiger.c (tiger_final): Ditto.
455
456 2001-03-19  Werner Koch  <wk@gnupg.org>
457
458         * blowfish.c (encrypt,do_encrypt): Changed name to do_encrypt to
459         avoid name clahses with an encrypt function in stdlib.h of
460         Dynix/PIX.  Thanks to Gene Carter.
461         * elgamal.c (encrypt,do_encrypt): Ditto.
462
463 2001-03-12  Werner Koch  <wk@gnupg.org>
464
465         * twofish.c (gnupgext_enum_func): Add some static when comnpiled
466         as a module.
467
468         * tiger.c (tiger_get_info): Return "TIGER192" and not just
469         "TIGER".  By Edwin Woudt.
470
471 2001-03-08  Werner Koch  <wk@gnupg.org>
472
473         * random.c: Always include time.h - standard requirement.  Thanks
474         to James Troup.
475
476 2001-01-18  Werner Koch  <wk@gnupg.org>
477
478         * rndw32.c: Fixed typo and wrong ifdef for VER_PLATFORM* macro
479
480 2001-01-12  Werner Koch  <wk@gnupg.org>
481
482         * cipher.c (cipher_encrypt,cipher_encrypt): Use blocksize and
483         not 8 for CBC mode (However: we don't use CBS in OpenPGP).
484
485 2000-11-22  Werner Koch  <wk@gnupg.org>
486
487         * rndegd.c (gather_random): Fixed default socket to be '=entropy'.
488         Thanks to Tomasz Kozlowski.
489
490 2000-10-12  Werner Koch  <wk@gnupg.org>
491
492         * rijndael.c: New.
493         * cipher.c: Add Rijndael support.
494
495 Wed Oct  4 15:50:18 CEST 2000  Werner Koch  <wk@openit.de>
496
497         * sha1.c (transform): Use rol() macro.  Actually this is not needed
498         for a newer gcc but there are still aoter compilers.
499
500 Thu Sep 14 14:20:38 CEST 2000  Werner Koch  <wk@openit.de>
501
502         * random.c (fast_random_poll): Check ENOSYS for getrusage.
503         * rndunix.c:  Add 2 sources for QNX. By Sam Roberts.
504
505 Wed Sep 13 18:12:34 CEST 2000  Werner Koch  <wk@openit.de>
506
507         * rsa.c (secret): Speed up by using the CRT.  For a 2k keys this
508         is about 3 times faster.
509         (stronger_key_check): New but unused code to check the secret key.
510
511 Wed Sep  6 17:55:47 CEST 2000  Werner Koch  <wk@openit.de>
512
513         * rsa.c: Changed the comment about the patent.
514         * Makefile.am: Included rsa.[ch].
515         * pubkey.c: Enabled RSA support.
516         (pubkey_get_npkey): Removed RSA workaround.
517
518 Fri Aug 25 16:05:38 CEST 2000  Werner Koch  <wk@openit.de>
519
520         * rndlinux.c (open_device): Loose random device checking.
521         By Nils Ellmenreich.
522
523         * rndegd.c (gather_random): Name of socket is nom configurable.
524
525 Wed Jun 28 11:54:44 CEST 2000  Werner Koch  <wk@>
526
527   * rsa.c, rsa.h: New based on the old module version (only in CVS for now).
528   * pubkey.c (setup_pubkey_table): Added commented support for RSA.
529
530 Fri Jun  9 10:09:52 CEST 2000  Werner Koch  <wk@openit.de>
531
532   * rndunix.c (waitpid): New. For UTS 2.1.  All by Dave Dykstra.
533   (my_popen): Do the FD_CLOEXEC only if it is available
534   (start_gatherer): Cope with missing _SC_OPEN_MAX
535
536 Sun May 28 13:55:17 CEST 2000  Werner Koch  <wk@openit.de>
537
538   * random.c (read_seed_file): Binary open for DOSish system
539   (update_random_seed_file): Ditto.
540
541   * rndw32.c: Add some debuging code enabled by an environment variable.
542
543 Tue May 23 09:19:00 CEST 2000  Werner Koch  <wk@openit.de>
544
545         * rndw32.c: Started with alternative code to replace entropy.dll
546
547 Thu May 18 11:38:54 CEST 2000  Werner Koch  <wk@openit.de>
548
549         * primegen.c (register_primegen_progress): New.
550         * dsa.c (register_pk_dsa_progress): New.
551         * elgamal.c (register_pk_elg_progress): New.
552
553 Fri Apr 14 19:37:08 CEST 2000  Werner Koch  <wk@openit.de>
554
555         * twofish.c (twofish_get_info): Fixed warning about cast.
556
557 Tue Mar 28 14:26:58 CEST 2000  Werner Koch  <wk@openit.de>
558
559         * random.c [MINGW32]: Include process.h for getpid.
560
561 Thu Mar  2 15:37:46 CET 2000  Werner Koch  <wk@gnupg.de>
562
563         * random.c (fast_random_poll): Add clock_gettime() as fallback for
564         system which support this POSIX.4 fucntion. By Sam Roberts.
565
566         * rndunix.c: Add some more headers for QNX. By Sam Roberts.
567
568         * random.c (read_seed_file): Removed the S_ISLNK test becuase it
569         is already covered by !S_ISREG and is not defined in Unixware.
570         Reported by Dave Dykstra.
571
572         * sha1.c (sha1_get_info): Removed those stupid double lines. Dave
573         is really a good lint.
574
575 Wed Feb 23 10:07:57 CET 2000  Werner Koch  <wk@gnupg.de>
576
577         * twofish.c (twofish_get_info): Add some const to the casts.  By Martin
578         Kahlert.
579
580 Mon Feb 14 14:30:20 CET 2000  Werner Koch  <wk@gnupg.de>
581
582         (update_random_seed_file): Silently ignore update request when pool
583         is not filled.
584
585 Fri Feb 11 17:44:40 CET 2000  Werner Koch  <wk@gnupg.de>
586
587         * random.c (read_seed_file): New.
588         (set_random_seed_file): New.
589         (read_pool): Try to read the seeding file.
590         (update_random_seed_file): New.
591
592         (read_pool): Do an initial extra seeding when level 2 quality random
593         is requested the first time.  This requestes at least POOLSIZE/2 bytes
594         of entropy.  Compined with the seeding file this should make normal
595         random bytes cheaper and increase the quality of the random bytes
596         used for key generation.
597
598         * rndegd.c (gather_random): Shortcut level 0.
599         * rndunix.c (gather_random): Ditto.
600         * rndw32.c (gather_random): Ditto.
601
602 Fri Jan 14 18:32:01 CET 2000  Werner Koch  <wk@gnupg.de>
603
604         * rmd160.c (rmd160_get_info): Moved casting to the left side due to a
605         problem with UTS4.3.  Suggested by Dave Dykstra.
606         * sha1.c (sha1_get_info): Ditto.
607         * tiger.c (tiger_get_info): Ditto.
608         * md5.c (md5_get_info): Ditto
609         * des.c (des_get_info): Ditto.
610         * blowfish.c (blowfish_get_info): Ditto.
611         * cast5.c (cast5_get_info): Ditto.
612         * twofish.c (twofish_get_info): Ditto.
613
614 Thu Jan 13 19:31:58 CET 2000  Werner Koch  <wk@gnupg.de>
615
616         * elgamal.c (wiener_map): New.
617         (gen_k): Use a much smaller k.
618         (generate): Calculate the qbits using the wiener map and
619         choose an x at a size comparable to the one choosen in gen_k
620
621         * random.c (read_pool): Print a more friendly error message in
622         cases when too much random is requested in one call.
623
624         * Makefile.am (tiger): Replaced -O1 by -O. Suggested by Alec Habig.
625
626 Sat Dec  4 12:30:28 CET 1999  Werner Koch  <wk@gnupg.de>
627
628         * primegen.c (generate_elg_prime): All primes are now generated with
629         the lowest random quality level.  Becuase they are public anyway we
630         don't need stronger random and by this we do not drain the systems
631         entropy so much.
632
633 Thu Oct 28 16:08:20 CEST 1999  Werner Koch  <wk@gnupg.de>
634
635         * random.c (fast_random_poll): Check whether RUSAGE_SELF is defined;
636         this is not the case for some ESIX and Unixware, although they have
637         getrusage().
638
639         * elgamal.c (sign): Hugh found strange code here. Replaced by BUG().
640
641 Mon Oct 11 09:24:12 CEST 1999  Werner Koch  <wk@gnupg.de>
642
643         * rndw32.c (gather_random): Handle PCP_SEEDER_TOO_SMALL.
644
645 Sat Oct  9 20:34:41 CEST 1999  Werner Koch  <wk@gnupg.de>
646
647         * Makefile.am:  Tweaked module build and removed libtool
648
649 Fri Oct  8 20:32:01 CEST 1999  Werner Koch  <wk@gnupg.de>
650
651         * rndw32.c (load_and_init_winseed): Use the Registry to locate the DLL
652
653 Mon Oct  4 21:23:04 CEST 1999  Werner Koch  <wk@gnupg.de>
654
655         * md.c (md_reset): Clear finalized; thanks to Ulf Moeller for
656         fixing this bug.
657
658 Sat Sep 18 12:51:51 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
659
660         * Makefile.am: Never compile mingw32 as module
661
662 Wed Sep 15 14:39:59 CEST 1999  Michael Roth <mroth@nessie.de>
663
664         * des.c: Various speed improvements: One bit pre rotation
665           trick after initial permutation (Richard Outerbridge).
666           Finished test of SSLeay Tripple-DES patterns.
667
668 Wed Sep 15 16:22:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
669
670         * rndw32.c: New.
671
672 Mon Sep 13 10:51:29 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
673
674         * bithelp.h: New.
675         * rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h
676
677 Tue Sep  7 16:23:36 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
678
679         * Makefile.am: Fixed seds for latest egcc. By Ollivier Robert.
680
681 Mon Sep  6 19:59:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
682
683         * des.c (selftest): Add some testpattern
684
685 Mon Aug 30 20:38:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
686
687         * cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using
688         in place encryption. Pointed out by Frank Stajano.
689
690 Mon Jul 26 09:34:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
691
692         * md5.c (md5_final): Fix for a SCO cpp bug.
693
694 Thu Jul 15 10:15:35 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
695
696         * elgamal.c (elg_check_secret_key,elg_encrypt
697         elg_decrypt,elg_sign,elg_verify): Sanity check on the args.
698         * dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto.
699
700         * pubkey.c (disable_pubkey_algo): New.
701         (check_pubkey_algo2): Look at disabled algo table.
702         * cipher.c (disable_cipher_algo): New.
703         (check_cipher_algo): Look at disabled algo table.
704
705 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
706
707         * Makefile.am: Support for libtool.
708
709 Fri Jul  2 11:45:54 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
710
711         * dsa.c (gen_k): Changed algorithm to consume less random bytes
712         * elgamal.c (gen_k): Ditto.
713
714         * random.c (random_dump_stats): New.
715
716 Thu Jul  1 12:47:31 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
717
718         * primegen.c, elgamal.c, dsa.c (progess): New and replaced all
719         fputc with a call to this function.
720
721 Sat Jun 26 12:15:59 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
722
723         * rndegd.c (do_write): s/ssize_t/int/ due to SunOS 4.1 probs.
724
725         * cipher.c (do_cbc_encrypt, do_cbc_decrypt): New.
726
727         * dynload.c (HAVE_DL_SHL_LOAD): Map hpux API to dlopen (Dave Dykstra).
728         * Makefile.am (install-exec-hook): Removed.
729
730 Sun May 23 14:20:22 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
731
732         * cipher.c (setup_cipher_table): Enable Twofish
733
734         * random.c (fast_random_poll): Disable use of times() for mingw32.
735
736 Mon May 17 21:54:43 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
737
738         * dynload.c (register_internal_cipher_extension): Minor init fix.
739
740 Tue May  4 15:47:53 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
741
742         * primegen.c (gen_prime): Readded the Fermat test. Fixed the bug
743         that we didn't correct for step when passing the prime to the
744         Rabin-Miller test which led to bad performance (Stefan Keller).
745         (check_prime): Add a first Fermat test.
746
747 Sun Apr 18 10:11:28 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
748
749         * cipher.c (cipher_setiv): Add ivlen arg, changed all callers.
750
751         * random.c (randomize_buffer): alway use secure memory because
752         we can't use m_is_secure() on a statically allocated buffer.
753
754         * twofish.c: Replaced some macros by a loop to reduce text size.
755         * Makefile.am (twofish): No more need for sed editing.
756
757 Fri Apr  9 12:26:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
758
759         * cipher.c (cipher_open): Reversed the changes for AUTO_CFB.
760
761         * blowfish.c: Dropped the Blowfish 160 mode.
762         * cipher.c (cipher_open): Ditto.
763         (setup_cipher_table): Ditto.  And removed support of twofish128
764
765 Wed Apr  7 20:51:39 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
766
767         * random.c (get_random_bits): Can now handle requests > POOLSIZE
768
769         * cipher.c (cipher_open): Now uses standard CFB for automode if
770         the blocksize is gt 8 (according to rfc2440).
771
772         * twofish.c: Applied Matthew Skala's patches for 256 bit key.
773
774 Tue Apr  6 19:58:12 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
775
776         * random.c (get_random_bits): Can now handle requests > POOLSIZE
777
778         * cipher.c (cipher_open): Now uses standard CFB for automode if
779         the blocksize is gt 8 (according to rfc2440).
780
781 Sat Mar 20 11:44:21 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
782
783         * rndlinux.c (tty_printf) [IS_MODULE]: Removed.
784
785         * rndegd.c (gather_random): Some fixes.
786
787 Wed Mar 17 13:09:03 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
788
789         * rndegd.c (do_read): New.
790         (gather_random): Changed the implementation.
791
792 Mon Mar  8 20:47:17 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
793
794         * dynload.c (DLSYM_NEEDS_UNDERSCORE): Renamed.
795
796 Fri Feb 26 17:55:41 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
797
798         * md.c: Nearly a total rewrote.
799
800 Wed Feb 24 11:07:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
801
802         * cipher.c (context): Fixed alignment
803         * md.c: Ditto.
804
805         * rndegd.c: New
806
807 Mon Feb 22 20:04:00 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
808
809         * rndegd.c: New.
810
811 Wed Feb 10 17:15:39 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
812
813         * Makefile.am: Modules are now figured out by configure
814         * construct.c: New. Generated by configure. Changed all modules
815         to work with that.
816         * sha1.h: Removed.
817         * md5.h: Removed.
818
819         * twofish.c: Changed interface to allow Twofish/256
820
821         * rndunix.c (start_gatherer): Die on SIGPIPE.
822
823 Wed Jan 20 18:59:49 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
824
825         * rndunix.c (gather_random): Fix to avoid infinite loop.
826
827 Sun Jan 17 11:04:33 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
828
829         * des.c (is_weak_key): Replace system memcmp due to bugs
830         in SunOS's memcmp.
831         (des_get_info): Return error on failed selftest.
832         * twofish.c (twofish_setkey): Return error on failed selftest or
833         invalid keylength.
834         * cast5.c (cast_setkey): Ditto.
835         * blowfish.c (bf_setkey): Return error on failed selftest.
836
837 Tue Jan 12 11:17:18 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
838
839         * random.c (random_is_faked): New.
840
841         * tiger.c: Only compile if we have the u64 type
842
843 Sat Jan  9 16:02:23 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
844
845         * rndunix.c (gather_random): check for setuid.
846
847         * Makefile.am: Add a way to staically link random modules
848
849 Thu Jan  7 18:00:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
850
851         * md.c (md_stop_debug): Do a flush first.
852         (md_open): size of buffer now depends on the secure parameter
853
854 Sun Jan  3 15:28:44 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
855
856         * rndunix.c (start_gatherer): Fixed stupid ==/= bug
857
858 1998-12-31  Geoff Keating  <geoffk@ozemail.com.au>
859
860         * des.c (is_weak_key): Rewrite loop end condition.
861
862 Tue Dec 29 14:41:47 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
863
864         * random.c: add unistd.h for getpid().
865         (RAND_MAX): Fallback value for Sun.
866
867 Wed Dec 23 17:12:24 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
868
869         * md.c (md_copy): Reset debug.
870
871 Mon Dec 14 21:18:49 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
872
873         * random.c (read_random_source): Changed the interface to the
874         random gathering function.
875         (gather_faked): Use new interface.
876         * dynload.c (dynload_getfnc_fast_random_poll): Ditto.
877         (dynload_getfnc_gather_random): Ditto.
878         * rndlinux.c (gather_random): Ditto.
879         * rndunix.c (gather_random): Ditto.
880
881 Sat Dec 12 18:40:32 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
882
883         * dynload.c (SYMBOL_VERSION): New to cope with system which needs
884         underscores.
885
886         * rndunix.c: Rewrote large parts
887
888 Thu Dec 10 20:15:36 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
889
890         * dynload.c (load_extension): increased needed verbosity level.
891
892         * random.c (fast_random_poll): Fallback to a default fast random
893         poll function.
894         (read_random_source): Always use the faked entroy gatherer if no
895         gather module is available.
896         * rndlinux.c (fast_poll): Removed.
897         * rndunix.c (fast_poll): Removed.
898
899
900 Wed Nov 25 12:33:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
901
902         * rand-*.c: Removed.
903         * rndlinux.c : New.
904         * rndunix.c : New.
905         * random.c : Restructured the interface to the gather modules.
906         (intialize): Call constructor functions
907         (read_radnom_source): Moved to here.
908         * dynload.c (dynload_getfnc_gather_random): New.
909         (dynload_getfnc_fast_random_poll): New.
910         (register_internal_cipher_extension): New.
911         (register_cipher_extension): Support of internal modules.
912
913 Sun Nov  8 17:44:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
914
915         * rand-unix.c (read_random_source): Removed the assert.
916
917 Mon Oct 19 18:34:30 1998  me,,,  (wk@tobold)
918
919         * pubkey.c: Hack to allow us to give some info about RSA keys back.
920
921 Thu Oct 15 11:47:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
922
923         * dynload.c: Support for DLD
924
925 Wed Oct 14 12:13:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
926
927         * rand-unix.c: Now uses names from configure for /dev/random.
928
929 1998-10-10  SL Baur  <steve@altair.xemacs.org>
930
931         * Makefile.am: fix sed -O substitutions to catch -O6, etc.
932
933 Tue Oct  6 10:06:32 1998  Werner Koch  (wk@isil.d.shuttle.de)
934
935         * rand-unix.c (HAVE_GETTIMEOFDAY): Fixed (was ..GETTIMEOFTIME :-)
936         * rand-dummy.c (HAVE_GETTIMEOFDAY): Ditto.
937
938 Mon Sep 28 13:23:09 1998  Werner Koch  (wk@isil.d.shuttle.de)
939
940         * md.c (md_digest): New.
941         (md_reset): New.
942
943 Wed Sep 23 12:27:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
944
945         * tiger.c (TIGER_CONTEXT): moved "buf", so that it is 64 bit aligned.
946
947 Mon Sep 21 06:22:53 1998  Werner Koch  (wk@(none))
948
949         * des.c: Some patches from Michael.
950
951 Thu Sep 17 19:00:06 1998  Werner Koch  (wk@(none))
952
953         * des.c : New file from Michael Roth <mroth@nessie.de>
954
955 Mon Sep 14 11:10:55 1998  Werner Koch  (wk@(none))
956
957         * blowfish.c (bf_setkey): Niklas Hernaeus patch to detect weak keys.
958
959 Mon Sep 14 09:19:25 1998  Werner Koch  (wk@(none))
960
961         * dynload.c (RTLD_NOW): Now defined to 1 if it is undefined.
962
963 Mon Sep  7 17:04:33 1998  Werner Koch  (wk@(none))
964
965         * Makefile.am: Fixes to allow a different build directory
966
967 Thu Aug  6 17:25:38 1998  Werner Koch,mobil,,,  (wk@tobold)
968
969         * random.c (get_random_byte): Removed and changed all callers
970         to use get_random_bits()
971
972 Mon Jul 27 10:30:22 1998  Werner Koch  (wk@(none))
973
974         * cipher.c : Support for other blocksizes
975         (cipher_get_blocksize): New.
976         * twofish.c: New.
977         * Makefile.am: Add twofish module.
978
979 Mon Jul 13 21:30:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
980
981         * random.c (read_pool): Simple alloc if secure_alloc is not set.
982         (get_random_bits): Ditto.
983
984 Thu Jul  9 13:01:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
985
986         * dynload.c (load_extension): Function now nbails out if
987         the program is run setuid.
988
989 Wed Jul  8 18:58:23 1998  Werner Koch  (wk@isil.d.shuttle.de)
990
991         * rmd160.c (rmd160_hash_buffer): New.
992
993 Thu Jul  2 10:50:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
994
995         * cipher.c (cipher_open): algos >=100 use standard CFB
996
997 Thu Jun 25 11:18:25 1998  Werner Koch  (wk@isil.d.shuttle.de)
998
999         * Makefile.am: Support for extensions
1000
1001 Thu Jun 18 12:09:38 1998  Werner Koch  (wk@isil.d.shuttle.de)
1002
1003         * random.c (mix_pool): simpler handling for level 0
1004
1005 Mon Jun 15 14:40:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
1006
1007         * tiger.c: Removed from dist, will reappear as dynload module
1008
1009 Sat Jun 13 14:16:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
1010
1011         * pubkey.c: Major changes to allow extensions. Changed the inteface
1012         of all public key ciphers and added the ability to load extensions
1013         on demand.
1014
1015         * misc.c: Removed.
1016
1017 Wed Jun 10 07:52:08 1998  Werner Koch,mobil,,,  (wk@tobold)
1018
1019         * dynload.c: New.
1020         * cipher.c: Major changes to allow extensions.
1021
1022 Mon Jun  8 22:43:00 1998  Werner Koch  (wk@isil.d.shuttle.de)
1023
1024         * cipher.c: Major internal chnages to support extensions.
1025         * blowfish.c (blowfish_get_info): New and made all internal
1026         functions static, changed heder.
1027         * cast5.c (cast5_get_info): Likewise.
1028
1029 Mon Jun  8 12:27:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
1030
1031         * tiger.c (transform): Fix for big endian
1032
1033         * cipher.c (do_cfb_decrypt): Big endian fix.
1034
1035 Fri May 22 07:30:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
1036
1037         * md.c (md_get_oid): Add a new one for TIGER.
1038
1039 Thu May 21 13:24:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
1040
1041         * cipher.c: Add support for a dummy cipher
1042
1043 Thu May 14 15:40:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
1044
1045         * rmd160.c (transform): fixed sigbus - I should better
1046         add Christian von Roques's new implemenation of rmd160_write.
1047
1048 Fri May  8 18:07:44 1998  Werner Koch  (wk@isil.d.shuttle.de)
1049
1050         * rand-internal.h, rand-unix.c, rand-w32.c, rand_dummy.c: New
1051         * random.c: Moved system specific functions to rand-****.c
1052
1053 Fri May  8 14:01:17 1998  Werner Koch  (wk@isil.d.shuttle.de)
1054
1055         * random.c (fast_random_poll): add call to gethrtime.
1056
1057 Tue May  5 21:28:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
1058
1059         * elgamal.c (elg_generate): choosing x was not correct, could
1060         yield 6 bytes which are not from the random pool, tsss, tsss..
1061
1062 Tue May  5 14:09:06 1998  Werner Koch  (wk@isil.d.shuttle.de)
1063
1064         * primegen.c (generate_elg_prime): Add arg mode, changed all
1065         callers and implemented mode 1.
1066
1067 Mon Apr 27 14:41:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
1068
1069         * cipher.c (cipher_get_keylen): New.
1070
1071 Sun Apr 26 14:44:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
1072
1073         * tiger.c, tiger.h: New.
1074
1075 Wed Apr  8 14:57:11 1998  Werner Koch  (wk@isil.d.shuttle.de)
1076
1077         * misc.c (check_pubkey_algo2): New.
1078
1079 Tue Apr  7 18:46:49 1998  Werner Koch  (wk@isil.d.shuttle.de)
1080
1081         * cipher.c: New
1082         * misc.c (check_cipher_algo): Moved to cipher.c
1083         * cast5.c: Moved many functions to cipher.c
1084         * blowfish.c: Likewise.
1085
1086 Sat Apr  4 19:52:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
1087
1088         * cast5.c: Implemented and tested.
1089
1090 Wed Apr  1 16:38:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
1091
1092         * elgamal.c (elg_generate): Faster generation of x in some cases.
1093
1094 Thu Mar 19 13:54:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
1095
1096         * blowfish.c (blowfish_decode_cfb): changed XOR operation
1097         (blowfish_encode_cfb): Ditto.
1098
1099 Thu Mar 12 14:04:05 1998  Werner Koch  (wk@isil.d.shuttle.de)
1100
1101         * sha1.c (transform): Rewrote
1102
1103         * blowfish.c (encrypt): Unrolled for rounds == 16
1104         (decrypt): Ditto.
1105
1106 Tue Mar 10 16:32:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
1107
1108         * rmd160.c (transform): Unrolled the loop.
1109
1110 Tue Mar 10 13:05:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
1111
1112         * random.c (read_pool): Add pool_balance stuff.
1113         (get_random_bits): New.
1114
1115         * elgamal.c (elg_generate): Now uses get_random_bits to generate x.
1116
1117
1118 Tue Mar 10 11:33:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
1119
1120         * md.c (md_digest_length): New.
1121
1122 Tue Mar 10 11:27:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
1123
1124         * dsa.c (dsa_verify): Works.
1125
1126 Mon Mar  9 12:59:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
1127
1128         * dsa.c, dsa.h: Removed some unused code.
1129
1130 Wed Mar  4 10:39:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
1131
1132         * md.c (md_open): Add call to fast_random_poll.
1133         blowfish.c (blowfish_setkey): Ditto.
1134
1135 Tue Mar  3 13:32:54 1998  Werner Koch  (wk@isil.d.shuttle.de)
1136
1137         * rmd160.c (rmd160_mixblock): New.
1138         * random.c: Restructured to start with a new RNG implementation.
1139         * random.h: New.
1140
1141 Mon Mar  2 19:21:46 1998  Werner Koch  (wk@isil.d.shuttle.de)
1142
1143         * gost.c, gost.h: Removed because they did only conatin trash.
1144
1145 Sun Mar  1 16:42:29 1998  Werner Koch  (wk@isil.d.shuttle.de)
1146
1147         * random.c (fill_buffer): removed error message if n == -1.
1148
1149 Fri Feb 27 16:39:34 1998  Werner Koch  (wk@isil.d.shuttle.de)
1150
1151         * md.c (md_enable): No init if called twice.
1152
1153 Thu Feb 26 07:57:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
1154
1155         * primegen.c (generate_elg_prime): Changed the progress printing.
1156         (gen_prime): Ditto.
1157
1158 Tue Feb 24 12:28:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
1159
1160         * md5.c, md.5 : Replaced by a modified version of md5.c from
1161         GNU textutils 1.22.
1162
1163 Wed Feb 18 14:08:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
1164
1165         * md.c, md.h : New debugging support
1166
1167 Mon Feb 16 10:08:47 1998  Werner Koch  (wk@isil.d.shuttle.de)
1168
1169         * misc.c (cipher_algo_to_string): New
1170         (pubkey_algo_to_string): New.
1171         (digest_algo_to_string): New.
1172
1173
1174
1175  Copyright 1998, 1999, 2000, 2001, 2002, 2003,
1176            2004 Free Software Foundation, Inc.
1177
1178  This file is free software; as a special exception the author gives
1179  unlimited permission to copy and/or distribute it, with or without
1180  modifications, as long as this notice is preserved.
1181
1182  This file is distributed in the hope that it will be useful, but
1183  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1184  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.