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