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