See ChangeLog: Wed Oct 4 13:16:18 CEST 2000 Werner Koch
[gnupg.git] / cipher / ChangeLog
1 Wed Oct  4 13:16:18 CEST 2000  Werner Koch  <wk@openit.de>
2
3         * sha1.c (transform): Use rol() macro.  Actually this is not needed
4         for a newer gcc but there are still aoter compilers.
5
6         * rsa.c (test_keys): Use new random function. 
7
8         * md.c (gcry_md_setkey): New function to overcome problems with
9         const conflics.  
10         (gcry_md_ctl): Pass set key to the new functions.
11
12         * rijndael.c: New.
13         * cipher.c: Add Rijndael support.
14
15 Mon Sep 18 16:35:45 CEST 2000  Werner Koch  <wk@openit.de>
16
17         * rndlinux.c (open_device): Loose random device checking.
18         By Nils Ellmenreich.
19
20         * random.c (fast_random_poll): Check ENOSYS for getrusage.
21         * rndunix.c:  Add 2 sources for QNX. By Sam Roberts.
22
23         * pubkey.c (gcry_pk_algo_info): Add GCRYCTL_GET_ALGO_USAGE.
24
25         * rsa.c: Changed the comment about the patent.
26         (secret): Speed up by using the CRT.  For a 2k keys this
27         is about 3 times faster.
28         (stronger_key_check): New but unused code to check the secret key.
29         * Makefile.am: Included rsa.[ch].
30         * pubkey.c: Enabled RSA support.
31         (pubkey_get_npkey): Removed RSA workaround.
32
33 Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
34
35   * pubkey.c: Replaced all gcry_sexp_{car,cdr}_{data,mpi} by the new
36   gcry_sexp_nth_{data,mpi} functions.
37
38 Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
39
40   * pubkey.c (exp_to_key,sexp_to_sig,sexp_to_enc,gcry_pk_encrypt,
41     gcry_pk_decrypt,gcry_pk_sign,gcry_pk_genkey): Changed to work with
42     the new S-Exp interface.
43
44 Mon Jul 17 16:35:47 CEST 2000  Werner Koch  <wk@>
45
46   * random.c (gather_faked): Replaced make_timestamp by time(2) again.
47
48 Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
49
50   * md.c (gcry_md_ctl): Support GCRYCTL_{START,STOP}_DUMP.
51
52   * Makefile.am: Never compile mingw32 as module.
53
54   * Makefile.am: Tweaked module build and removed libtool
55
56   * Makefile.am:  Replaced -O1 by -O. Suggested by Alec Habig.
57
58   * elgamal.c (sign): Removed inactive code.
59
60   * rsa.c, rsa.h: New based on the old module version (only in CVS for now).
61   * pubkey.c (setup_pubkey_table): Added commented support for RSA.
62
63   * rndunix.c (waitpid): New. For UTS 2.1.  All by Dave Dykstra.
64   (my_popen): Do the FD_CLOEXEC only if it is available
65   (start_gatherer): Cope with missing _SC_OPEN_MAX
66
67   * rndunix.c: Add some more headers for QNX. By Sam Roberts.
68
69   * rndegd.c (gather_random): Shortcut level 0.
70   * rndunix.c (gather_random): Ditto.
71   * rndw32.c (gather_random): Ditto.
72
73   * rndw32.c: Replaced with code from Cryptlib and commented the old stuff.
74   * rndw32.c: Add some debuging code enabled by an environment variable.
75
76   * random.c (read_seed_file): Binary open for DOSish system
77   (update_random_seed_file): Ditto.
78   * random.c [MINGW32]: Include process.h for getpid.
79   * random.c (fast_random_poll): Add clock_gettime() as fallback for
80   system which support this POSIX.4 fucntion. By Sam Roberts.
81
82   * random.c (read_seed_file): Removed the S_ISLNK test becuase it
83   is already covered by !S_ISREG and is not defined in Unixware.
84   Reported by Dave Dykstra.
85   (update_random_seed_file): Silently ignore update request when pool
86   is not filled.
87
88   * random.c (read_seed_file): New.
89   (set_random_seed_file): New.
90   (read_pool): Try to read the seeding file.
91   (update_random_seed_file): New.
92
93   (read_pool): Do an initial extra seeding when level 2 quality random
94   is requested the first time.  This requestes at least POOLSIZE/2 bytes
95   of entropy.  Compined with the seeding file this should make normal
96   random bytes cheaper and increase the quality of the random bytes
97   used for key generation.
98
99   * random.c (read_pool): Print a more friendly error message in
100   cases when too much random is requested in one call.
101
102   * random.c (fast_random_poll): Check whether RUSAGE_SELF is defined;
103   this is not the case for some ESIX and Unixware, although they have
104   getrusage().
105
106   * primegen.c (generate_elg_prime): All primes are now generated with
107   the lowest random quality level.  Because they are public anyway we
108   don't need stronger random and by this we do not drain the systems
109   entropy so much.
110
111   * primegen.c (register_primegen_progress): New.
112   * dsa.c (register_pk_dsa_progress): New.
113   * elgamal.c (register_pk_elg_progress): New.
114
115   * elgamal.c (wiener_map): New.
116   (gen_k): Use a much smaller k.
117   (generate): Calculate the qbits using the wiener map and
118   choose an x at a size comparable to the one choosen in gen_k
119
120   * rmd160.c (rmd160_get_info): Moved casting to the left side due to a
121   problem with UTS4.3.  Suggested by Dave Dykstra.
122   * sha1.c (sha1_get_info): Ditto.
123   * tiger.c (tiger_get_info): Ditto.
124   * md5.c (md5_get_info): Ditto
125   * des.c (des_get_info): Ditto.
126   * blowfish.c (blowfish_get_info): Ditto.
127   * cast5.c (cast5_get_info): Ditto.
128   * twofish.c (twofish_get_info): Ditto.
129
130 Fri Mar 24 11:25:45 CET 2000  Werner Koch  <wk@openit.de>
131
132         * md.c (md_open): Add hmac arg and allocate space for the pads.
133         (md_finalize): Add HMAC support.
134         (md_copy): Ditto.
135         (md_close): Ditto.
136         (gcry_md_reset): Ditto.
137         (gcry_md_ctl): Ditto.
138         (prepare_macpdas): New.
139
140 Mon Mar 13 19:22:46 CET 2000  Werner Koch  <wk@openit.de>
141
142         * md.c (gcry_md_hash_buffer): Add support for the other algorithms.
143
144 Mon Jan 31 16:37:34 CET 2000  Werner Koch  <wk@gnupg.de>
145
146         * genprime.c (generate_elg_prime): Fixed returned factors which never
147         worked for non-DSA keys.
148
149 Thu Jan 27 18:00:44 CET 2000  Werner Koch  <wk@gnupg.de>
150
151         * pubkey.c (sexp_to_key): Fixed mem leaks in case of errors.
152
153 Mon Jan 24 22:24:38 CET 2000  Werner Koch  <wk@gnupg.de>
154
155         * pubkey.c (gcry_pk_decrypt): Implemented.
156         (gcry_pk_encrypt): Implemented.
157         (gcry_pk_testkey): New.
158         (gcry_pk_genkey): New.
159         (pubkey_decrypt): Made static.
160         (pubkey_encrypt): Ditto.
161         (pubkey_check_secret_key): Ditto.
162         (pubkey_generate): Ditto.
163
164 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
165
166         * pubkey.c (pubkey_nbits): Removed and replaced by ...
167         (gcry_pk_get_nbits): this new one.
168
169 Wed Dec  8 21:58:32 CET 1999  Werner Koch  <wk@gnupg.de>
170
171         * dsa.c: s/mpi_powm/gcry_mpi_powm/g
172         * elgamal.c: Ditto.
173         * primegen.c: Ditto.
174
175         * : Replaced g10_opt_verbose by g10_log_verbosity().
176
177         * Makefile.am (INCLUDES): removed intl, add ../gcrypt
178
179 Fri Nov 19 17:15:20 CET 1999  Werner Koch  <wk@gnupg.de>
180
181         * dynload.c (cmp_filenames): New to replaced compare_filename() in
182         module.
183         (register_cipher_extension): Removed the tilde expansion stuff.
184         * rndeg.c (my_make_filename): New.
185
186         * : Replaced header util.h by g10lib.h
187
188         * random.c (gather_faked): Replaced make_timestamp by time(2).
189         Disabled wrning printed with tty_printf.
190         * rndlinux.c (gather_random): Always use fprintf instead of tty_xxx;
191         this should be replaced by a callback function.
192
193         * primegen.c (gen_prime): Use gcry_mpi_randomize.
194         (is_prime): Ditto.
195         * elgamal.c (test_keys): Ditto.
196         * dsa.c (test_keys): Ditto.
197
198         * cipher.c (gcry_cipher_close): Die on invalid handle.
199
200 Mon Nov 15 21:36:02 CET 1999  Werner Koch  <wk@gnupg.de>
201
202         * elgamal.c (gen_k): Use the new random API.
203         (generate): Ditto.
204         * dsa.c (gen_k): Ditto.
205         (generate): Ditto.
206
207 Sat Nov 13 17:44:23 CET 1999  Werner Koch  <wk@gnupg.de>
208
209         * pubkey.c (disable_pubkey_algo): Made static.
210         (gcry_pk_ctl): New.
211
212         * random.c (get_random_bits): Renamed to ...
213         (get_random_bytes): ... this and made static.
214         (gcry_random_bytes): New.
215         (gcry_random_bytes_secure): New.
216         (randomize_buffer): Renamed to ...
217         (gcry_randomize): ...this.
218
219         * md.c (gcry_md_hash_buffer): New.
220
221         * pubkey.c (gcry_pk_algo_info): 4 new commands.
222         (pubkey_get_npkey): Made static.
223         (pubkey_get_nskey): Made static.
224         (pubkey_get_nsig): Made static.
225         (pubkey_get_nenc): Made static.
226
227         * pubkey.c: Removed all G10ERR_xxx.
228         * cipher.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_CIPHER_ALGO.
229         * md.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_MD_ALGO.
230         * cast5.c (cast_setkey): Changed errocodes to GCRYERR_xxx.
231         * blowfish.c: Ditto.
232         * des.c: Ditto.
233         * twofish.c: Ditto.
234         * dsa.c: Ditto.
235         * elgamal.c: Ditto.
236
237         * g10c.c: Removed
238
239         * cipher.c (gcry_cipher_open): Replaced alloc functions and return NULL
240         if we are out of core.
241         * dynload.c: Replaced all memory allocation functions.
242         * md.c: Ditto.
243         * primegen.c: Ditto.
244         * pubkey.c: Ditto.
245         * random.c: Ditto.
246         * rndw32.c: Ditto.
247         * elgamal.c: Ditto.
248         * dsa.c: Ditto.
249
250 Tue Oct 26 14:10:21 CEST 1999  Werner Koch  <wk@gnupg.de>
251
252         * elgamal.c (sign): Hugh found strange code here. Replaced by BUG().
253
254         * cipher.c: Merged with gcrypt/symapi.c.
255
256         * pubkey.c (string_to_pubkey_algo): Renamed function to ...
257         (gcry_pk_map_name): ... this.
258         (pubkey_algo_to_string): Renamed function to ...
259         (gcry_pk_algo_name): ... this.
260         (gcry_pk_algo_info): New.
261         * pubkey.c: Merged with gcrypt/pkapi.c.
262
263         * md.c (md_reset): Clear finalized; thanks to Ulf Moeller for
264         fixing this bug.
265
266         * md.c: Merged with gcrypt/mdapi.c
267
268 Wed Sep 15 14:39:59 CEST 1999  Michael Roth <mroth@nessie.de>
269
270         * des.c: Various speed improvements: One bit pre rotation
271           trick after initial permutation (Richard Outerbridge).
272           Finished test of SSLeay Tripple-DES patterns.
273
274 Wed Sep 15 16:22:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
275
276         * rndw32.c: New.
277
278 Mon Sep 13 10:51:29 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
279
280         * bithelp.h: New.
281         * rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h
282
283 Tue Sep  7 16:23:36 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
284
285         * Makefile.am: Fixed seds for latest egcc. By Ollivier Robert.
286
287 Mon Sep  6 19:59:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
288
289         * des.c (selftest): Add some testpattern
290
291 Mon Aug 30 20:38:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
292
293         * cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using
294         in place encryption. Pointed out by Frank Stajano.
295
296 Mon Jul 26 09:34:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
297
298         * md5.c (md5_final): Fix for a SCO cpp bug.
299
300 Thu Jul 15 10:15:35 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
301
302         * elgamal.c (elg_check_secret_key,elg_encrypt
303         elg_decrypt,elg_sign,elg_verify): Sanity check on the args.
304         * dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto.
305
306         * pubkey.c (disable_pubkey_algo): New.
307         (check_pubkey_algo2): Look at disabled algo table.
308         * cipher.c (disable_cipher_algo): New.
309         (check_cipher_algo): Look at disabled algo table.
310
311 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
312
313         * Makefile.am: Support for libtool.
314
315 Fri Jul  2 11:45:54 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
316
317         * dsa.c (gen_k): Changed algorithm to consume less random bytes
318         * elgamal.c (gen_k): Ditto.
319
320         * random.c (random_dump_stats): New.
321
322 Thu Jul  1 12:47:31 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
323
324         * primegen.c, elgamal.c, dsa.c (progess): New and replaced all
325         fputc with a call to this function.
326
327 Sat Jun 26 12:15:59 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
328
329         * rndegd.c (do_write): s/ssize_t/int/ due to SunOS 4.1 probs.
330
331         * cipher.c (do_cbc_encrypt, do_cbc_decrypt): New.
332
333         * dynload.c (HAVE_DL_SHL_LOAD): Map hpux API to dlopen (Dave Dykstra).
334         * Makefile.am (install-exec-hook): Removed.
335
336 Sun May 23 14:20:22 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
337
338         * cipher.c (setup_cipher_table): Enable Twofish
339
340         * random.c (fast_random_poll): Disable use of times() for mingw32.
341
342 Mon May 17 21:54:43 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
343
344         * dynload.c (register_internal_cipher_extension): Minor init fix.
345
346 Tue May  4 15:47:53 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
347
348         * primegen.c (gen_prime): Readded the Fermat test. Fixed the bug
349         that we didn't correct for step when passing the prime to the
350         Rabin-Miller test which led to bad performance (Stefan Keller).
351         (check_prime): Add a first Fermat test.
352
353 Sun Apr 18 10:11:28 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
354
355         * cipher.c (cipher_setiv): Add ivlen arg, changed all callers.
356
357         * random.c (randomize_buffer): alway use secure memory because
358         we can't use m_is_secure() on a statically allocated buffer.
359
360         * twofish.c: Replaced some macros by a loop to reduce text size.
361         * Makefile.am (twofish): No more need for sed editing.
362
363 Fri Apr  9 12:26:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
364
365         * cipher.c (cipher_open): Reversed the changes for AUTO_CFB.
366
367         * blowfish.c: Dropped the Blowfish 160 mode.
368         * cipher.c (cipher_open): Ditto.
369         (setup_cipher_table): Ditto.  And removed support of twofish128
370
371 Wed Apr  7 20:51:39 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
372
373         * random.c (get_random_bits): Can now handle requests > POOLSIZE
374
375         * cipher.c (cipher_open): Now uses standard CFB for automode if
376         the blocksize is gt 8 (according to rfc2440).
377
378         * twofish.c: Applied Matthew Skala's patches for 256 bit key.
379
380 Tue Apr  6 19:58:12 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
381
382         * random.c (get_random_bits): Can now handle requests > POOLSIZE
383
384         * cipher.c (cipher_open): Now uses standard CFB for automode if
385         the blocksize is gt 8 (according to rfc2440).
386
387 Sat Mar 20 11:44:21 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
388
389         * rndlinux.c (tty_printf) [IS_MODULE]: Removed.
390
391         * rndegd.c (gather_random): Some fixes.
392
393 Wed Mar 17 13:09:03 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
394
395         * rndegd.c (do_read): New.
396         (gather_random): Changed the implementation.
397
398 Mon Mar  8 20:47:17 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
399
400         * dynload.c (DLSYM_NEEDS_UNDERSCORE): Renamed.
401
402 Fri Feb 26 17:55:41 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
403
404         * md.c: Nearly a total rewrote.
405
406 Wed Feb 24 11:07:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
407
408         * cipher.c (context): Fixed alignment
409         * md.c: Ditto.
410
411         * rndegd.c: New
412
413 Mon Feb 22 20:04:00 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
414
415         * rndegd.c: New.
416
417 Wed Feb 10 17:15:39 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
418
419         * Makefile.am: Modules are now figured out by configure
420         * construct.c: New. Generated by configure. Changed all modules
421         to work with that.
422         * sha1.h: Removed.
423         * md5.h: Removed.
424
425         * twofish.c: Changed interface to allow Twofish/256
426
427         * rndunix.c (start_gatherer): Die on SIGPIPE.
428
429 Wed Jan 20 18:59:49 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
430
431         * rndunix.c (gather_random): Fix to avoid infinite loop.
432
433 Sun Jan 17 11:04:33 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
434
435         * des.c (is_weak_key): Replace system memcmp due to bugs
436         in SunOS's memcmp.
437         (des_get_info): Return error on failed selftest.
438         * twofish.c (twofish_setkey): Return error on failed selftest or
439         invalid keylength.
440         * cast5.c (cast_setkey): Ditto.
441         * blowfish.c (bf_setkey): Return error on failed selftest.
442
443 Tue Jan 12 11:17:18 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
444
445         * random.c (random_is_faked): New.
446
447         * tiger.c: Only compile if we have the u64 type
448
449 Sat Jan  9 16:02:23 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
450
451         * rndunix.c (gather_random): check for setuid.
452
453         * Makefile.am: Add a way to staically link random modules
454
455 Thu Jan  7 18:00:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
456
457         * md.c (md_stop_debug): Do a flush first.
458         (md_open): size of buffer now depends on the secure parameter
459
460 Sun Jan  3 15:28:44 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
461
462         * rndunix.c (start_gatherer): Fixed stupid ==/= bug
463
464 1998-12-31  Geoff Keating  <geoffk@ozemail.com.au>
465
466         * des.c (is_weak_key): Rewrite loop end condition.
467
468 Tue Dec 29 14:41:47 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
469
470         * random.c: add unistd.h for getpid().
471         (RAND_MAX): Fallback value for Sun.
472
473 Wed Dec 23 17:12:24 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
474
475         * md.c (md_copy): Reset debug.
476
477 Mon Dec 14 21:18:49 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
478
479         * random.c (read_random_source): Changed the interface to the
480         random gathering function.
481         (gather_faked): Use new interface.
482         * dynload.c (dynload_getfnc_fast_random_poll): Ditto.
483         (dynload_getfnc_gather_random): Ditto.
484         * rndlinux.c (gather_random): Ditto.
485         * rndunix.c (gather_random): Ditto.
486
487 Sat Dec 12 18:40:32 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
488
489         * dynload.c (SYMBOL_VERSION): New to cope with system which needs
490         underscores.
491
492         * rndunix.c: Rewrote large parts
493
494 Thu Dec 10 20:15:36 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
495
496         * dynload.c (load_extension): increased needed verbosity level.
497
498         * random.c (fast_random_poll): Fallback to a default fast random
499         poll function.
500         (read_random_source): Always use the faked entroy gatherer if no
501         gather module is available.
502         * rndlinux.c (fast_poll): Removed.
503         * rndunix.c (fast_poll): Removed.
504
505
506 Wed Nov 25 12:33:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
507
508         * rand-*.c: Removed.
509         * rndlinux.c : New.
510         * rndunix.c : New.
511         * random.c : Restructured the interface to the gather modules.
512         (intialize): Call constructor functions
513         (read_radnom_source): Moved to here.
514         * dynload.c (dynload_getfnc_gather_random): New.
515         (dynload_getfnc_fast_random_poll): New.
516         (register_internal_cipher_extension): New.
517         (register_cipher_extension): Support of internal modules.
518
519 Sun Nov  8 17:44:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
520
521         * rand-unix.c (read_random_source): Removed the assert.
522
523 Mon Oct 19 18:34:30 1998  me,,,  (wk@tobold)
524
525         * pubkey.c: Hack to allow us to give some info about RSA keys back.
526
527 Thu Oct 15 11:47:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
528
529         * dynload.c: Support for DLD
530
531 Wed Oct 14 12:13:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
532
533         * rand-unix.c: Now uses names from configure for /dev/random.
534
535 1998-10-10  SL Baur  <steve@altair.xemacs.org>
536
537         * Makefile.am: fix sed -O substitutions to catch -O6, etc.
538
539 Tue Oct  6 10:06:32 1998  Werner Koch  (wk@isil.d.shuttle.de)
540
541         * rand-unix.c (HAVE_GETTIMEOFDAY): Fixed (was ..GETTIMEOFTIME :-)
542         * rand-dummy.c (HAVE_GETTIMEOFDAY): Ditto.
543
544 Mon Sep 28 13:23:09 1998  Werner Koch  (wk@isil.d.shuttle.de)
545
546         * md.c (md_digest): New.
547         (md_reset): New.
548
549 Wed Sep 23 12:27:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
550
551         * tiger.c (TIGER_CONTEXT): moved "buf", so that it is 64 bit aligned.
552
553 Mon Sep 21 06:22:53 1998  Werner Koch  (wk@(none))
554
555         * des.c: Some patches from Michael.
556
557 Thu Sep 17 19:00:06 1998  Werner Koch  (wk@(none))
558
559         * des.c : New file from Michael Roth <mroth@nessie.de>
560
561 Mon Sep 14 11:10:55 1998  Werner Koch  (wk@(none))
562
563         * blowfish.c (bf_setkey): Niklas Hernaeus patch to detect weak keys.
564
565 Mon Sep 14 09:19:25 1998  Werner Koch  (wk@(none))
566
567         * dynload.c (RTLD_NOW): Now defined to 1 if it is undefined.
568
569 Mon Sep  7 17:04:33 1998  Werner Koch  (wk@(none))
570
571         * Makefile.am: Fixes to allow a different build directory
572
573 Thu Aug  6 17:25:38 1998  Werner Koch,mobil,,,  (wk@tobold)
574
575         * random.c (get_random_byte): Removed and changed all callers
576         to use get_random_bits()
577
578 Mon Jul 27 10:30:22 1998  Werner Koch  (wk@(none))
579
580         * cipher.c : Support for other blocksizes
581         (cipher_get_blocksize): New.
582         * twofish.c: New.
583         * Makefile.am: Add twofish module.
584
585 Mon Jul 13 21:30:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
586
587         * random.c (read_pool): Simple alloc if secure_alloc is not set.
588         (get_random_bits): Ditto.
589
590 Thu Jul  9 13:01:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
591
592         * dynload.c (load_extension): Function now nbails out if
593         the program is run setuid.
594
595 Wed Jul  8 18:58:23 1998  Werner Koch  (wk@isil.d.shuttle.de)
596
597         * rmd160.c (rmd160_hash_buffer): New.
598
599 Thu Jul  2 10:50:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
600
601         * cipher.c (cipher_open): algos >=100 use standard CFB
602
603 Thu Jun 25 11:18:25 1998  Werner Koch  (wk@isil.d.shuttle.de)
604
605         * Makefile.am: Support for extensions
606
607 Thu Jun 18 12:09:38 1998  Werner Koch  (wk@isil.d.shuttle.de)
608
609         * random.c (mix_pool): simpler handling for level 0
610
611 Mon Jun 15 14:40:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
612
613         * tiger.c: Removed from dist, will reappear as dynload module
614
615 Sat Jun 13 14:16:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
616
617         * pubkey.c: Major changes to allow extensions. Changed the inteface
618         of all public key ciphers and added the ability to load extensions
619         on demand.
620
621         * misc.c: Removed.
622
623 Wed Jun 10 07:52:08 1998  Werner Koch,mobil,,,  (wk@tobold)
624
625         * dynload.c: New.
626         * cipher.c: Major changes to allow extensions.
627
628 Mon Jun  8 22:43:00 1998  Werner Koch  (wk@isil.d.shuttle.de)
629
630         * cipher.c: Major internal chnages to support extensions.
631         * blowfish.c (blowfish_get_info): New and made all internal
632         functions static, changed heder.
633         * cast5.c (cast5_get_info): Likewise.
634
635 Mon Jun  8 12:27:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
636
637         * tiger.c (transform): Fix for big endian
638
639         * cipher.c (do_cfb_decrypt): Big endian fix.
640
641 Fri May 22 07:30:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
642
643         * md.c (md_get_oid): Add a new one for TIGER.
644
645 Thu May 21 13:24:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
646
647         * cipher.c: Add support for a dummy cipher
648
649 Thu May 14 15:40:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
650
651         * rmd160.c (transform): fixed sigbus - I should better
652         add Christian von Roques's new implemenation of rmd160_write.
653
654 Fri May  8 18:07:44 1998  Werner Koch  (wk@isil.d.shuttle.de)
655
656         * rand-internal.h, rand-unix.c, rand-w32.c, rand_dummy.c: New
657         * random.c: Moved system specific functions to rand-****.c
658
659 Fri May  8 14:01:17 1998  Werner Koch  (wk@isil.d.shuttle.de)
660
661         * random.c (fast_random_poll): add call to gethrtime.
662
663 Tue May  5 21:28:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
664
665         * elgamal.c (elg_generate): choosing x was not correct, could
666         yield 6 bytes which are not from the random pool, tsss, tsss..
667
668 Tue May  5 14:09:06 1998  Werner Koch  (wk@isil.d.shuttle.de)
669
670         * primegen.c (generate_elg_prime): Add arg mode, changed all
671         callers and implemented mode 1.
672
673 Mon Apr 27 14:41:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
674
675         * cipher.c (cipher_get_keylen): New.
676
677 Sun Apr 26 14:44:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
678
679         * tiger.c, tiger.h: New.
680
681 Wed Apr  8 14:57:11 1998  Werner Koch  (wk@isil.d.shuttle.de)
682
683         * misc.c (check_pubkey_algo2): New.
684
685 Tue Apr  7 18:46:49 1998  Werner Koch  (wk@isil.d.shuttle.de)
686
687         * cipher.c: New
688         * misc.c (check_cipher_algo): Moved to cipher.c
689         * cast5.c: Moved many functions to cipher.c
690         * blowfish.c: Likewise.
691
692 Sat Apr  4 19:52:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
693
694         * cast5.c: Implemented and tested.
695
696 Wed Apr  1 16:38:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
697
698         * elgamal.c (elg_generate): Faster generation of x in some cases.
699
700 Thu Mar 19 13:54:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
701
702         * blowfish.c (blowfish_decode_cfb): changed XOR operation
703         (blowfish_encode_cfb): Ditto.
704
705 Thu Mar 12 14:04:05 1998  Werner Koch  (wk@isil.d.shuttle.de)
706
707         * sha1.c (transform): Rewrote
708
709         * blowfish.c (encrypt): Unrolled for rounds == 16
710         (decrypt): Ditto.
711
712 Tue Mar 10 16:32:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
713
714         * rmd160.c (transform): Unrolled the loop.
715
716 Tue Mar 10 13:05:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
717
718         * random.c (read_pool): Add pool_balance stuff.
719         (get_random_bits): New.
720
721         * elgamal.c (elg_generate): Now uses get_random_bits to generate x.
722
723
724 Tue Mar 10 11:33:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
725
726         * md.c (md_digest_length): New.
727
728 Tue Mar 10 11:27:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
729
730         * dsa.c (dsa_verify): Works.
731
732 Mon Mar  9 12:59:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
733
734         * dsa.c, dsa.h: Removed some unused code.
735
736 Wed Mar  4 10:39:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
737
738         * md.c (md_open): Add call to fast_random_poll.
739         blowfish.c (blowfish_setkey): Ditto.
740
741 Tue Mar  3 13:32:54 1998  Werner Koch  (wk@isil.d.shuttle.de)
742
743         * rmd160.c (rmd160_mixblock): New.
744         * random.c: Restructured to start with a new RNG implementation.
745         * random.h: New.
746
747 Mon Mar  2 19:21:46 1998  Werner Koch  (wk@isil.d.shuttle.de)
748
749         * gost.c, gost.h: Removed because they did only conatin trash.
750
751 Sun Mar  1 16:42:29 1998  Werner Koch  (wk@isil.d.shuttle.de)
752
753         * random.c (fill_buffer): removed error message if n == -1.
754
755 Fri Feb 27 16:39:34 1998  Werner Koch  (wk@isil.d.shuttle.de)
756
757         * md.c (md_enable): No init if called twice.
758
759 Thu Feb 26 07:57:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
760
761         * primegen.c (generate_elg_prime): Changed the progress printing.
762         (gen_prime): Ditto.
763
764 Tue Feb 24 12:28:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
765
766         * md5.c, md.5 : Replaced by a modified version of md5.c from
767         GNU textutils 1.22.
768
769 Wed Feb 18 14:08:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
770
771         * md.c, md.h : New debugging support
772
773 Mon Feb 16 10:08:47 1998  Werner Koch  (wk@isil.d.shuttle.de)
774
775         * misc.c (cipher_algo_to_string): New
776         (pubkey_algo_to_string): New.
777         (digest_algo_to_string): New.
778
779