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