aff513528ed4abd2dcb7f15131a1d9ced0959844
[gnupg.git] / cipher / ChangeLog
1 2010-09-28  Steven M. Schweda  <sms@antinode.info>  (wk)
2
3         Changes to help the VMS port. See
4         http://antinode.info/dec/sw/gnupg.html .
5
6         * random.c [__VMS]: Include rmsdef.h and vms.h.
7         (LOCK_SEED_FILE) [__VMS]: Set to 0.
8         (getfnc_gather_random) [USE_RNDVMS]: Call rndvms_gather_random.
9         (read_seed_file) [__VMS]: Allow reading by others.
10         (update_random_seed_file) [__VMS]: Use VMS specific open call.
11         * rand-internal.h (rndvms_gather_random): New.
12
13 2008-04-17  David Shaw  <dshaw@jabberwocky.com>
14
15         * camellia-glue.c (selftest, camellia_get_info), cipher.c
16         (setup_cipher_table): Add Camellia-192.
17
18 2008-03-22  Werner Koch  <wk@g10code.com>
19
20         * cipher.c (struct cipher_handle_s): Make sure IV is u32
21         aligned.  Change all users of IV.
22         (do_cfb_encrypt): Optimize and use bulk code for AES.
23         (do_cfb_decrypt): Ditto.
24         * rijndael.c (do_encrypt): Remove.
25         (do_encrypt_aligned, do_encrypt): New.  Taken from libgcrypt.
26         (rijndael_cfb_enc, rijndael_cfb_dec): New.
27
28 2007-12-12  Werner Koch  <wk@g10code.com>
29
30         * pubkey.c (pubkey_encrypt, pubkey_decrypt): Allow type 20 keys.
31         (pubkey_algo_to_string): Ditto.
32
33 2007-12-11  Werner Koch  <wk@g10code.com>
34
35         * pubkey.c (check_pubkey_algo2): Hack to allow decryption using an
36         type 20 Elgamal key.
37
38 2007-11-29  David Shaw  <dshaw@jabberwocky.com>
39
40         * camellia-glue.c (camellia_get_info), cipher.c
41         (setup_cipher_table): Add 128-bit variant of Camellia.
42
43 2007-11-28  David Shaw  <dshaw@jabberwocky.com>
44
45         * sha256.c (sha224_get_info): 4880 has an error in the SHA-224 OID
46         and we inherited it.  Fixing.
47
48 2007-10-23  Werner Koch  <wk@g10code.com>
49
50         Switched entire package to GPLv3+.
51
52 2007-07-09  Werner Koch  <wk@g10code.com>
53
54         * camellia.c, camellia.h: Fixed the FSF's postal address.
55
56 2007-06-13  David Shaw  <dshaw@jabberwocky.com>
57
58         * Makefile.am, algorithms.h, cipher.c (setup_cipher_table): Add
59         Camellia.
60
61         * camellia-glue.c: New.  These are glue functions to interface
62         GnuPG to the stock NTT Camellia distribution.
63
64         * camellia.h, camellia.c: New.  Version 1.2.0 of the Camellia code
65         (GPL) unchanged from
66         http://info.isl.ntt.co.jp/crypt/eng/camellia/index.html
67
68 2006-12-11  Werner Koch  <wk@g10code.com>
69
70         * elgamal.c (test_keys): Use new mpi_nlimb_hint_from_nbits
71         function.  This also rounds up the value.
72         (generate): Use new mpi_nlimb_hint_from_nbits function.
73         * rsa.c (test_keys): Ditto.
74         (generate): Ditto.
75         (rsa_verify): Ditto.
76         * primegen.c (generate_elg_prime): Ditto.
77         (gen_prime): Ditto.
78         * dsa.c (test_keys): Ditto.  This also rounds up the value.
79
80         * Makefile.am (AM_CPPFLAGS): Use instead of INCLUDES.  define
81         GNUPG_LIBDIR.
82
83 2006-11-03  Werner Koch  <wk@g10code.com>
84
85         * random.c [HAVE_GETTIMEOFDAY]: Included sys/time.h and not
86         sys/times.h.  Reported by Rafaël Carré.
87
88 2006-06-28  David Shaw  <dshaw@jabberwocky.com>
89
90         * rsa.c (generate): Use e=65537 for new RSA keys.
91
92 2006-04-20  David Shaw  <dshaw@jabberwocky.com>
93
94         * dsa.c (dsa2_generate): New function to generate a DSA key with a
95         variable sized q.
96         (generate): Tweak to allow keys larger than 1024 bits.  Enforce
97         that the q size doesn't end between byte boundaries.
98
99 2006-04-19  David Shaw  <dshaw@jabberwocky.com>
100
101         * sha256.c (sha224_get_info, sha224_init): New init functions for
102         the 224-bit variant of SHA-256.
103         * algorithms.h, md.c (load_digest_module): Call them here.
104
105 2006-03-20  David Shaw  <dshaw@jabberwocky.com>
106
107         * blowfish.c, md5.c, rmd160.c, sha1.c, sha256.c, sha512.c: Revert
108         previous change.  It's now all done in configure.
109
110 2006-03-19  David Shaw  <dshaw@jabberwocky.com>
111
112         * blowfish.c, md5.c, rmd160.c, sha1.c, sha256.c, sha512.c: Use
113         '#if' rather than '#ifdef' BIG_ENDIAN_HOST.  Harmless as we
114         explicitly define BIG_ENDIAN_HOST to 1 when we need it, but needed
115         for OSX fat builds when we define BIG_ENDIAN_HOST to another
116         macro.
117
118 2006-02-14  Werner Koch  <wk@gnupg.org>
119
120         * random.c (lock_seed_file): Build even when not used.
121
122 2006-02-09  Werner Koch  <wk@g10code.com>
123
124         * random.c (lock_seed_file): New.
125         (read_seed_file, update_random_seed_file): Use it.
126         (random_disable_locking): New.
127
128 2005-12-06  David Shaw  <dshaw@jabberwocky.com>
129
130         * idea-stub.c (load_module): Not legal to return a void * as a
131         function pointer.
132
133         * Makefile.am, rndegd.c, rndlinux.c, rndunix.c, rndw32.c: Some
134         cleanup so we don't build files that are completely ifdeffed out.
135         This causes a warning on Sun's cc.  Do sha512.c as well for
136         consistency.
137
138 2005-08-11  Werner Koch  <wk@g10code.com>
139
140         * rijndael.c (rijndael_cfb_encrypt): Experimental code to improve
141         AES performance.  Got about 25% on ia32.
142         * cipher.c (do_cfb_encrypt): Ditto.
143
144 2005-06-07  David Shaw  <dshaw@jabberwocky.com>
145
146         * random.c: Fix prototype of the fast random gatherer.  Noted by
147         Joe Vender.
148
149 2005-03-23  Werner Koch  <wk@g10code.com>
150
151         * rndw32.c (rndw32_gather_random_fast): While adding data use the
152         size of the object and not the one of its address.  Bug reported by 
153         Sascha Kiefer.
154
155 2005-03-07  Werner Koch  <wk@g10code.com>
156
157         * primegen.c (is_prime): Free A2.  Noted by pmike2001@mail.ru.
158         Fixes #423.
159
160 2004-11-30  David Shaw  <dshaw@jabberwocky.com>
161
162         * md.c (string_to_digest_algo): Allow read/write SHA384 and
163         SHA512.
164
165 2004-11-03  Timo Schulz  <twoaday@g10code.com>
166
167         * idea-stub.c (dlopen, dlsym): Use w32_strerror instead of
168         just showing the error number.
169         
170 2004-10-14  Werner Koch  <wk@g10code.com>
171
172         * rndunix.c (start_gatherer) [ENABLE_SELINUX_HACKS]: Don't allow
173         logging.
174
175 2004-10-12  David Shaw  <dshaw@jabberwocky.com>
176
177         * algorithms.h, cast5.c, cipher.c, idea-stub.c, twofish.c,
178         blowfish.c, des.c, rijndael.c: Consistently use const for input
179         buffers.
180
181 2004-09-23  Werner Koch  <wk@g10code.com>
182
183         * rsa.c (rsa_generate): Return the dummy list of factors only if
184         the caller asked for it.
185
186 2004-05-20  David Shaw  <dshaw@jabberwocky.com>
187
188         * dsa.c (verify): s/exp/exponent/ to fix a compiler warning.  From
189         Werner on stable branch.
190
191 2004-01-16  David Shaw  <dshaw@jabberwocky.com>
192
193         * cipher.c (setup_cipher_table): May as well call Rijndael AES at
194         this point.
195
196         * pubkey.c (setup_pubkey_table), elgamal.c (sign, verify,
197         test_keys, elg_sign, elg_verify, elg_get_info): Remove the last
198         bits of Elgamal type 20 support.
199
200 2003-12-29  David Shaw  <dshaw@jabberwocky.com>
201
202         * idea-stub.c (load_module, idea_get_info): Return the proper type
203         for idea_get_info from inside load_module.  From Stefan Bellon.
204
205         * rijndael.c, rndunix.c, twofish.c: Remove dead IS_MODULE code.
206
207         * g10c.c: Dead code.  Remove.
208
209         * Makefile.am: Don't compile g10c.c.
210
211 2003-12-28  Stefan Bellon  <sbellon@sbellon.de>
212
213         * rndriscos.c (rndriscos_gather_random) [__riscos__]: Declare
214         variable outside loop.
215
216         * blowfish.c, twofish.c [__riscos__]: Removal of unnecessary
217         #ifdef __riscos__ sections.
218
219 2003-12-17  David Shaw  <dshaw@jabberwocky.com>
220
221         * dsa.h, dsa.c (dsa_verify), elgamal.h, elgamal.c (elg_verify),
222         rsa.h, rsa.c (rsa_verify), pubkey.c (dummy_verify, pubkey_verify):
223         Remove old unused code.
224
225 2003-12-03  David Shaw  <dshaw@jabberwocky.com>
226
227         * pubkey.c (setup_pubkey_table): Don't allow signatures to and
228         from encrypt-only Elgamal keys.
229         (pubkey_get_npkey, pubkey_get_nskey, pubkey_get_nsig,
230         pubkey_get_nenc, pubkey_nbits): Wrap the RSA cheats in !USE_RSA.
231         Add cheats for sign+encrypt Elgamal.
232
233 2003-11-30  David Shaw  <dshaw@jabberwocky.com>
234
235         * pubkey.c (setup_pubkey_table): Only include RSA if USE_RSA is
236         defined.
237         (pubkey_get_npkey): Return 2 for RSA even if it isn't available so
238         we can at least handle RSA keys.
239
240 2003-11-27  Werner Koch  <wk@gnupg.org>
241
242         * pubkey.c (pubkey_sign): Return an error if an ElGamal key is
243         used.
244
245         * elgamal.c (gen_k): New arg SMALL_K.
246         (sign): Use it here with SMALL_K set to false
247         (do_encrypt): and here with SMALL_K set to true.
248
249 2003-10-10  Werner Koch  <wk@gnupg.org>
250
251         * primegen.c (gen_prime): Bail out if we try to generate a prime
252         with less than 16 bits. Include i18n.h.
253
254 2003-10-06  Werner Koch  <wk@gnupg.org>
255
256         * primegen.c (gen_prime): Bail out if NBITS is zero.  This is
257         Debian bug #213989 reported by Max <rusmir@tula.net>.
258
259 2003-09-04  David Shaw  <dshaw@jabberwocky.com>
260
261         * md.c (string_to_digest_algo): Enable read-write SHA-256 support.
262
263         * algorithms.h, Makefile.am, md.c (load_digest_module,
264         string_to_digest_algo), tiger.c: Drop TIGER/192 support.
265
266 2003-08-28  David Shaw  <dshaw@jabberwocky.com>
267
268         * idea-stub.c, random.c; s/__MINGW32__/_WIN32/ to help building on
269         native Windows compilers.  Requested by Brian Gladman.  From
270         Werner on stable branch.
271
272 2003-08-21  David Shaw  <dshaw@jabberwocky.com>
273
274         * random.c (getfnc_gather_random): Don't check NAME_OF_DEV_RANDOM
275         twice.  Use NAME_OF_DEV_URANDOM.
276
277 2003-05-24  David Shaw  <dshaw@jabberwocky.com>
278
279         * bithelp.h, des.c, random.c, rndlinux.c, sha1.c, blowfish.c,
280         elgamal.c, rijndael.c, rndunix.c, sha256.c, cast5.c, idea-stub.c,
281         rmd160.c, rndw32.c, sha512.c, md5.c, rmd160test.c, rsa.c, tiger.c:
282         Edit all preprocessor instructions to remove whitespace before the
283         '#'.  This is not required by C89, but there are some compilers
284         out there that don't like it.
285
286 2003-05-15  David Shaw  <dshaw@jabberwocky.com>
287
288         * cipher.c (setup_cipher_table): #ifdef IDEA.
289
290         * random.c (fast_random_poll): Only use times() if we HAVE_TIMES.
291
292         * sha512.c, tiger.c: Use the U64_C() macro to specify 64-bit
293         constants.  U64_C is defined in include/types.h and uses the
294         correct suffix depending on the underlying type of u64.
295
296         * idea-stub.c (load_module): Catch an error if the idea module
297         file is unloadable for some reason (unreadable, bad permissions,
298         etc.)
299
300         * md.c (string_to_digest_algo): Give a warning about TIGER192 not
301         being part of OpenPGP.
302
303 2003-04-15  Werner Koch  <wk@gnupg.org>
304
305         * md.c (md_start_debug): Need to open the file in binary mode.
306
307 2003-02-21  David Shaw  <dshaw@jabberwocky.com>
308
309         * cipher.c (setup_cipher_table): #ifdef all optional ciphers.
310
311         * md.c (load_digest_module): #ifdef all optional digests.
312
313 2003-02-11  David Shaw  <dshaw@jabberwocky.com>
314
315         * Makefile.am, md.c (load_digest_module): Only build in SHA384/512
316         and TIGER if specifically enabled by the 64-bit type check in
317         configure.
318
319 2003-02-04  David Shaw  <dshaw@jabberwocky.com>
320
321         * sha256.c, sha512.c: New.
322
323         * Makefile.am, algorithms.h, md.c (load_digest_module,
324         string_to_digest_algo): Add read-only support for the new SHAs.
325
326 2002-11-06  David Shaw  <dshaw@jabberwocky.com>
327
328         * rndw32.c [__CYGWIN32__]: Don't include winioctl.h - it is not
329         required anymore. (From Werner)
330
331         * random.c (read_seed_file,update_random_seed_file): Use binary
332         mode for __CYGWIN__. (From Werner)
333
334         * blowfish.c (burn_stack), cast5.c (burn_stack), des.c
335         (burn_stack), md5.c (burn_stack), random.c (burn_stack, read_pool,
336         fast_random_poll), rijndael.c (burn_stack), rmd160.c (burn_stack),
337         rndegd.c (rndegd_gather_random), rndlinux.c
338         (rndlinux_gather_random), sha1.c (burn_stack), tiger.c
339         (burn_stack), twofish.c (burn_stack): Replace various calls to
340         memset() with the more secure wipememory().
341
342 2002-11-02  David Shaw  <dshaw@jabberwocky.com>
343
344         * cipher.c (string_to_cipher_algo), md.c (string_to_digest_algo):
345         Allow the Sxxx and Hxxx format for cipher and digest names.
346
347 2002-10-31  Stefan Bellon  <sbellon@sbellon.de>
348
349         * rndriscos.c (rndriscos_gather_random): Use riscos_load_module()
350         to load CryptRandom module.
351
352 2002-10-12  Werner Koch  <wk@gnupg.org>
353
354         * rndunix.c (my_popen): Make sure that stdin and stderr are
355         connected to a file.  This is to avoid NetBSD to complain about
356         set{u,g}id programs invoked with fd 0, 2 closed.  Reported by
357         Cristian Biere.
358         (start_gatherer): Likewise. Reordered code.
359
360 2002-10-02  David Shaw  <dshaw@jabberwocky.com>
361
362         * tiger.c (tiger_get_info): Select the OID to use for TIGER at
363         compile time.
364
365 2002-09-27  David Shaw  <dshaw@jabberwocky.com>
366
367         * Makefile.am, md.c (load_digest_module): TIGER is now always
368         enabled.
369
370 2002-09-26  Werner Koch  <wk@gnupg.org>
371
372         * tiger.c (tiger_get_info): Use a regular OID.  Note that this
373         breaks all TIGER generated signatures; if we want to do something
374         about it we have to do it in ../g10/sig-check.c .
375
376 2002-09-17  Werner Koch  <wk@gnupg.org>
377
378         * rndw32.c (SIZEOF_DISK_PERFORMANCE_STRUCT): Increased to 256.
379
380 2002-09-12  Stefan Bellon  <sbellon@sbellon.de>
381
382         * rand-internal.h (rndriscos_gather_random): Added prototype.
383
384 2002-08-30  Werner Koch  <wk@gnupg.org>
385
386         * random.c: Automagically detect the entropy gatherer when
387         this feature is configured.
388         * rndegd.c (rndegd_connect_socket): New.  Factored out from ..
389         (rndegd_gather_random): here and call it.
390         (do_read): Update the counter variables correctly.  This was not a
391         problem due to the way EGD works. Bug found by Christian Biere.
392
393 2002-08-20  Werner Koch  <wk@gnupg.org>
394
395         * primegen.c (generate_elg_prime): Return all factors for mode 1.
396         Bug reported by Bob Mathews.
397
398 2002-08-12  Werner Koch  <wk@gnupg.org>
399
400         * cipher.c: Include the DUMMY cipher only when the new ALLOW_DUMMY
401         is defined. It should only be defined for hard core debugging.
402
403 2002-08-08  David Shaw  <dshaw@jabberwocky.com>
404
405         * Makefile.am, md.c (load_digest_module): Allow switching TIGER on
406         and off via configure.
407
408 2002-08-07  David Shaw  <dshaw@jabberwocky.com>
409
410         * md.c (md_algo_present): New function to check if a given algo is
411         in use for a given MD_HANDLE.
412
413 2002-08-04  Werner Koch  <wk@gnupg.org>
414
415         * blowfish.h, cast5.h, des.h: Removed after moving all prototypes to
416         * algorithms.h: here. Changed all sources to use this one.
417         
418 2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
419
420         * idea-stub.c (idea_get_info): RISC OS' Norcroft C needs a cast.
421         * random.c (getfnc_gather_random): Added RISC OS support.
422         * rndriscos.c: Removed dynload code and tidied up a bit.
423
424 2002-08-03  Werner Koch  <wk@gnupg.org>
425
426         * rndegd.c (do_read): Handle case when read returns 0 to avoid
427         gpg hanging when EGD died.  By Christian Biere.
428
429 2002-08-02  Werner Koch  <wk@gnupg.org>
430
431         The big extension removal.
432         
433         * Makefile.am: Removed all extension stuff.
434         * dynload.c: Removed everything except for
435         register_cipher_extension.
436         (dynload_enum_module_names): New.
437         * dynload.h: Removed.
438         * random.c (getfnc_gather_random,getfnc_fast_random_poll):
439         New. Replaced all dynload functions with these ones.
440         * rndunix.c (rndunix_gather_random): Renamed from
441         gather_random.  Made global.  Removed all dynload stuff.
442         * rndlinux.c (rndlinux_gather_random): Likewise.
443         * rndegd.c (rndegd_gather_random): Likewise.
444         * rndw32.c (rndw32_gather_random)
445         (rndw32_gather_random_fast): Likewise.  Also removed the unsued
446         entropy dll code.
447         * md.c (new_list_item): Changed return value to indicate whether
448         an algorithms was loaded.
449         (load_digest_module): Simplified by removing all the dynload code.
450         * algorithms.h: New.
451         * md5.c (md5_get_info): Made global.  Removed all dynload stuff.
452         * rmd160.c (rmd160_get_info): Likewise. 
453         * sha1.c (sha1_get_info): Likewise.
454         * tiger.c (tiger_get_info): Likewise. Return NULL if we can't use
455         this module.
456         * idea-stub.c: New.
457         * blowfish.h (idea_get_info): Add prototype.
458         * cipher.c (setup_cipher_table): Try to load IDEA.
459         (load_cipher_modules): Removed all dynload code.
460         * pubkey.c (load_pubkey_modules): Removed the dynloading code.
461
462 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
463
464         * random.c: "warning" -> "WARNING"
465
466 2002-07-02  Werner Koch  <wk@gnupg.org>
467
468         * rndw32.c (slow_gatherer_windowsNT): Use a simple array for the
469         disk performance structure and increase it to the size required by
470         W2000.
471
472 2002-06-29  Werner Koch  <wk@gnupg.org>
473
474         * rndlinux.c: Removed HAVE_LINUX_RANDOM_H conditional because it
475         was never used and the configure test did set the wrong macro
476         anyway.
477
478 2002-05-07  Stefan Bellon  <sbellon@sbellon.de>
479
480         * md.c (md_start_debug): Use EXTSEP_S instead of ".".
481
482 2002-04-24  Werner Koch  <wk@gnupg.org>
483
484         * tiger.c (tiger_final): Removed superfluous token pasting operators.
485         * md5.c (md5_final): Ditto.
486
487 2002-04-22  Stefan Bellon  <sbellon@sbellon.de>
488
489         * rndriscos.c (func_table): Made func a function pointer.
490         (init_device): Improved loading of CryptRandom module.
491
492 2002-04-18  Werner Koch  <wk@gnupg.org>
493
494         * rndlinux.c, rndegd.c, rndunix.c (func_table): Made func a
495         function pointer.  Note that we still need to change the module
496         interface to cope with data vs function pointer problems.  Hmmm,
497         even dlsym has a problem with this.
498
499 2002-04-10  David Shaw  <dshaw@jabberwocky.com>
500
501         * cipher.c (setup_cipher_table, cipher_open, cipher_encrypt,
502         cipher_decrypt, dummy_setkey, dummy_encrypt_block,
503         dummy_decrypt_block): the dummy cipher should only be built on
504         development versions.
505
506 2002-04-06  Werner Koch  <wk@gnupg.org>
507
508         * rijndael.c (rijndael_get_info): We do only support a 128 bit
509         blocksize so it makes sense to change the algorithm strings to
510         AES.
511         * cipher.c (string_to_cipher_algo): Map "RIJNDAEL" to "AES".
512
513 2002-02-14  Werner Koch  <wk@gnupg.org>
514
515         * random.c (mix_pool): Removed the failsafe stuff again.  It makes
516         the code more complicate and may give the path to more bugs.
517
518 2002-02-10  Werner Koch  <wk@gnupg.org>
519
520         * random.c (mix_pool): Carry an extra failsafe_digest buffer
521         around to make the function more robust.
522
523 2002-02-08  Werner Koch  <wk@gnupg.org>
524
525         * random.c (add_randomness): Xor new data into the pool and not
526         just copy it.  This avoids any choosen input attacks which are not
527         serious in our setting because an outsider won't be able to mix
528         data in and even then we keep going with a PRNG.  Thanks to Stefan
529         Keller for pointing this out.
530
531 2002-01-02  Stefan Bellon  <sbellon@sbellon.de>
532
533         * rndriscos.c [__riscos__]: Updated include file name.
534
535 2001-12-21  Werner Koch  <wk@gnupg.org>
536
537         * Makefile.am (DISCLEANFILES): Add construct.c
538
539 2001-12-19  Werner Koch  <wk@gnupg.org>
540
541         * rndw32.c [CYGWIN32]: Include winioctl.h.  By Disastry.
542
543 2001-11-08  Werner Koch  <wk@gnupg.org>
544
545         * primegen.c (gen_prime): Set 2 high order bits for secret primes.
546         * rsa.c (generate): Loop until we find the exact modulus size.
547         Changed the exponent to 41.
548
549 2001-10-22  Werner Koch  <wk@gnupg.org>
550
551         * Makefile.am: Need to use $(EXEEXT) where approriate.
552
553 2001-09-09  Werner Koch  <wk@gnupg.org>
554
555         * rsa.c (rsa_get_info): s/usage/r_usage/ to avoid shadow warnings.
556
557 2001-08-24  Werner Koch  <wk@gnupg.org>
558
559         * md.c (md_write): Made buf arg const.
560
561 2001-08-22  Werner Koch  <wk@gnupg.org>
562
563         * random.c (fast_random_poll): Don't use gethrtime if it is broken.
564
565 2001-08-20  Werner Koch  <wk@gnupg.org>
566
567         Applied patches from Stefan Bellon <sbellon@sbellon.de> to support
568         RISC OS.  Nearly all of these patches are identified by the
569         __riscos__ macro.
570         * blowfish.c, twofish.c: Added pragmas for use with a Norcraft
571         compiler. 
572         * dynload.c, md5.c, rmd160.c, sha1.c: Minor patches for RISC OS.
573         * rndriscos.c: New.
574         * rnd-internal.h: Added prototype.
575         * random.c (fast_random_poll): Use '#if defined' instead of just
576         'defined'; needed for RISC OS.
577         * primegen.c (gen_prime): count? are now ints for consistence
578         with is_prime().
579
580 2001-08-08  Werner Koch  <wk@gnupg.org>
581
582         * rndw32.c (gather_random): Use toolhelp in addition to the NT
583         gatherer for Windows2000.  Suggested by Sami Tolvanen.
584
585         * random.c (read_pool): Fixed length check, this used to be one
586         byte to strict.  Made an assert out of it because the caller has
587         already made sure that only poolsize bytes are requested.
588         Reported by Marcus Brinkmann.
589
590 2001-07-18  Werner Koch  <wk@gnupg.org>
591
592         * rndlinux.c (gather_random): casted a size_t arg to int so that
593         the format string is correct.  Casting is okay here and avoids
594         translation changes. 
595
596 2001-06-12  Werner Koch  <wk@gnupg.org>
597
598         * cipher.c (string_to_cipher_algo): Use ascii_strcasecmp().
599         * md.c (string_to_digest_algo): Ditto.
600         * pubkey.c (string_to_pubkey_algo): Ditto.
601         * rndw32.c (slow_gatherer_windowsNT): Ditto.  Not really needed
602         here but anyway.
603
604 2001-04-29  Werner Koch  <wk@gnupg.org>
605
606         * random.c (fast_random_poll): Do not check the return code of
607         getrusage.
608
609 2001-04-17  Werner Koch  <wk@gnupg.org>
610
611         * rndunix.c: Add a signal.h header to avoid warnings on Solaris 7
612         and 8.
613
614 2001-04-16  Werner Koch  <wk@gnupg.org>
615
616         * dynload.c [__MINGW32__]: Applied patch from Timo Schulz to make
617         it work under W32.  This patches is based on the one from
618         Disastry@saiknes.lv
619
620 2001-04-06  Werner Koch  <wk@gnupg.org>
621
622         * rijndael.c, des.c, blowfish.c, twofish.c, cast5.c (burn_stack):
623         New.  Add wrappers for most functions to be able to call
624         burn_stack after the function invocation. This methods seems to be
625         the most portable way to zeroise the stack used. It does only work
626         on stack frame based machines but it is highly portable and has no
627         side effects.  Just setting the automatic variables at the end of
628         a function to zero does not work well because the compiler will
629         optimize them away - marking them as volatile would be bad for
630         performance.
631         * md5.c, sha1.c, rmd160.c, tiger.c (burn_stack): Likewise.
632         * random.c (burn_stack): New.
633         (mix_pool): Use it here to burn the stack of the mixblock function.
634         
635 2001-04-02  Werner Koch  <wk@gnupg.org>
636
637         * primegen.c (generate_elg_prime): I was not initialized for mode
638         != 1.  Freed q at 3 places.  Thanks to  Tommi Komulainen.
639
640 2001-03-28  Werner Koch  <wk@gnupg.org>
641
642         * md5.c (md5_final): Fixed calculation of hashed length.  Thanks
643         to disastry@saiknes.lv for pointing out that it was horrible wrong
644         for more than 512MB of input.
645         * sha1.c (sha1_final): Ditto.
646         * rmd160.c (rmd160_final): Ditto.
647         * tiger.c (tiger_final): Ditto.
648
649 2001-03-19  Werner Koch  <wk@gnupg.org>
650
651         * blowfish.c (encrypt,do_encrypt): Changed name to do_encrypt to
652         avoid name clahses with an encrypt function in stdlib.h of
653         Dynix/PIX.  Thanks to Gene Carter.
654         * elgamal.c (encrypt,do_encrypt): Ditto.
655
656 2001-03-12  Werner Koch  <wk@gnupg.org>
657
658         * twofish.c (gnupgext_enum_func): Add some static when comnpiled
659         as a module.
660
661         * tiger.c (tiger_get_info): Return "TIGER192" and not just
662         "TIGER".  By Edwin Woudt.
663
664 2001-03-08  Werner Koch  <wk@gnupg.org>
665
666         * random.c: Always include time.h - standard requirement.  Thanks
667         to James Troup.
668
669 2001-01-18  Werner Koch  <wk@gnupg.org>
670
671         * rndw32.c: Fixed typo and wrong ifdef for VER_PLATFORM* macro
672
673 2001-01-12  Werner Koch  <wk@gnupg.org>
674
675         * cipher.c (cipher_encrypt,cipher_encrypt): Use blocksize and
676         not 8 for CBC mode (However: we don't use CBS in OpenPGP).
677
678 2000-11-22  Werner Koch  <wk@gnupg.org>
679
680         * rndegd.c (gather_random): Fixed default socket to be '=entropy'.
681         Thanks to Tomasz Kozlowski.
682
683 2000-10-12  Werner Koch  <wk@gnupg.org>
684
685         * rijndael.c: New.
686         * cipher.c: Add Rijndael support.
687
688 Wed Oct  4 15:50:18 CEST 2000  Werner Koch  <wk@openit.de>
689
690         * sha1.c (transform): Use rol() macro.  Actually this is not needed
691         for a newer gcc but there are still aoter compilers.
692
693 Thu Sep 14 14:20:38 CEST 2000  Werner Koch  <wk@openit.de>
694
695         * random.c (fast_random_poll): Check ENOSYS for getrusage.
696         * rndunix.c:  Add 2 sources for QNX. By Sam Roberts.
697
698 Wed Sep 13 18:12:34 CEST 2000  Werner Koch  <wk@openit.de>
699
700         * rsa.c (secret): Speed up by using the CRT.  For a 2k keys this
701         is about 3 times faster.
702         (stronger_key_check): New but unused code to check the secret key.
703
704 Wed Sep  6 17:55:47 CEST 2000  Werner Koch  <wk@openit.de>
705
706         * rsa.c: Changed the comment about the patent.
707         * Makefile.am: Included rsa.[ch].
708         * pubkey.c: Enabled RSA support.
709         (pubkey_get_npkey): Removed RSA workaround.
710
711 Fri Aug 25 16:05:38 CEST 2000  Werner Koch  <wk@openit.de>
712
713         * rndlinux.c (open_device): Loose random device checking.
714         By Nils Ellmenreich.
715
716         * rndegd.c (gather_random): Name of socket is nom configurable.
717
718 Wed Jun 28 11:54:44 CEST 2000  Werner Koch  <wk@>
719
720   * rsa.c, rsa.h: New based on the old module version (only in CVS for now).
721   * pubkey.c (setup_pubkey_table): Added commented support for RSA.
722
723 Fri Jun  9 10:09:52 CEST 2000  Werner Koch  <wk@openit.de>
724
725   * rndunix.c (waitpid): New. For UTS 2.1.  All by Dave Dykstra.
726   (my_popen): Do the FD_CLOEXEC only if it is available
727   (start_gatherer): Cope with missing _SC_OPEN_MAX
728
729 Sun May 28 13:55:17 CEST 2000  Werner Koch  <wk@openit.de>
730
731   * random.c (read_seed_file): Binary open for DOSish system
732   (update_random_seed_file): Ditto.
733
734   * rndw32.c: Add some debuging code enabled by an environment variable.
735
736 Tue May 23 09:19:00 CEST 2000  Werner Koch  <wk@openit.de>
737
738         * rndw32.c: Started with alternative code to replace entropy.dll
739
740 Thu May 18 11:38:54 CEST 2000  Werner Koch  <wk@openit.de>
741
742         * primegen.c (register_primegen_progress): New.
743         * dsa.c (register_pk_dsa_progress): New.
744         * elgamal.c (register_pk_elg_progress): New.
745
746 Fri Apr 14 19:37:08 CEST 2000  Werner Koch  <wk@openit.de>
747
748         * twofish.c (twofish_get_info): Fixed warning about cast.
749
750 Tue Mar 28 14:26:58 CEST 2000  Werner Koch  <wk@openit.de>
751
752         * random.c [MINGW32]: Include process.h for getpid.
753
754 Thu Mar  2 15:37:46 CET 2000  Werner Koch  <wk@gnupg.de>
755
756         * random.c (fast_random_poll): Add clock_gettime() as fallback for
757         system which support this POSIX.4 fucntion. By Sam Roberts.
758
759         * rndunix.c: Add some more headers for QNX. By Sam Roberts.
760
761         * random.c (read_seed_file): Removed the S_ISLNK test becuase it
762         is already covered by !S_ISREG and is not defined in Unixware.
763         Reported by Dave Dykstra.
764
765         * sha1.c (sha1_get_info): Removed those stupid double lines. Dave
766         is really a good lint.
767
768 Wed Feb 23 10:07:57 CET 2000  Werner Koch  <wk@gnupg.de>
769
770         * twofish.c (twofish_get_info): Add some const to the casts.  By Martin
771         Kahlert.
772
773 Mon Feb 14 14:30:20 CET 2000  Werner Koch  <wk@gnupg.de>
774
775         (update_random_seed_file): Silently ignore update request when pool
776         is not filled.
777
778 Fri Feb 11 17:44:40 CET 2000  Werner Koch  <wk@gnupg.de>
779
780         * random.c (read_seed_file): New.
781         (set_random_seed_file): New.
782         (read_pool): Try to read the seeding file.
783         (update_random_seed_file): New.
784
785         (read_pool): Do an initial extra seeding when level 2 quality random
786         is requested the first time.  This requestes at least POOLSIZE/2 bytes
787         of entropy.  Compined with the seeding file this should make normal
788         random bytes cheaper and increase the quality of the random bytes
789         used for key generation.
790
791         * rndegd.c (gather_random): Shortcut level 0.
792         * rndunix.c (gather_random): Ditto.
793         * rndw32.c (gather_random): Ditto.
794
795 Fri Jan 14 18:32:01 CET 2000  Werner Koch  <wk@gnupg.de>
796
797         * rmd160.c (rmd160_get_info): Moved casting to the left side due to a
798         problem with UTS4.3.  Suggested by Dave Dykstra.
799         * sha1.c (sha1_get_info): Ditto.
800         * tiger.c (tiger_get_info): Ditto.
801         * md5.c (md5_get_info): Ditto
802         * des.c (des_get_info): Ditto.
803         * blowfish.c (blowfish_get_info): Ditto.
804         * cast5.c (cast5_get_info): Ditto.
805         * twofish.c (twofish_get_info): Ditto.
806
807 Thu Jan 13 19:31:58 CET 2000  Werner Koch  <wk@gnupg.de>
808
809         * elgamal.c (wiener_map): New.
810         (gen_k): Use a much smaller k.
811         (generate): Calculate the qbits using the wiener map and
812         choose an x at a size comparable to the one choosen in gen_k
813
814         * random.c (read_pool): Print a more friendly error message in
815         cases when too much random is requested in one call.
816
817         * Makefile.am (tiger): Replaced -O1 by -O. Suggested by Alec Habig.
818
819 Sat Dec  4 12:30:28 CET 1999  Werner Koch  <wk@gnupg.de>
820
821         * primegen.c (generate_elg_prime): All primes are now generated with
822         the lowest random quality level.  Becuase they are public anyway we
823         don't need stronger random and by this we do not drain the systems
824         entropy so much.
825
826 Thu Oct 28 16:08:20 CEST 1999  Werner Koch  <wk@gnupg.de>
827
828         * random.c (fast_random_poll): Check whether RUSAGE_SELF is defined;
829         this is not the case for some ESIX and Unixware, although they have
830         getrusage().
831
832         * elgamal.c (sign): Hugh found strange code here. Replaced by BUG().
833
834 Mon Oct 11 09:24:12 CEST 1999  Werner Koch  <wk@gnupg.de>
835
836         * rndw32.c (gather_random): Handle PCP_SEEDER_TOO_SMALL.
837
838 Sat Oct  9 20:34:41 CEST 1999  Werner Koch  <wk@gnupg.de>
839
840         * Makefile.am:  Tweaked module build and removed libtool
841
842 Fri Oct  8 20:32:01 CEST 1999  Werner Koch  <wk@gnupg.de>
843
844         * rndw32.c (load_and_init_winseed): Use the Registry to locate the DLL
845
846 Mon Oct  4 21:23:04 CEST 1999  Werner Koch  <wk@gnupg.de>
847
848         * md.c (md_reset): Clear finalized; thanks to Ulf Moeller for
849         fixing this bug.
850
851 Sat Sep 18 12:51:51 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
852
853         * Makefile.am: Never compile mingw32 as module
854
855 Wed Sep 15 14:39:59 CEST 1999  Michael Roth <mroth@nessie.de>
856
857         * des.c: Various speed improvements: One bit pre rotation
858           trick after initial permutation (Richard Outerbridge).
859           Finished test of SSLeay Tripple-DES patterns.
860
861 Wed Sep 15 16:22:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
862
863         * rndw32.c: New.
864
865 Mon Sep 13 10:51:29 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
866
867         * bithelp.h: New.
868         * rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h
869
870 Tue Sep  7 16:23:36 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
871
872         * Makefile.am: Fixed seds for latest egcc. By Ollivier Robert.
873
874 Mon Sep  6 19:59:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
875
876         * des.c (selftest): Add some testpattern
877
878 Mon Aug 30 20:38:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
879
880         * cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using
881         in place encryption. Pointed out by Frank Stajano.
882
883 Mon Jul 26 09:34:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
884
885         * md5.c (md5_final): Fix for a SCO cpp bug.
886
887 Thu Jul 15 10:15:35 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
888
889         * elgamal.c (elg_check_secret_key,elg_encrypt
890         elg_decrypt,elg_sign,elg_verify): Sanity check on the args.
891         * dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto.
892
893         * pubkey.c (disable_pubkey_algo): New.
894         (check_pubkey_algo2): Look at disabled algo table.
895         * cipher.c (disable_cipher_algo): New.
896         (check_cipher_algo): Look at disabled algo table.
897
898 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
899
900         * Makefile.am: Support for libtool.
901
902 Fri Jul  2 11:45:54 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
903
904         * dsa.c (gen_k): Changed algorithm to consume less random bytes
905         * elgamal.c (gen_k): Ditto.
906
907         * random.c (random_dump_stats): New.
908
909 Thu Jul  1 12:47:31 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
910
911         * primegen.c, elgamal.c, dsa.c (progess): New and replaced all
912         fputc with a call to this function.
913
914 Sat Jun 26 12:15:59 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
915
916         * rndegd.c (do_write): s/ssize_t/int/ due to SunOS 4.1 probs.
917
918         * cipher.c (do_cbc_encrypt, do_cbc_decrypt): New.
919
920         * dynload.c (HAVE_DL_SHL_LOAD): Map hpux API to dlopen (Dave Dykstra).
921         * Makefile.am (install-exec-hook): Removed.
922
923 Sun May 23 14:20:22 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
924
925         * cipher.c (setup_cipher_table): Enable Twofish
926
927         * random.c (fast_random_poll): Disable use of times() for mingw32.
928
929 Mon May 17 21:54:43 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
930
931         * dynload.c (register_internal_cipher_extension): Minor init fix.
932
933 Tue May  4 15:47:53 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
934
935         * primegen.c (gen_prime): Readded the Fermat test. Fixed the bug
936         that we didn't correct for step when passing the prime to the
937         Rabin-Miller test which led to bad performance (Stefan Keller).
938         (check_prime): Add a first Fermat test.
939
940 Sun Apr 18 10:11:28 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
941
942         * cipher.c (cipher_setiv): Add ivlen arg, changed all callers.
943
944         * random.c (randomize_buffer): alway use secure memory because
945         we can't use m_is_secure() on a statically allocated buffer.
946
947         * twofish.c: Replaced some macros by a loop to reduce text size.
948         * Makefile.am (twofish): No more need for sed editing.
949
950 Fri Apr  9 12:26:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
951
952         * cipher.c (cipher_open): Reversed the changes for AUTO_CFB.
953
954         * blowfish.c: Dropped the Blowfish 160 mode.
955         * cipher.c (cipher_open): Ditto.
956         (setup_cipher_table): Ditto.  And removed support of twofish128
957
958 Wed Apr  7 20:51:39 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
959
960         * random.c (get_random_bits): Can now handle requests > POOLSIZE
961
962         * cipher.c (cipher_open): Now uses standard CFB for automode if
963         the blocksize is gt 8 (according to rfc2440).
964
965         * twofish.c: Applied Matthew Skala's patches for 256 bit key.
966
967 Tue Apr  6 19:58:12 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
968
969         * random.c (get_random_bits): Can now handle requests > POOLSIZE
970
971         * cipher.c (cipher_open): Now uses standard CFB for automode if
972         the blocksize is gt 8 (according to rfc2440).
973
974 Sat Mar 20 11:44:21 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
975
976         * rndlinux.c (tty_printf) [IS_MODULE]: Removed.
977
978         * rndegd.c (gather_random): Some fixes.
979
980 Wed Mar 17 13:09:03 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
981
982         * rndegd.c (do_read): New.
983         (gather_random): Changed the implementation.
984
985 Mon Mar  8 20:47:17 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
986
987         * dynload.c (DLSYM_NEEDS_UNDERSCORE): Renamed.
988
989 Fri Feb 26 17:55:41 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
990
991         * md.c: Nearly a total rewrote.
992
993 Wed Feb 24 11:07:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
994
995         * cipher.c (context): Fixed alignment
996         * md.c: Ditto.
997
998         * rndegd.c: New
999
1000 Mon Feb 22 20:04:00 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1001
1002         * rndegd.c: New.
1003
1004 Wed Feb 10 17:15:39 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1005
1006         * Makefile.am: Modules are now figured out by configure
1007         * construct.c: New. Generated by configure. Changed all modules
1008         to work with that.
1009         * sha1.h: Removed.
1010         * md5.h: Removed.
1011
1012         * twofish.c: Changed interface to allow Twofish/256
1013
1014         * rndunix.c (start_gatherer): Die on SIGPIPE.
1015
1016 Wed Jan 20 18:59:49 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1017
1018         * rndunix.c (gather_random): Fix to avoid infinite loop.
1019
1020 Sun Jan 17 11:04:33 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1021
1022         * des.c (is_weak_key): Replace system memcmp due to bugs
1023         in SunOS's memcmp.
1024         (des_get_info): Return error on failed selftest.
1025         * twofish.c (twofish_setkey): Return error on failed selftest or
1026         invalid keylength.
1027         * cast5.c (cast_setkey): Ditto.
1028         * blowfish.c (bf_setkey): Return error on failed selftest.
1029
1030 Tue Jan 12 11:17:18 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1031
1032         * random.c (random_is_faked): New.
1033
1034         * tiger.c: Only compile if we have the u64 type
1035
1036 Sat Jan  9 16:02:23 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1037
1038         * rndunix.c (gather_random): check for setuid.
1039
1040         * Makefile.am: Add a way to staically link random modules
1041
1042 Thu Jan  7 18:00:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1043
1044         * md.c (md_stop_debug): Do a flush first.
1045         (md_open): size of buffer now depends on the secure parameter
1046
1047 Sun Jan  3 15:28:44 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1048
1049         * rndunix.c (start_gatherer): Fixed stupid ==/= bug
1050
1051 1998-12-31  Geoff Keating  <geoffk@ozemail.com.au>
1052
1053         * des.c (is_weak_key): Rewrite loop end condition.
1054
1055 Tue Dec 29 14:41:47 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1056
1057         * random.c: add unistd.h for getpid().
1058         (RAND_MAX): Fallback value for Sun.
1059
1060 Wed Dec 23 17:12:24 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1061
1062         * md.c (md_copy): Reset debug.
1063
1064 Mon Dec 14 21:18:49 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1065
1066         * random.c (read_random_source): Changed the interface to the
1067         random gathering function.
1068         (gather_faked): Use new interface.
1069         * dynload.c (dynload_getfnc_fast_random_poll): Ditto.
1070         (dynload_getfnc_gather_random): Ditto.
1071         * rndlinux.c (gather_random): Ditto.
1072         * rndunix.c (gather_random): Ditto.
1073
1074 Sat Dec 12 18:40:32 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1075
1076         * dynload.c (SYMBOL_VERSION): New to cope with system which needs
1077         underscores.
1078
1079         * rndunix.c: Rewrote large parts
1080
1081 Thu Dec 10 20:15:36 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1082
1083         * dynload.c (load_extension): increased needed verbosity level.
1084
1085         * random.c (fast_random_poll): Fallback to a default fast random
1086         poll function.
1087         (read_random_source): Always use the faked entroy gatherer if no
1088         gather module is available.
1089         * rndlinux.c (fast_poll): Removed.
1090         * rndunix.c (fast_poll): Removed.
1091
1092
1093 Wed Nov 25 12:33:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
1094
1095         * rand-*.c: Removed.
1096         * rndlinux.c : New.
1097         * rndunix.c : New.
1098         * random.c : Restructured the interface to the gather modules.
1099         (intialize): Call constructor functions
1100         (read_radnom_source): Moved to here.
1101         * dynload.c (dynload_getfnc_gather_random): New.
1102         (dynload_getfnc_fast_random_poll): New.
1103         (register_internal_cipher_extension): New.
1104         (register_cipher_extension): Support of internal modules.
1105
1106 Sun Nov  8 17:44:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
1107
1108         * rand-unix.c (read_random_source): Removed the assert.
1109
1110 Mon Oct 19 18:34:30 1998  me,,,  (wk@tobold)
1111
1112         * pubkey.c: Hack to allow us to give some info about RSA keys back.
1113
1114 Thu Oct 15 11:47:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
1115
1116         * dynload.c: Support for DLD
1117
1118 Wed Oct 14 12:13:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
1119
1120         * rand-unix.c: Now uses names from configure for /dev/random.
1121
1122 1998-10-10  SL Baur  <steve@altair.xemacs.org>
1123
1124         * Makefile.am: fix sed -O substitutions to catch -O6, etc.
1125
1126 Tue Oct  6 10:06:32 1998  Werner Koch  (wk@isil.d.shuttle.de)
1127
1128         * rand-unix.c (HAVE_GETTIMEOFDAY): Fixed (was ..GETTIMEOFTIME :-)
1129         * rand-dummy.c (HAVE_GETTIMEOFDAY): Ditto.
1130
1131 Mon Sep 28 13:23:09 1998  Werner Koch  (wk@isil.d.shuttle.de)
1132
1133         * md.c (md_digest): New.
1134         (md_reset): New.
1135
1136 Wed Sep 23 12:27:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
1137
1138         * tiger.c (TIGER_CONTEXT): moved "buf", so that it is 64 bit aligned.
1139
1140 Mon Sep 21 06:22:53 1998  Werner Koch  (wk@(none))
1141
1142         * des.c: Some patches from Michael.
1143
1144 Thu Sep 17 19:00:06 1998  Werner Koch  (wk@(none))
1145
1146         * des.c : New file from Michael Roth <mroth@nessie.de>
1147
1148 Mon Sep 14 11:10:55 1998  Werner Koch  (wk@(none))
1149
1150         * blowfish.c (bf_setkey): Niklas Hernaeus patch to detect weak keys.
1151
1152 Mon Sep 14 09:19:25 1998  Werner Koch  (wk@(none))
1153
1154         * dynload.c (RTLD_NOW): Now defined to 1 if it is undefined.
1155
1156 Mon Sep  7 17:04:33 1998  Werner Koch  (wk@(none))
1157
1158         * Makefile.am: Fixes to allow a different build directory
1159
1160 Thu Aug  6 17:25:38 1998  Werner Koch,mobil,,,  (wk@tobold)
1161
1162         * random.c (get_random_byte): Removed and changed all callers
1163         to use get_random_bits()
1164
1165 Mon Jul 27 10:30:22 1998  Werner Koch  (wk@(none))
1166
1167         * cipher.c : Support for other blocksizes
1168         (cipher_get_blocksize): New.
1169         * twofish.c: New.
1170         * Makefile.am: Add twofish module.
1171
1172 Mon Jul 13 21:30:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
1173
1174         * random.c (read_pool): Simple alloc if secure_alloc is not set.
1175         (get_random_bits): Ditto.
1176
1177 Thu Jul  9 13:01:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
1178
1179         * dynload.c (load_extension): Function now nbails out if
1180         the program is run setuid.
1181
1182 Wed Jul  8 18:58:23 1998  Werner Koch  (wk@isil.d.shuttle.de)
1183
1184         * rmd160.c (rmd160_hash_buffer): New.
1185
1186 Thu Jul  2 10:50:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
1187
1188         * cipher.c (cipher_open): algos >=100 use standard CFB
1189
1190 Thu Jun 25 11:18:25 1998  Werner Koch  (wk@isil.d.shuttle.de)
1191
1192         * Makefile.am: Support for extensions
1193
1194 Thu Jun 18 12:09:38 1998  Werner Koch  (wk@isil.d.shuttle.de)
1195
1196         * random.c (mix_pool): simpler handling for level 0
1197
1198 Mon Jun 15 14:40:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
1199
1200         * tiger.c: Removed from dist, will reappear as dynload module
1201
1202 Sat Jun 13 14:16:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
1203
1204         * pubkey.c: Major changes to allow extensions. Changed the inteface
1205         of all public key ciphers and added the ability to load extensions
1206         on demand.
1207
1208         * misc.c: Removed.
1209
1210 Wed Jun 10 07:52:08 1998  Werner Koch,mobil,,,  (wk@tobold)
1211
1212         * dynload.c: New.
1213         * cipher.c: Major changes to allow extensions.
1214
1215 Mon Jun  8 22:43:00 1998  Werner Koch  (wk@isil.d.shuttle.de)
1216
1217         * cipher.c: Major internal chnages to support extensions.
1218         * blowfish.c (blowfish_get_info): New and made all internal
1219         functions static, changed heder.
1220         * cast5.c (cast5_get_info): Likewise.
1221
1222 Mon Jun  8 12:27:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
1223
1224         * tiger.c (transform): Fix for big endian
1225
1226         * cipher.c (do_cfb_decrypt): Big endian fix.
1227
1228 Fri May 22 07:30:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
1229
1230         * md.c (md_get_oid): Add a new one for TIGER.
1231
1232 Thu May 21 13:24:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
1233
1234         * cipher.c: Add support for a dummy cipher
1235
1236 Thu May 14 15:40:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
1237
1238         * rmd160.c (transform): fixed sigbus - I should better
1239         add Christian von Roques's new implemenation of rmd160_write.
1240
1241 Fri May  8 18:07:44 1998  Werner Koch  (wk@isil.d.shuttle.de)
1242
1243         * rand-internal.h, rand-unix.c, rand-w32.c, rand_dummy.c: New
1244         * random.c: Moved system specific functions to rand-****.c
1245
1246 Fri May  8 14:01:17 1998  Werner Koch  (wk@isil.d.shuttle.de)
1247
1248         * random.c (fast_random_poll): add call to gethrtime.
1249
1250 Tue May  5 21:28:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
1251
1252         * elgamal.c (elg_generate): choosing x was not correct, could
1253         yield 6 bytes which are not from the random pool, tsss, tsss..
1254
1255 Tue May  5 14:09:06 1998  Werner Koch  (wk@isil.d.shuttle.de)
1256
1257         * primegen.c (generate_elg_prime): Add arg mode, changed all
1258         callers and implemented mode 1.
1259
1260 Mon Apr 27 14:41:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
1261
1262         * cipher.c (cipher_get_keylen): New.
1263
1264 Sun Apr 26 14:44:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
1265
1266         * tiger.c, tiger.h: New.
1267
1268 Wed Apr  8 14:57:11 1998  Werner Koch  (wk@isil.d.shuttle.de)
1269
1270         * misc.c (check_pubkey_algo2): New.
1271
1272 Tue Apr  7 18:46:49 1998  Werner Koch  (wk@isil.d.shuttle.de)
1273
1274         * cipher.c: New
1275         * misc.c (check_cipher_algo): Moved to cipher.c
1276         * cast5.c: Moved many functions to cipher.c
1277         * blowfish.c: Likewise.
1278
1279 Sat Apr  4 19:52:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
1280
1281         * cast5.c: Implemented and tested.
1282
1283 Wed Apr  1 16:38:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
1284
1285         * elgamal.c (elg_generate): Faster generation of x in some cases.
1286
1287 Thu Mar 19 13:54:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
1288
1289         * blowfish.c (blowfish_decode_cfb): changed XOR operation
1290         (blowfish_encode_cfb): Ditto.
1291
1292 Thu Mar 12 14:04:05 1998  Werner Koch  (wk@isil.d.shuttle.de)
1293
1294         * sha1.c (transform): Rewrote
1295
1296         * blowfish.c (encrypt): Unrolled for rounds == 16
1297         (decrypt): Ditto.
1298
1299 Tue Mar 10 16:32:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
1300
1301         * rmd160.c (transform): Unrolled the loop.
1302
1303 Tue Mar 10 13:05:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
1304
1305         * random.c (read_pool): Add pool_balance stuff.
1306         (get_random_bits): New.
1307
1308         * elgamal.c (elg_generate): Now uses get_random_bits to generate x.
1309
1310
1311 Tue Mar 10 11:33:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
1312
1313         * md.c (md_digest_length): New.
1314
1315 Tue Mar 10 11:27:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
1316
1317         * dsa.c (dsa_verify): Works.
1318
1319 Mon Mar  9 12:59:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
1320
1321         * dsa.c, dsa.h: Removed some unused code.
1322
1323 Wed Mar  4 10:39:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
1324
1325         * md.c (md_open): Add call to fast_random_poll.
1326         blowfish.c (blowfish_setkey): Ditto.
1327
1328 Tue Mar  3 13:32:54 1998  Werner Koch  (wk@isil.d.shuttle.de)
1329
1330         * rmd160.c (rmd160_mixblock): New.
1331         * random.c: Restructured to start with a new RNG implementation.
1332         * random.h: New.
1333
1334 Mon Mar  2 19:21:46 1998  Werner Koch  (wk@isil.d.shuttle.de)
1335
1336         * gost.c, gost.h: Removed because they did only conatin trash.
1337
1338 Sun Mar  1 16:42:29 1998  Werner Koch  (wk@isil.d.shuttle.de)
1339
1340         * random.c (fill_buffer): removed error message if n == -1.
1341
1342 Fri Feb 27 16:39:34 1998  Werner Koch  (wk@isil.d.shuttle.de)
1343
1344         * md.c (md_enable): No init if called twice.
1345
1346 Thu Feb 26 07:57:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
1347
1348         * primegen.c (generate_elg_prime): Changed the progress printing.
1349         (gen_prime): Ditto.
1350
1351 Tue Feb 24 12:28:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
1352
1353         * md5.c, md.5 : Replaced by a modified version of md5.c from
1354         GNU textutils 1.22.
1355
1356 Wed Feb 18 14:08:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
1357
1358         * md.c, md.h : New debugging support
1359
1360 Mon Feb 16 10:08:47 1998  Werner Koch  (wk@isil.d.shuttle.de)
1361
1362         * misc.c (cipher_algo_to_string): New
1363         (pubkey_algo_to_string): New.
1364         (digest_algo_to_string): New.
1365
1366
1367
1368  Copyright 1998, 1999, 2000, 2001, 2002, 2003,
1369            2004, 2005 Free Software Foundation, Inc.
1370
1371  This file is free software; as a special exception the author gives
1372  unlimited permission to copy and/or distribute it, with or without
1373  modifications, as long as this notice is preserved.
1374
1375  This file is distributed in the hope that it will be useful, but
1376  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1377  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.