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