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