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