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