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