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