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