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