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