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