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