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