1
2004-11-30 David Shaw <dshaw@jabberwocky.com>
3
* md.c (string_to_digest_algo): Allow read/write SHA384 and
6
2004-11-03 Timo Schulz <twoaday@g10code.com>
8
* idea-stub.c (dlopen, dlsym): Use w32_strerror instead of
9
just showing the error number.
11
2004-10-14 Werner Koch <wk@g10code.com>
13
* rndunix.c (start_gatherer) [ENABLE_SELINUX_HACKS]: Don't allow
16
2004-10-12 David Shaw <dshaw@jabberwocky.com>
18
* algorithms.h, cast5.c, cipher.c, idea-stub.c, twofish.c,
19
blowfish.c, des.c, rijndael.c: Consistently use const for input
22
2004-09-23 Werner Koch <wk@g10code.com>
24
* rsa.c (rsa_generate): Return the dummy list of factors only if
25
the caller asked for it.
27
2004-05-20 David Shaw <dshaw@jabberwocky.com>
29
* dsa.c (verify): s/exp/exponent/ to fix a compiler warning. From
30
Werner on stable branch.
32
2004-01-16 David Shaw <dshaw@jabberwocky.com>
34
* cipher.c (setup_cipher_table): May as well call Rijndael AES at
37
* pubkey.c (setup_pubkey_table), elgamal.c (sign, verify,
38
test_keys, elg_sign, elg_verify, elg_get_info): Remove the last
39
bits of Elgamal type 20 support.
41
2003-12-29 David Shaw <dshaw@jabberwocky.com>
43
* idea-stub.c (load_module, idea_get_info): Return the proper type
44
for idea_get_info from inside load_module. From Stefan Bellon.
46
* rijndael.c, rndunix.c, twofish.c: Remove dead IS_MODULE code.
48
* g10c.c: Dead code. Remove.
50
* Makefile.am: Don't compile g10c.c.
52
2003-12-28 Stefan Bellon <sbellon@sbellon.de>
54
* rndriscos.c (rndriscos_gather_random) [__riscos__]: Declare
55
variable outside loop.
57
* blowfish.c, twofish.c [__riscos__]: Removal of unnecessary
58
#ifdef __riscos__ sections.
60
2003-12-17 David Shaw <dshaw@jabberwocky.com>
62
* dsa.h, dsa.c (dsa_verify), elgamal.h, elgamal.c (elg_verify),
63
rsa.h, rsa.c (rsa_verify), pubkey.c (dummy_verify, pubkey_verify):
64
Remove old unused code.
66
2003-12-03 David Shaw <dshaw@jabberwocky.com>
68
* pubkey.c (setup_pubkey_table): Don't allow signatures to and
69
from encrypt-only Elgamal keys.
70
(pubkey_get_npkey, pubkey_get_nskey, pubkey_get_nsig,
71
pubkey_get_nenc, pubkey_nbits): Wrap the RSA cheats in !USE_RSA.
72
Add cheats for sign+encrypt Elgamal.
74
2003-11-30 David Shaw <dshaw@jabberwocky.com>
76
* pubkey.c (setup_pubkey_table): Only include RSA if USE_RSA is
78
(pubkey_get_npkey): Return 2 for RSA even if it isn't available so
79
we can at least handle RSA keys.
81
2003-11-27 Werner Koch <wk@gnupg.org>
83
* pubkey.c (pubkey_sign): Return an error if an ElGamal key is
86
* elgamal.c (gen_k): New arg SMALL_K.
87
(sign): Use it here with SMALL_K set to false
88
(do_encrypt): and here with SMALL_K set to true.
90
2003-10-10 Werner Koch <wk@gnupg.org>
92
* primegen.c (gen_prime): Bail out if we try to generate a prime
93
with less than 16 bits. Include i18n.h.
95
2003-10-06 Werner Koch <wk@gnupg.org>
97
* primegen.c (gen_prime): Bail out if NBITS is zero. This is
98
Debian bug #213989 reported by Max <rusmir@tula.net>.
100
2003-09-04 David Shaw <dshaw@jabberwocky.com>
102
* md.c (string_to_digest_algo): Enable read-write SHA-256 support.
104
* algorithms.h, Makefile.am, md.c (load_digest_module,
105
string_to_digest_algo), tiger.c: Drop TIGER/192 support.
107
2003-08-28 David Shaw <dshaw@jabberwocky.com>
109
* idea-stub.c, random.c; s/__MINGW32__/_WIN32/ to help building on
110
native Windows compilers. Requested by Brian Gladman. From
111
Werner on stable branch.
113
2003-08-21 David Shaw <dshaw@jabberwocky.com>
115
* random.c (getfnc_gather_random): Don't check NAME_OF_DEV_RANDOM
116
twice. Use NAME_OF_DEV_URANDOM.
118
2003-05-24 David Shaw <dshaw@jabberwocky.com>
120
* bithelp.h, des.c, random.c, rndlinux.c, sha1.c, blowfish.c,
121
elgamal.c, rijndael.c, rndunix.c, sha256.c, cast5.c, idea-stub.c,
122
rmd160.c, rndw32.c, sha512.c, md5.c, rmd160test.c, rsa.c, tiger.c:
123
Edit all preprocessor instructions to remove whitespace before the
124
'#'. This is not required by C89, but there are some compilers
125
out there that don't like it.
127
2003-05-15 David Shaw <dshaw@jabberwocky.com>
129
* cipher.c (setup_cipher_table): #ifdef IDEA.
131
* random.c (fast_random_poll): Only use times() if we HAVE_TIMES.
133
* sha512.c, tiger.c: Use the U64_C() macro to specify 64-bit
134
constants. U64_C is defined in include/types.h and uses the
135
correct suffix depending on the underlying type of u64.
137
* idea-stub.c (load_module): Catch an error if the idea module
138
file is unloadable for some reason (unreadable, bad permissions,
141
* md.c (string_to_digest_algo): Give a warning about TIGER192 not
142
being part of OpenPGP.
144
2003-04-15 Werner Koch <wk@gnupg.org>
146
* md.c (md_start_debug): Need to open the file in binary mode.
148
2003-02-21 David Shaw <dshaw@jabberwocky.com>
150
* cipher.c (setup_cipher_table): #ifdef all optional ciphers.
152
* md.c (load_digest_module): #ifdef all optional digests.
154
2003-02-11 David Shaw <dshaw@jabberwocky.com>
156
* Makefile.am, md.c (load_digest_module): Only build in SHA384/512
157
and TIGER if specifically enabled by the 64-bit type check in
160
2003-02-04 David Shaw <dshaw@jabberwocky.com>
162
* sha256.c, sha512.c: New.
164
* Makefile.am, algorithms.h, md.c (load_digest_module,
165
string_to_digest_algo): Add read-only support for the new SHAs.
167
2002-11-06 David Shaw <dshaw@jabberwocky.com>
169
* rndw32.c [__CYGWIN32__]: Don't include winioctl.h - it is not
170
required anymore. (From Werner)
172
* random.c (read_seed_file,update_random_seed_file): Use binary
173
mode for __CYGWIN__. (From Werner)
175
* blowfish.c (burn_stack), cast5.c (burn_stack), des.c
176
(burn_stack), md5.c (burn_stack), random.c (burn_stack, read_pool,
177
fast_random_poll), rijndael.c (burn_stack), rmd160.c (burn_stack),
178
rndegd.c (rndegd_gather_random), rndlinux.c
179
(rndlinux_gather_random), sha1.c (burn_stack), tiger.c
180
(burn_stack), twofish.c (burn_stack): Replace various calls to
181
memset() with the more secure wipememory().
183
2002-11-02 David Shaw <dshaw@jabberwocky.com>
185
* cipher.c (string_to_cipher_algo), md.c (string_to_digest_algo):
186
Allow the Sxxx and Hxxx format for cipher and digest names.
188
2002-10-31 Stefan Bellon <sbellon@sbellon.de>
190
* rndriscos.c (rndriscos_gather_random): Use riscos_load_module()
191
to load CryptRandom module.
193
2002-10-12 Werner Koch <wk@gnupg.org>
195
* rndunix.c (my_popen): Make sure that stdin and stderr are
196
connected to a file. This is to avoid NetBSD to complain about
197
set{u,g}id programs invoked with fd 0, 2 closed. Reported by
199
(start_gatherer): Likewise. Reordered code.
201
2002-10-02 David Shaw <dshaw@jabberwocky.com>
203
* tiger.c (tiger_get_info): Select the OID to use for TIGER at
206
2002-09-27 David Shaw <dshaw@jabberwocky.com>
208
* Makefile.am, md.c (load_digest_module): TIGER is now always
211
2002-09-26 Werner Koch <wk@gnupg.org>
213
* tiger.c (tiger_get_info): Use a regular OID. Note that this
214
breaks all TIGER generated signatures; if we want to do something
215
about it we have to do it in ../g10/sig-check.c .
217
2002-09-17 Werner Koch <wk@gnupg.org>
219
* rndw32.c (SIZEOF_DISK_PERFORMANCE_STRUCT): Increased to 256.
221
2002-09-12 Stefan Bellon <sbellon@sbellon.de>
223
* rand-internal.h (rndriscos_gather_random): Added prototype.
225
2002-08-30 Werner Koch <wk@gnupg.org>
227
* random.c: Automagically detect the entropy gatherer when
228
this feature is configured.
229
* rndegd.c (rndegd_connect_socket): New. Factored out from ..
230
(rndegd_gather_random): here and call it.
231
(do_read): Update the counter variables correctly. This was not a
232
problem due to the way EGD works. Bug found by Christian Biere.
234
2002-08-20 Werner Koch <wk@gnupg.org>
236
* primegen.c (generate_elg_prime): Return all factors for mode 1.
237
Bug reported by Bob Mathews.
239
2002-08-12 Werner Koch <wk@gnupg.org>
241
* cipher.c: Include the DUMMY cipher only when the new ALLOW_DUMMY
242
is defined. It should only be defined for hard core debugging.
244
2002-08-08 David Shaw <dshaw@jabberwocky.com>
246
* Makefile.am, md.c (load_digest_module): Allow switching TIGER on
247
and off via configure.
249
2002-08-07 David Shaw <dshaw@jabberwocky.com>
251
* md.c (md_algo_present): New function to check if a given algo is
252
in use for a given MD_HANDLE.
254
2002-08-04 Werner Koch <wk@gnupg.org>
256
* blowfish.h, cast5.h, des.h: Removed after moving all prototypes to
257
* algorithms.h: here. Changed all sources to use this one.
259
2002-08-03 Stefan Bellon <sbellon@sbellon.de>
261
* idea-stub.c (idea_get_info): RISC OS' Norcroft C needs a cast.
262
* random.c (getfnc_gather_random): Added RISC OS support.
263
* rndriscos.c: Removed dynload code and tidied up a bit.
265
2002-08-03 Werner Koch <wk@gnupg.org>
267
* rndegd.c (do_read): Handle case when read returns 0 to avoid
268
gpg hanging when EGD died. By Christian Biere.
270
2002-08-02 Werner Koch <wk@gnupg.org>
272
The big extension removal.
274
* Makefile.am: Removed all extension stuff.
275
* dynload.c: Removed everything except for
276
register_cipher_extension.
277
(dynload_enum_module_names): New.
278
* dynload.h: Removed.
279
* random.c (getfnc_gather_random,getfnc_fast_random_poll):
280
New. Replaced all dynload functions with these ones.
281
* rndunix.c (rndunix_gather_random): Renamed from
282
gather_random. Made global. Removed all dynload stuff.
283
* rndlinux.c (rndlinux_gather_random): Likewise.
284
* rndegd.c (rndegd_gather_random): Likewise.
285
* rndw32.c (rndw32_gather_random)
286
(rndw32_gather_random_fast): Likewise. Also removed the unsued
288
* md.c (new_list_item): Changed return value to indicate whether
289
an algorithms was loaded.
290
(load_digest_module): Simplified by removing all the dynload code.
292
* md5.c (md5_get_info): Made global. Removed all dynload stuff.
293
* rmd160.c (rmd160_get_info): Likewise.
294
* sha1.c (sha1_get_info): Likewise.
295
* tiger.c (tiger_get_info): Likewise. Return NULL if we can't use
298
* blowfish.h (idea_get_info): Add prototype.
299
* cipher.c (setup_cipher_table): Try to load IDEA.
300
(load_cipher_modules): Removed all dynload code.
301
* pubkey.c (load_pubkey_modules): Removed the dynloading code.
303
2002-07-25 David Shaw <dshaw@jabberwocky.com>
305
* random.c: "warning" -> "WARNING"
307
2002-07-02 Werner Koch <wk@gnupg.org>
309
* rndw32.c (slow_gatherer_windowsNT): Use a simple array for the
310
disk performance structure and increase it to the size required by
313
2002-06-29 Werner Koch <wk@gnupg.org>
315
* rndlinux.c: Removed HAVE_LINUX_RANDOM_H conditional because it
316
was never used and the configure test did set the wrong macro
319
2002-05-07 Stefan Bellon <sbellon@sbellon.de>
321
* md.c (md_start_debug): Use EXTSEP_S instead of ".".
323
2002-04-24 Werner Koch <wk@gnupg.org>
325
* tiger.c (tiger_final): Removed superfluous token pasting operators.
326
* md5.c (md5_final): Ditto.
328
2002-04-22 Stefan Bellon <sbellon@sbellon.de>
330
* rndriscos.c (func_table): Made func a function pointer.
331
(init_device): Improved loading of CryptRandom module.
333
2002-04-18 Werner Koch <wk@gnupg.org>
335
* rndlinux.c, rndegd.c, rndunix.c (func_table): Made func a
336
function pointer. Note that we still need to change the module
337
interface to cope with data vs function pointer problems. Hmmm,
338
even dlsym has a problem with this.
340
2002-04-10 David Shaw <dshaw@jabberwocky.com>
342
* cipher.c (setup_cipher_table, cipher_open, cipher_encrypt,
343
cipher_decrypt, dummy_setkey, dummy_encrypt_block,
344
dummy_decrypt_block): the dummy cipher should only be built on
345
development versions.
347
2002-04-06 Werner Koch <wk@gnupg.org>
349
* rijndael.c (rijndael_get_info): We do only support a 128 bit
350
blocksize so it makes sense to change the algorithm strings to
352
* cipher.c (string_to_cipher_algo): Map "RIJNDAEL" to "AES".
354
2002-02-14 Werner Koch <wk@gnupg.org>
356
* random.c (mix_pool): Removed the failsafe stuff again. It makes
357
the code more complicate and may give the path to more bugs.
359
2002-02-10 Werner Koch <wk@gnupg.org>
361
* random.c (mix_pool): Carry an extra failsafe_digest buffer
362
around to make the function more robust.
364
2002-02-08 Werner Koch <wk@gnupg.org>
366
* random.c (add_randomness): Xor new data into the pool and not
367
just copy it. This avoids any choosen input attacks which are not
368
serious in our setting because an outsider won't be able to mix
369
data in and even then we keep going with a PRNG. Thanks to Stefan
370
Keller for pointing this out.
372
2002-01-02 Stefan Bellon <sbellon@sbellon.de>
374
* rndriscos.c [__riscos__]: Updated include file name.
376
2001-12-21 Werner Koch <wk@gnupg.org>
378
* Makefile.am (DISCLEANFILES): Add construct.c
380
2001-12-19 Werner Koch <wk@gnupg.org>
382
* rndw32.c [CYGWIN32]: Include winioctl.h. By Disastry.
384
2001-11-08 Werner Koch <wk@gnupg.org>
386
* primegen.c (gen_prime): Set 2 high order bits for secret primes.
387
* rsa.c (generate): Loop until we find the exact modulus size.
388
Changed the exponent to 41.
390
2001-10-22 Werner Koch <wk@gnupg.org>
392
* Makefile.am: Need to use $(EXEEXT) where approriate.
394
2001-09-09 Werner Koch <wk@gnupg.org>
396
* rsa.c (rsa_get_info): s/usage/r_usage/ to avoid shadow warnings.
398
2001-08-24 Werner Koch <wk@gnupg.org>
400
* md.c (md_write): Made buf arg const.
402
2001-08-22 Werner Koch <wk@gnupg.org>
404
* random.c (fast_random_poll): Don't use gethrtime if it is broken.
406
2001-08-20 Werner Koch <wk@gnupg.org>
408
Applied patches from Stefan Bellon <sbellon@sbellon.de> to support
409
RISC OS. Nearly all of these patches are identified by the
411
* blowfish.c, twofish.c: Added pragmas for use with a Norcraft
413
* dynload.c, md5.c, rmd160.c, sha1.c: Minor patches for RISC OS.
415
* rnd-internal.h: Added prototype.
416
* random.c (fast_random_poll): Use '#if defined' instead of just
417
'defined'; needed for RISC OS.
418
* primegen.c (gen_prime): count? are now ints for consistence
421
2001-08-08 Werner Koch <wk@gnupg.org>
423
* rndw32.c (gather_random): Use toolhelp in addition to the NT
424
gatherer for Windows2000. Suggested by Sami Tolvanen.
426
* random.c (read_pool): Fixed length check, this used to be one
427
byte to strict. Made an assert out of it because the caller has
428
already made sure that only poolsize bytes are requested.
429
Reported by Marcus Brinkmann.
431
2001-07-18 Werner Koch <wk@gnupg.org>
433
* rndlinux.c (gather_random): casted a size_t arg to int so that
434
the format string is correct. Casting is okay here and avoids
437
2001-06-12 Werner Koch <wk@gnupg.org>
439
* cipher.c (string_to_cipher_algo): Use ascii_strcasecmp().
440
* md.c (string_to_digest_algo): Ditto.
441
* pubkey.c (string_to_pubkey_algo): Ditto.
442
* rndw32.c (slow_gatherer_windowsNT): Ditto. Not really needed
445
2001-04-29 Werner Koch <wk@gnupg.org>
447
* random.c (fast_random_poll): Do not check the return code of
450
2001-04-17 Werner Koch <wk@gnupg.org>
452
* rndunix.c: Add a signal.h header to avoid warnings on Solaris 7
455
2001-04-16 Werner Koch <wk@gnupg.org>
457
* dynload.c [__MINGW32__]: Applied patch from Timo Schulz to make
458
it work under W32. This patches is based on the one from
461
2001-04-06 Werner Koch <wk@gnupg.org>
463
* rijndael.c, des.c, blowfish.c, twofish.c, cast5.c (burn_stack):
464
New. Add wrappers for most functions to be able to call
465
burn_stack after the function invocation. This methods seems to be
466
the most portable way to zeroise the stack used. It does only work
467
on stack frame based machines but it is highly portable and has no
468
side effects. Just setting the automatic variables at the end of
469
a function to zero does not work well because the compiler will
470
optimize them away - marking them as volatile would be bad for
472
* md5.c, sha1.c, rmd160.c, tiger.c (burn_stack): Likewise.
473
* random.c (burn_stack): New.
474
(mix_pool): Use it here to burn the stack of the mixblock function.
476
2001-04-02 Werner Koch <wk@gnupg.org>
478
* primegen.c (generate_elg_prime): I was not initialized for mode
479
!= 1. Freed q at 3 places. Thanks to Tommi Komulainen.
481
2001-03-28 Werner Koch <wk@gnupg.org>
483
* md5.c (md5_final): Fixed calculation of hashed length. Thanks
484
to disastry@saiknes.lv for pointing out that it was horrible wrong
485
for more than 512MB of input.
486
* sha1.c (sha1_final): Ditto.
487
* rmd160.c (rmd160_final): Ditto.
488
* tiger.c (tiger_final): Ditto.
490
2001-03-19 Werner Koch <wk@gnupg.org>
492
* blowfish.c (encrypt,do_encrypt): Changed name to do_encrypt to
493
avoid name clahses with an encrypt function in stdlib.h of
494
Dynix/PIX. Thanks to Gene Carter.
495
* elgamal.c (encrypt,do_encrypt): Ditto.
497
2001-03-12 Werner Koch <wk@gnupg.org>
499
* twofish.c (gnupgext_enum_func): Add some static when comnpiled
502
* tiger.c (tiger_get_info): Return "TIGER192" and not just
503
"TIGER". By Edwin Woudt.
505
2001-03-08 Werner Koch <wk@gnupg.org>
507
* random.c: Always include time.h - standard requirement. Thanks
510
2001-01-18 Werner Koch <wk@gnupg.org>
512
* rndw32.c: Fixed typo and wrong ifdef for VER_PLATFORM* macro
514
2001-01-12 Werner Koch <wk@gnupg.org>
516
* cipher.c (cipher_encrypt,cipher_encrypt): Use blocksize and
517
not 8 for CBC mode (However: we don't use CBS in OpenPGP).
519
2000-11-22 Werner Koch <wk@gnupg.org>
521
* rndegd.c (gather_random): Fixed default socket to be '=entropy'.
522
Thanks to Tomasz Kozlowski.
524
2000-10-12 Werner Koch <wk@gnupg.org>
527
* cipher.c: Add Rijndael support.
529
Wed Oct 4 15:50:18 CEST 2000 Werner Koch <wk@openit.de>
531
* sha1.c (transform): Use rol() macro. Actually this is not needed
532
for a newer gcc but there are still aoter compilers.
534
Thu Sep 14 14:20:38 CEST 2000 Werner Koch <wk@openit.de>
536
* random.c (fast_random_poll): Check ENOSYS for getrusage.
537
* rndunix.c: Add 2 sources for QNX. By Sam Roberts.
539
Wed Sep 13 18:12:34 CEST 2000 Werner Koch <wk@openit.de>
541
* rsa.c (secret): Speed up by using the CRT. For a 2k keys this
542
is about 3 times faster.
543
(stronger_key_check): New but unused code to check the secret key.
545
Wed Sep 6 17:55:47 CEST 2000 Werner Koch <wk@openit.de>
547
* rsa.c: Changed the comment about the patent.
548
* Makefile.am: Included rsa.[ch].
549
* pubkey.c: Enabled RSA support.
550
(pubkey_get_npkey): Removed RSA workaround.
552
Fri Aug 25 16:05:38 CEST 2000 Werner Koch <wk@openit.de>
554
* rndlinux.c (open_device): Loose random device checking.
557
* rndegd.c (gather_random): Name of socket is nom configurable.
559
Wed Jun 28 11:54:44 CEST 2000 Werner Koch <wk@>
561
* rsa.c, rsa.h: New based on the old module version (only in CVS for now).
562
* pubkey.c (setup_pubkey_table): Added commented support for RSA.
564
Fri Jun 9 10:09:52 CEST 2000 Werner Koch <wk@openit.de>
566
* rndunix.c (waitpid): New. For UTS 2.1. All by Dave Dykstra.
567
(my_popen): Do the FD_CLOEXEC only if it is available
568
(start_gatherer): Cope with missing _SC_OPEN_MAX
570
Sun May 28 13:55:17 CEST 2000 Werner Koch <wk@openit.de>
572
* random.c (read_seed_file): Binary open for DOSish system
573
(update_random_seed_file): Ditto.
575
* rndw32.c: Add some debuging code enabled by an environment variable.
577
Tue May 23 09:19:00 CEST 2000 Werner Koch <wk@openit.de>
579
* rndw32.c: Started with alternative code to replace entropy.dll
581
Thu May 18 11:38:54 CEST 2000 Werner Koch <wk@openit.de>
583
* primegen.c (register_primegen_progress): New.
584
* dsa.c (register_pk_dsa_progress): New.
585
* elgamal.c (register_pk_elg_progress): New.
587
Fri Apr 14 19:37:08 CEST 2000 Werner Koch <wk@openit.de>
589
* twofish.c (twofish_get_info): Fixed warning about cast.
591
Tue Mar 28 14:26:58 CEST 2000 Werner Koch <wk@openit.de>
593
* random.c [MINGW32]: Include process.h for getpid.
595
Thu Mar 2 15:37:46 CET 2000 Werner Koch <wk@gnupg.de>
597
* random.c (fast_random_poll): Add clock_gettime() as fallback for
598
system which support this POSIX.4 fucntion. By Sam Roberts.
600
* rndunix.c: Add some more headers for QNX. By Sam Roberts.
602
* random.c (read_seed_file): Removed the S_ISLNK test becuase it
603
is already covered by !S_ISREG and is not defined in Unixware.
604
Reported by Dave Dykstra.
606
* sha1.c (sha1_get_info): Removed those stupid double lines. Dave
607
is really a good lint.
609
Wed Feb 23 10:07:57 CET 2000 Werner Koch <wk@gnupg.de>
611
* twofish.c (twofish_get_info): Add some const to the casts. By Martin
614
Mon Feb 14 14:30:20 CET 2000 Werner Koch <wk@gnupg.de>
616
(update_random_seed_file): Silently ignore update request when pool
619
Fri Feb 11 17:44:40 CET 2000 Werner Koch <wk@gnupg.de>
621
* random.c (read_seed_file): New.
622
(set_random_seed_file): New.
623
(read_pool): Try to read the seeding file.
624
(update_random_seed_file): New.
626
(read_pool): Do an initial extra seeding when level 2 quality random
627
is requested the first time. This requestes at least POOLSIZE/2 bytes
628
of entropy. Compined with the seeding file this should make normal
629
random bytes cheaper and increase the quality of the random bytes
630
used for key generation.
632
* rndegd.c (gather_random): Shortcut level 0.
633
* rndunix.c (gather_random): Ditto.
634
* rndw32.c (gather_random): Ditto.
636
Fri Jan 14 18:32:01 CET 2000 Werner Koch <wk@gnupg.de>
638
* rmd160.c (rmd160_get_info): Moved casting to the left side due to a
639
problem with UTS4.3. Suggested by Dave Dykstra.
640
* sha1.c (sha1_get_info): Ditto.
641
* tiger.c (tiger_get_info): Ditto.
642
* md5.c (md5_get_info): Ditto
643
* des.c (des_get_info): Ditto.
644
* blowfish.c (blowfish_get_info): Ditto.
645
* cast5.c (cast5_get_info): Ditto.
646
* twofish.c (twofish_get_info): Ditto.
648
Thu Jan 13 19:31:58 CET 2000 Werner Koch <wk@gnupg.de>
650
* elgamal.c (wiener_map): New.
651
(gen_k): Use a much smaller k.
652
(generate): Calculate the qbits using the wiener map and
653
choose an x at a size comparable to the one choosen in gen_k
655
* random.c (read_pool): Print a more friendly error message in
656
cases when too much random is requested in one call.
658
* Makefile.am (tiger): Replaced -O1 by -O. Suggested by Alec Habig.
660
Sat Dec 4 12:30:28 CET 1999 Werner Koch <wk@gnupg.de>
662
* primegen.c (generate_elg_prime): All primes are now generated with
663
the lowest random quality level. Becuase they are public anyway we
664
don't need stronger random and by this we do not drain the systems
667
Thu Oct 28 16:08:20 CEST 1999 Werner Koch <wk@gnupg.de>
669
* random.c (fast_random_poll): Check whether RUSAGE_SELF is defined;
670
this is not the case for some ESIX and Unixware, although they have
673
* elgamal.c (sign): Hugh found strange code here. Replaced by BUG().
675
Mon Oct 11 09:24:12 CEST 1999 Werner Koch <wk@gnupg.de>
677
* rndw32.c (gather_random): Handle PCP_SEEDER_TOO_SMALL.
679
Sat Oct 9 20:34:41 CEST 1999 Werner Koch <wk@gnupg.de>
681
* Makefile.am: Tweaked module build and removed libtool
683
Fri Oct 8 20:32:01 CEST 1999 Werner Koch <wk@gnupg.de>
685
* rndw32.c (load_and_init_winseed): Use the Registry to locate the DLL
687
Mon Oct 4 21:23:04 CEST 1999 Werner Koch <wk@gnupg.de>
689
* md.c (md_reset): Clear finalized; thanks to Ulf Moeller for
692
Sat Sep 18 12:51:51 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
694
* Makefile.am: Never compile mingw32 as module
696
Wed Sep 15 14:39:59 CEST 1999 Michael Roth <mroth@nessie.de>
698
* des.c: Various speed improvements: One bit pre rotation
699
trick after initial permutation (Richard Outerbridge).
700
Finished test of SSLeay Tripple-DES patterns.
702
Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
706
Mon Sep 13 10:51:29 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
709
* rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h
711
Tue Sep 7 16:23:36 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
713
* Makefile.am: Fixed seds for latest egcc. By Ollivier Robert.
715
Mon Sep 6 19:59:08 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
717
* des.c (selftest): Add some testpattern
719
Mon Aug 30 20:38:33 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
721
* cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using
722
in place encryption. Pointed out by Frank Stajano.
724
Mon Jul 26 09:34:46 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
726
* md5.c (md5_final): Fix for a SCO cpp bug.
728
Thu Jul 15 10:15:35 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
730
* elgamal.c (elg_check_secret_key,elg_encrypt
731
elg_decrypt,elg_sign,elg_verify): Sanity check on the args.
732
* dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto.
734
* pubkey.c (disable_pubkey_algo): New.
735
(check_pubkey_algo2): Look at disabled algo table.
736
* cipher.c (disable_cipher_algo): New.
737
(check_cipher_algo): Look at disabled algo table.
739
Wed Jul 7 13:08:40 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
741
* Makefile.am: Support for libtool.
743
Fri Jul 2 11:45:54 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
745
* dsa.c (gen_k): Changed algorithm to consume less random bytes
746
* elgamal.c (gen_k): Ditto.
748
* random.c (random_dump_stats): New.
750
Thu Jul 1 12:47:31 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
752
* primegen.c, elgamal.c, dsa.c (progess): New and replaced all
753
fputc with a call to this function.
755
Sat Jun 26 12:15:59 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
757
* rndegd.c (do_write): s/ssize_t/int/ due to SunOS 4.1 probs.
759
* cipher.c (do_cbc_encrypt, do_cbc_decrypt): New.
761
* dynload.c (HAVE_DL_SHL_LOAD): Map hpux API to dlopen (Dave Dykstra).
762
* Makefile.am (install-exec-hook): Removed.
764
Sun May 23 14:20:22 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
766
* cipher.c (setup_cipher_table): Enable Twofish
768
* random.c (fast_random_poll): Disable use of times() for mingw32.
770
Mon May 17 21:54:43 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
772
* dynload.c (register_internal_cipher_extension): Minor init fix.
774
Tue May 4 15:47:53 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
776
* primegen.c (gen_prime): Readded the Fermat test. Fixed the bug
777
that we didn't correct for step when passing the prime to the
778
Rabin-Miller test which led to bad performance (Stefan Keller).
779
(check_prime): Add a first Fermat test.
781
Sun Apr 18 10:11:28 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
783
* cipher.c (cipher_setiv): Add ivlen arg, changed all callers.
785
* random.c (randomize_buffer): alway use secure memory because
786
we can't use m_is_secure() on a statically allocated buffer.
788
* twofish.c: Replaced some macros by a loop to reduce text size.
789
* Makefile.am (twofish): No more need for sed editing.
791
Fri Apr 9 12:26:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
793
* cipher.c (cipher_open): Reversed the changes for AUTO_CFB.
795
* blowfish.c: Dropped the Blowfish 160 mode.
796
* cipher.c (cipher_open): Ditto.
797
(setup_cipher_table): Ditto. And removed support of twofish128
799
Wed Apr 7 20:51:39 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
801
* random.c (get_random_bits): Can now handle requests > POOLSIZE
803
* cipher.c (cipher_open): Now uses standard CFB for automode if
804
the blocksize is gt 8 (according to rfc2440).
806
* twofish.c: Applied Matthew Skala's patches for 256 bit key.
808
Tue Apr 6 19:58:12 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
810
* random.c (get_random_bits): Can now handle requests > POOLSIZE
812
* cipher.c (cipher_open): Now uses standard CFB for automode if
813
the blocksize is gt 8 (according to rfc2440).
815
Sat Mar 20 11:44:21 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
817
* rndlinux.c (tty_printf) [IS_MODULE]: Removed.
819
* rndegd.c (gather_random): Some fixes.
821
Wed Mar 17 13:09:03 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
823
* rndegd.c (do_read): New.
824
(gather_random): Changed the implementation.
826
Mon Mar 8 20:47:17 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
828
* dynload.c (DLSYM_NEEDS_UNDERSCORE): Renamed.
830
Fri Feb 26 17:55:41 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
832
* md.c: Nearly a total rewrote.
834
Wed Feb 24 11:07:27 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
836
* cipher.c (context): Fixed alignment
841
Mon Feb 22 20:04:00 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
845
Wed Feb 10 17:15:39 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
847
* Makefile.am: Modules are now figured out by configure
848
* construct.c: New. Generated by configure. Changed all modules
853
* twofish.c: Changed interface to allow Twofish/256
855
* rndunix.c (start_gatherer): Die on SIGPIPE.
857
Wed Jan 20 18:59:49 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
859
* rndunix.c (gather_random): Fix to avoid infinite loop.
861
Sun Jan 17 11:04:33 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
863
* des.c (is_weak_key): Replace system memcmp due to bugs
865
(des_get_info): Return error on failed selftest.
866
* twofish.c (twofish_setkey): Return error on failed selftest or
868
* cast5.c (cast_setkey): Ditto.
869
* blowfish.c (bf_setkey): Return error on failed selftest.
871
Tue Jan 12 11:17:18 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
873
* random.c (random_is_faked): New.
875
* tiger.c: Only compile if we have the u64 type
877
Sat Jan 9 16:02:23 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
879
* rndunix.c (gather_random): check for setuid.
881
* Makefile.am: Add a way to staically link random modules
883
Thu Jan 7 18:00:58 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
885
* md.c (md_stop_debug): Do a flush first.
886
(md_open): size of buffer now depends on the secure parameter
888
Sun Jan 3 15:28:44 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
890
* rndunix.c (start_gatherer): Fixed stupid ==/= bug
892
1998-12-31 Geoff Keating <geoffk@ozemail.com.au>
894
* des.c (is_weak_key): Rewrite loop end condition.
896
Tue Dec 29 14:41:47 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
898
* random.c: add unistd.h for getpid().
899
(RAND_MAX): Fallback value for Sun.
901
Wed Dec 23 17:12:24 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
903
* md.c (md_copy): Reset debug.
905
Mon Dec 14 21:18:49 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
907
* random.c (read_random_source): Changed the interface to the
908
random gathering function.
909
(gather_faked): Use new interface.
910
* dynload.c (dynload_getfnc_fast_random_poll): Ditto.
911
(dynload_getfnc_gather_random): Ditto.
912
* rndlinux.c (gather_random): Ditto.
913
* rndunix.c (gather_random): Ditto.
915
Sat Dec 12 18:40:32 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
917
* dynload.c (SYMBOL_VERSION): New to cope with system which needs
920
* rndunix.c: Rewrote large parts
922
Thu Dec 10 20:15:36 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
924
* dynload.c (load_extension): increased needed verbosity level.
926
* random.c (fast_random_poll): Fallback to a default fast random
928
(read_random_source): Always use the faked entroy gatherer if no
929
gather module is available.
930
* rndlinux.c (fast_poll): Removed.
931
* rndunix.c (fast_poll): Removed.
934
Wed Nov 25 12:33:41 1998 Werner Koch (wk@isil.d.shuttle.de)
939
* random.c : Restructured the interface to the gather modules.
940
(intialize): Call constructor functions
941
(read_radnom_source): Moved to here.
942
* dynload.c (dynload_getfnc_gather_random): New.
943
(dynload_getfnc_fast_random_poll): New.
944
(register_internal_cipher_extension): New.
945
(register_cipher_extension): Support of internal modules.
947
Sun Nov 8 17:44:36 1998 Werner Koch (wk@isil.d.shuttle.de)
949
* rand-unix.c (read_random_source): Removed the assert.
951
Mon Oct 19 18:34:30 1998 me,,, (wk@tobold)
953
* pubkey.c: Hack to allow us to give some info about RSA keys back.
955
Thu Oct 15 11:47:57 1998 Werner Koch (wk@isil.d.shuttle.de)
957
* dynload.c: Support for DLD
959
Wed Oct 14 12:13:07 1998 Werner Koch (wk@isil.d.shuttle.de)
961
* rand-unix.c: Now uses names from configure for /dev/random.
963
1998-10-10 SL Baur <steve@altair.xemacs.org>
965
* Makefile.am: fix sed -O substitutions to catch -O6, etc.
967
Tue Oct 6 10:06:32 1998 Werner Koch (wk@isil.d.shuttle.de)
969
* rand-unix.c (HAVE_GETTIMEOFDAY): Fixed (was ..GETTIMEOFTIME :-)
970
* rand-dummy.c (HAVE_GETTIMEOFDAY): Ditto.
972
Mon Sep 28 13:23:09 1998 Werner Koch (wk@isil.d.shuttle.de)
974
* md.c (md_digest): New.
977
Wed Sep 23 12:27:02 1998 Werner Koch (wk@isil.d.shuttle.de)
979
* tiger.c (TIGER_CONTEXT): moved "buf", so that it is 64 bit aligned.
981
Mon Sep 21 06:22:53 1998 Werner Koch (wk@(none))
983
* des.c: Some patches from Michael.
985
Thu Sep 17 19:00:06 1998 Werner Koch (wk@(none))
987
* des.c : New file from Michael Roth <mroth@nessie.de>
989
Mon Sep 14 11:10:55 1998 Werner Koch (wk@(none))
991
* blowfish.c (bf_setkey): Niklas Hernaeus patch to detect weak keys.
993
Mon Sep 14 09:19:25 1998 Werner Koch (wk@(none))
995
* dynload.c (RTLD_NOW): Now defined to 1 if it is undefined.
997
Mon Sep 7 17:04:33 1998 Werner Koch (wk@(none))
999
* Makefile.am: Fixes to allow a different build directory
1001
Thu Aug 6 17:25:38 1998 Werner Koch,mobil,,, (wk@tobold)
1003
* random.c (get_random_byte): Removed and changed all callers
1004
to use get_random_bits()
1006
Mon Jul 27 10:30:22 1998 Werner Koch (wk@(none))
1008
* cipher.c : Support for other blocksizes
1009
(cipher_get_blocksize): New.
1011
* Makefile.am: Add twofish module.
1013
Mon Jul 13 21:30:52 1998 Werner Koch (wk@isil.d.shuttle.de)
1015
* random.c (read_pool): Simple alloc if secure_alloc is not set.
1016
(get_random_bits): Ditto.
1018
Thu Jul 9 13:01:14 1998 Werner Koch (wk@isil.d.shuttle.de)
1020
* dynload.c (load_extension): Function now nbails out if
1021
the program is run setuid.
1023
Wed Jul 8 18:58:23 1998 Werner Koch (wk@isil.d.shuttle.de)
1025
* rmd160.c (rmd160_hash_buffer): New.
1027
Thu Jul 2 10:50:30 1998 Werner Koch (wk@isil.d.shuttle.de)
1029
* cipher.c (cipher_open): algos >=100 use standard CFB
1031
Thu Jun 25 11:18:25 1998 Werner Koch (wk@isil.d.shuttle.de)
1033
* Makefile.am: Support for extensions
1035
Thu Jun 18 12:09:38 1998 Werner Koch (wk@isil.d.shuttle.de)
1037
* random.c (mix_pool): simpler handling for level 0
1039
Mon Jun 15 14:40:48 1998 Werner Koch (wk@isil.d.shuttle.de)
1041
* tiger.c: Removed from dist, will reappear as dynload module
1043
Sat Jun 13 14:16:57 1998 Werner Koch (wk@isil.d.shuttle.de)
1045
* pubkey.c: Major changes to allow extensions. Changed the inteface
1046
of all public key ciphers and added the ability to load extensions
1051
Wed Jun 10 07:52:08 1998 Werner Koch,mobil,,, (wk@tobold)
1054
* cipher.c: Major changes to allow extensions.
1056
Mon Jun 8 22:43:00 1998 Werner Koch (wk@isil.d.shuttle.de)
1058
* cipher.c: Major internal chnages to support extensions.
1059
* blowfish.c (blowfish_get_info): New and made all internal
1060
functions static, changed heder.
1061
* cast5.c (cast5_get_info): Likewise.
1063
Mon Jun 8 12:27:52 1998 Werner Koch (wk@isil.d.shuttle.de)
1065
* tiger.c (transform): Fix for big endian
1067
* cipher.c (do_cfb_decrypt): Big endian fix.
1069
Fri May 22 07:30:39 1998 Werner Koch (wk@isil.d.shuttle.de)
1071
* md.c (md_get_oid): Add a new one for TIGER.
1073
Thu May 21 13:24:52 1998 Werner Koch (wk@isil.d.shuttle.de)
1075
* cipher.c: Add support for a dummy cipher
1077
Thu May 14 15:40:36 1998 Werner Koch (wk@isil.d.shuttle.de)
1079
* rmd160.c (transform): fixed sigbus - I should better
1080
add Christian von Roques's new implemenation of rmd160_write.
1082
Fri May 8 18:07:44 1998 Werner Koch (wk@isil.d.shuttle.de)
1084
* rand-internal.h, rand-unix.c, rand-w32.c, rand_dummy.c: New
1085
* random.c: Moved system specific functions to rand-****.c
1087
Fri May 8 14:01:17 1998 Werner Koch (wk@isil.d.shuttle.de)
1089
* random.c (fast_random_poll): add call to gethrtime.
1091
Tue May 5 21:28:55 1998 Werner Koch (wk@isil.d.shuttle.de)
1093
* elgamal.c (elg_generate): choosing x was not correct, could
1094
yield 6 bytes which are not from the random pool, tsss, tsss..
1096
Tue May 5 14:09:06 1998 Werner Koch (wk@isil.d.shuttle.de)
1098
* primegen.c (generate_elg_prime): Add arg mode, changed all
1099
callers and implemented mode 1.
1101
Mon Apr 27 14:41:58 1998 Werner Koch (wk@isil.d.shuttle.de)
1103
* cipher.c (cipher_get_keylen): New.
1105
Sun Apr 26 14:44:52 1998 Werner Koch (wk@isil.d.shuttle.de)
1107
* tiger.c, tiger.h: New.
1109
Wed Apr 8 14:57:11 1998 Werner Koch (wk@isil.d.shuttle.de)
1111
* misc.c (check_pubkey_algo2): New.
1113
Tue Apr 7 18:46:49 1998 Werner Koch (wk@isil.d.shuttle.de)
1116
* misc.c (check_cipher_algo): Moved to cipher.c
1117
* cast5.c: Moved many functions to cipher.c
1118
* blowfish.c: Likewise.
1120
Sat Apr 4 19:52:08 1998 Werner Koch (wk@isil.d.shuttle.de)
1122
* cast5.c: Implemented and tested.
1124
Wed Apr 1 16:38:27 1998 Werner Koch (wk@isil.d.shuttle.de)
1126
* elgamal.c (elg_generate): Faster generation of x in some cases.
1128
Thu Mar 19 13:54:48 1998 Werner Koch (wk@isil.d.shuttle.de)
1130
* blowfish.c (blowfish_decode_cfb): changed XOR operation
1131
(blowfish_encode_cfb): Ditto.
1133
Thu Mar 12 14:04:05 1998 Werner Koch (wk@isil.d.shuttle.de)
1135
* sha1.c (transform): Rewrote
1137
* blowfish.c (encrypt): Unrolled for rounds == 16
1140
Tue Mar 10 16:32:08 1998 Werner Koch (wk@isil.d.shuttle.de)
1142
* rmd160.c (transform): Unrolled the loop.
1144
Tue Mar 10 13:05:14 1998 Werner Koch (wk@isil.d.shuttle.de)
1146
* random.c (read_pool): Add pool_balance stuff.
1147
(get_random_bits): New.
1149
* elgamal.c (elg_generate): Now uses get_random_bits to generate x.
1152
Tue Mar 10 11:33:51 1998 Werner Koch (wk@isil.d.shuttle.de)
1154
* md.c (md_digest_length): New.
1156
Tue Mar 10 11:27:41 1998 Werner Koch (wk@isil.d.shuttle.de)
1158
* dsa.c (dsa_verify): Works.
1160
Mon Mar 9 12:59:08 1998 Werner Koch (wk@isil.d.shuttle.de)
1162
* dsa.c, dsa.h: Removed some unused code.
1164
Wed Mar 4 10:39:22 1998 Werner Koch (wk@isil.d.shuttle.de)
1166
* md.c (md_open): Add call to fast_random_poll.
1167
blowfish.c (blowfish_setkey): Ditto.
1169
Tue Mar 3 13:32:54 1998 Werner Koch (wk@isil.d.shuttle.de)
1171
* rmd160.c (rmd160_mixblock): New.
1172
* random.c: Restructured to start with a new RNG implementation.
1175
Mon Mar 2 19:21:46 1998 Werner Koch (wk@isil.d.shuttle.de)
1177
* gost.c, gost.h: Removed because they did only conatin trash.
1179
Sun Mar 1 16:42:29 1998 Werner Koch (wk@isil.d.shuttle.de)
1181
* random.c (fill_buffer): removed error message if n == -1.
1183
Fri Feb 27 16:39:34 1998 Werner Koch (wk@isil.d.shuttle.de)
1185
* md.c (md_enable): No init if called twice.
1187
Thu Feb 26 07:57:02 1998 Werner Koch (wk@isil.d.shuttle.de)
1189
* primegen.c (generate_elg_prime): Changed the progress printing.
1192
Tue Feb 24 12:28:42 1998 Werner Koch (wk@isil.d.shuttle.de)
1194
* md5.c, md.5 : Replaced by a modified version of md5.c from
1197
Wed Feb 18 14:08:30 1998 Werner Koch (wk@isil.d.shuttle.de)
1199
* md.c, md.h : New debugging support
1201
Mon Feb 16 10:08:47 1998 Werner Koch (wk@isil.d.shuttle.de)
1203
* misc.c (cipher_algo_to_string): New
1204
(pubkey_algo_to_string): New.
1205
(digest_algo_to_string): New.
1209
Copyright 1998, 1999, 2000, 2001, 2002, 2003,
1210
2004 Free Software Foundation, Inc.
1212
This file is free software; as a special exception the author gives
1213
unlimited permission to copy and/or distribute it, with or without
1214
modifications, as long as this notice is preserved.
1216
This file is distributed in the hope that it will be useful, but
1217
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1218
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.