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