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