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