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