aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog')
-rwxr-xr-xlinden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog2890
1 files changed, 2890 insertions, 0 deletions
diff --git a/linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog b/linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog
new file mode 100755
index 0000000..c93f0f7
--- /dev/null
+++ b/linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog
@@ -0,0 +1,2890 @@
12005-09-13 Werner Koch <wk@g10code.com>
2
3 * random.c (gcry_create_nonce): Detect a fork and re-seed.
4 (read_pool): Fixed the fork detection; it used to work only for
5 multi-threaded processes.
6
72005-06-16 Werner Koch <wk@g10code.com>
8
9 * cipher.c (gcry_cipher_register): Changed arg ALGORITHM_ID
10 from unsigned int * to int*.
11 * rmd160.c (_gcry_rmd160_mixblock): Applied cast.
12 * tiger.c (round): Renamed to R to avoid conflict with builtin.
13 * crc.c (crc32_write): Applied cast.
14 * dsa.c (gen_k): Made RNDBUF unsigned.
15 * elgamal.c (gen_k): Ditto.
16 * blowfish.c (selftest): Added cast to constants.
17 * random.c (rndpool, keypool): Made unsigned.
18 (mix_pool): Changed char* to unsigned char*.
19 * md.c (gcry_md_ctl): Use cast to fix signed/unsigned mismatch.
20 * primegen.c (prime_generate_internal): Ditto.
21 (is_prime): Made COUNT unsigned.
22
232005-06-15 Werner Koch <wk@g10code.com>
24
25 * cipher.c (gcry_cipher_encrypt, gcry_cipher_decrypt): Changed OUT
26 and IN to void*.
27
28 * md.c (gcry_md_ctl): Changed arg BUFFER to void*.
29 * random.c (gcry_randomize): Ditto.
30 (gcry_create_nonce): Ditto.
31
322005-04-16 Moritz Schulte <moritz@g10code.com>
33
34 * ac.c (_gcry_ac_init): New function.
35 Replace strdup calls with calls to gcry_strdup.
36
372005-03-23 Werner Koch <wk@g10code.com>
38
39 * rndw32.c (_gcry_rndw32_gather_random_fast): While adding data
40 use the size of the object and not the one of its address. Bug
41 reported by Sascha Kiefer.
42
432005-03-19 Moritz Schulte <moritz@g10code.com>
44
45 * cipher.c (do_cbc_encrypt): Be careful to not overwrite data,
46 which is to be used later on. This happend, in case CTS is
47 enabled and OUTBUF is equal to INBUF.
48
492005-03-19 Moritz Schulte <moritz@g10code.com>
50
51 * ac.c (gcry_ac_data_copy_internal): Use gcry_strdup instead of
52 strdup.
53 (gcry_ac_data_set): Likewise.
54 (gcry_ac_data_get_index): Likewise.
55
562005-02-25 Werner Koch <wk@g10code.com>
57
58 * pubkey.c (gcry_pk_get_keygrip): Allow for shadowed-private-key.
59
602005-01-05 Werner Koch <wk@g10code.com>
61
62 * serpent.c: s/u32_t/u32/ and s/byte_t/byte/. Too match what we
63 have always used and are using in all other files too.
64
652004-12-09 Werner Koch <wk@g10code.com>
66
67 * serpent.c (serpent_test): Moved prototype out of a fucntion.
68
692004-09-17 Moritz Schulte <moritz@g10code.com>
70
71 * serpent.c: Use "u32_t" instead of "unsigned long", do not
72 declare S-Box variables as "register". Fixes failure on
73 OpenBSD/sparc64, reported by Nikolay Sturm.
74
752004-09-16 Moritz Schulte <moritz@g10code.com>
76
77 * pubkey.c (pubkey_table): Added an alias entry for GCRY_PK_ELG_E;
78 merged from HEAD.
79
802004-09-15 Werner Koch <wk@g10code.de>
81
82 * random.c (read_pool): Fixed dropping of the volatile warning when
83 passing MY_PID to add_random.
84
85 * pubkey.c (sexp_data_to_mpi): Fixed syntax error. Aiih committing
86 changes without compiling is a real brown paper bag bug.
87
882004-08-19 Werner Koch <wk@g10code.de>
89
90 * pubkey.c (sexp_data_to_mpi): Changed the zero random byte
91 substituting code to actually do clever things. Thanks to
92 Matthias Urlichs for noting the implementation problem.
93
942004-08-09 Moritz Schulte <moritz@g10code.com>
95
96 * pubkey.c (gcry_pk_sign): Fixed memory leak; fix provided by
97 Modestas Vainius.
98
992004-07-16 Werner Koch <wk@gnupg.org>
100
101 * rijndael.c (do_encrypt): Fix alignment problem. Bugs found by
102 Matthias Urlichs.
103 (do_decrypt): Ditto.
104 (keySched, keySched2): Use 2 macros along with unions in the key
105 schedule context.
106
1072004-07-14 Moritz Schulte <moritz@g10code.com>
108
109 * rsa.c (_gcry_rsa_decrypt): Don't forget to free "a". Thanks to
110 Nikos Mavroyanopoulos.
111
1122004-05-09 Werner Koch <wk@gnupg.org>
113
114 * random.c (read_pool): Mix the PID in to better protect after a
115 fork.
116
1172004-07-04 Moritz Schulte <moritz@g10code.com>
118
119 * serpent.c: Use "u32_t" instead of "unsigned long", do not
120 declare S-Box variables as "register". Fixes failure on
121 OpenBSD/sparc64, reported by Nikolay Sturm.
122
1232004-05-07 Werner Koch <wk@gnupg.org>
124
125 * random.c (initialize): Factored out some code to ..
126 (initialize_basics): .. new function.
127 (_gcry_random_initialize): Just call initialize_basics unless the
128 new arg FULL is set to TRUE.
129 (_gcry_fast_random_poll): Don't do anything unless the random
130 system has been really initialized.
131
1322004-05-07 Moritz Schulte <moritz@g10code.de>
133
134 * ac.c (gcry_ac_open): Do not dereference NULL pointer. Reported
135 by Umberto Salsi.
136
1372004-02-20 Werner Koch <wk@gnupg.org>
138
139 * primegen.c (check_prime): New args CB_FUNC and CB_ARG; call them
140 at different stages. Pass these arguments through all callers.
141
1422004-02-06 Werner Koch <wk@gnupg.org>
143
144 * des.c: Add a new OID as used by pkcs#12.
145
146 * rfc2268.c: New. Taken from libgcrypt.
147 * cipher.c: Setup the rfc2268 algorithm.
148
1492004-01-25 Moritz Schulte <mo@g10code.com>
150
151 * primegen.c (prime_generate_internal): Do not forget to free
152 `q_factor'; fixed by Brieuc Jeunhomme.
153 (prime_generate_internal): Do not forget to free `prime'.
154
1552004-01-14 Moritz Schulte <mo@g10code.com>
156
157 * ac.c (gcry_ac_data_set): New argument: flags; slightly
158 rewritten.
159 (gcry_ac_data_get_name, gcry_ac_data_get_index): Likewise.
160 (gcry_ac_key_pair_generate): New argument: misc_data; modified
161 order of arguments.
162 (gcry_ac_key_test): New argument: handle.
163 (gcry_ac_key_get_nbits, gcry_ac_key_get_grip): Likewise.
164 Use GCRY_AC_FLAG_NO_BLINDING instead of
165 GCRY_AC_DATA_FLAG_NO_BLINDING.
166 (gcry_ac_mpi): New member: flags.
167 (gcry_ac_data_search, gcry_ac_data_add): Removed functions.
168
1692003-12-22 Werner Koch <wk@gnupg.org>
170
171 * primegen.c (is_prime): Release A2.
172
1732003-12-19 Werner Koch <wk@gnupg.org>
174
175 * md.c: Moved a couple of functions down below the data structure
176 definitions.
177 (struct gcry_md_context): New field ACTUAL_HANDLE_SIZE.
178 (md_open): Set it here.
179 (strcut gcry_md_list): New field ACTUAL_STRUCT_SIZE.
180 (md_enable): Set it here.
181 (md_close): Wipe the context memory.
182 secure memory.
183 * cipher.c (struct gcry_cipher_handle): New field ACTUAL_HANDLE_SIZE.
184 (gcry_cipher_open): Set it here.
185 (gcry_cipher_close): Use it to always wipe out the handle data.
186
187 * ac.c (gcry_ac_open): Make sure HANDLE gets initialized even when
188 the function is not successful.
189 (gcry_ac_close): Allow a NULL handle.
190 (gcry_ac_key_destroy, gcry_ac_key_pair_destroy): Ditto.
191 (gcry_ac_key_get_grip): Return INV_OBJ on error.
192
193 * primegen.c (prime_generate_internal): Fixed error code for
194 failed malloc. Replaced the !err if chain by gotos.
195 (gcry_prime_group_generator): Remove the extra sanity check.
196
197 * md.c: Minor code and comment cleanups.
198
1992003-12-16 Werner Koch <wk@gnupg.org>
200
201 * primegen.c (gen_prime): Doc fix. Thanks to Newton Hammet.
202
2032003-12-11 Werner Koch <wk@gnupg.org>
204
205 * rndunix.c (slow_poll): Don't use #warning but #error.
206
207 * rndegd.c: Changed indentation.
208 (my_make_filename): Removd the var_arg cruft becuase we
209 don't need it here. Changed caller.
210
211 * rndlinux.c: Changed indentation.
212 (open_device): Remove the superfluous stat call and clarify
213 comment.
214
215 * rsa.c: Changed indentation.
216 (secret): Use the standard algorithm if p, q and u are not
217 available.
218 (rsa_blind, rsa_unblind): Renamed from _gcry_rsa_blind,
219 _gcry_rsa_unblind and moved more to the top.
220
221 * md4.c: Changed indentation. Removed unnecessary casts.
222 * md5.c, rmd160.c, sha1.c, tiger.c: Ditto.
223 * rijndael.c, twofish.c: Ditto.
224 * serpent.c: Removed unnecessary casts.
225 * sha256.c, sha512.c: Ditto.
226
2272003-12-09 Werner Koch <wk@gnupg.org>
228
229 * dsa.c: Unified indentation style.
230 * elgamal.c: Ditto.
231 * des.c (des_key_schedule): Code beautifications.
232 * blowfish.c: Changed indentation style.
233 * cast5.c (do_cast_setkey): Ditto.
234
235 * pubkey.c (gcry_pk_encrypt): Replaced the chain of if(!err) tests
236 by straightforward gotos. Other cleanups.
237 (gcry_pk_decrypt): Ditto.
238 (gcry_pk_sign): Ditto.
239 (gcry_pk_verify): Ditto.
240 (gcry_pk_genkey): Ditto. Use strtoul instead of strtol.
241 (gcry_pk_ctl): Use GPG_ERR_INV_ARG to indicate bad arguments.
242
2432003-12-07 Werner Koch <wk@gnupg.org>
244
245 * pubkey.c (gcry_pk_register_default): Undef the helper macro.
246 (gcry_pk_map_name): Allow NULL for string.
247 (sexp_to_key): Use memcpy and not strncpy. Use gcry_free and not
248 free.
249 (sexp_to_sig): Ditto.
250 (sexp_to_enc): Ditto. Replaced the chain of if(!err) tests by
251 straightforward gotos.
252
2532003-12-05 Werner Koch <wk@gnupg.org>
254
255 * cipher.c: Documentation cleanups.
256 (gcry_cipher_mode_from_oid): Allow NULL for STRING.
257
2582003-12-03 Werner Koch <wk@gnupg.org>
259
260 * elgamal.c (sign, do_encrypt, gen_k): Make sure that a small K is
261 only used for encryption.
262
2632003-11-18 Werner Koch <wk@gnupg.org>
264
265 * random.h (rndw32_set_dll_name): Removed unused prototype.
266
267 * Makefile.am (EXTRA_DIST): Added Manifest.
268
2692003-11-11 Werner Koch <wk@gnupg.org>
270
271 * Manifest: New.
272
2732003-11-04 Werner Koch <wk@gnupg.org>
274
275 * md.c (gcry_md_hash_buffer): Use shortcut for SHA1
276 * sha1.c (_gcry_sha1_hash_buffer): New.
277
278 * random.c: Reformatted most functions.
279 (mix_pool): Moved the failsafe_digest from global
280 scope to here.
281 (do_fast_random_poll): Use the generic fucntions even if a fast
282 gathering function has been used.
283 (read_pool): Detect a fork and retry.
284 (gcry_randomize, get_random_bytes): Don't distinguish anymore
285 between weak and strong random.
286 (gcry_create_nonce): New.
287
2882003-10-31 Werner Koch <wk@gnupg.org>
289
290 * rndw32.c (slow_gatherer_windowsNT): Use a plain buffer for the
291 disk performance values and not the W32 API structure.
292
293 * dsa.c (verify): s/exp/ex/ due to shadowing of a builtin.
294 * elgamal.c (verify): Ditto.
295
296 * ac.c (gcry_ac_data_get_index): s/index/idx/
297 (gcry_ac_data_copy_internal): Remove the cast in _gcry_malloc.
298 (gcry_ac_data_add): Must use gcry_realloc instead of realloc.
299 * pubkey.c (sexp_elements_extract): s/index/idx/ as tribute to the
300 forehackers.
301 (gcry_pk_encrypt): Removed shadowed definition of I. Reordered
302 arguments to malloc for clarity.
303 (gcry_pk_sign, gcry_pk_genkey): Ditto.
304 * primegen.c (prime_generate_internal): s/random/randomlevel/.
305
3062003-10-27 Moritz Schulte <mo@g10code.com>
307
308 * pubkey.c (gcry_pk_encrypt): Don't forget to deallocate pkey.
309
3102003-10-27 Werner Koch <wk@gnupg.org>
311
312 * random.c (gcry_random_add_bytes): Return if buflen is zero to
313 avoid gcc warning about unsed parameter.
314 (MASK_LEVEL): Simplified; does now work for signed and unsigned
315 w/o warnings.
316
317 * md.c (md_start_debug): Removed the const from SUFFIX, because
318 this function is called from the control fucntion which does not
319 require const.
320
321 Prefixed all (pubkey,digest,cipher}_spec_* globale variables with
322 _gcry_.
323
324 * ac.c (ac_key_identifiers): Made static.
325
326 * random.c (getfnc_gather_random,getfnc_fast_random_poll): Move
327 prototypes to ..
328 * rand-internal.h: .. here
329 * random.c (getfnc_gather_random): Include rndw32 gatherer.
330 * rndunix.c, rndw32.c, rndegd.c: Include them here.
331 * rndlinux.c (_gcry_rndlinux_gather_random): Prepend the _gcry_
332 prefix. Changed all callers.
333 * rndegd.c (_gcry_rndegd_gather_random): Likewise.
334 (_gcry_rndegd_connect_socket): Likewise.
335 * rndunix.c (_gcry_rndunix_gather_random): Likewise.
336 (waitpid): Made static.
337 * rndw32.c: Removed the old and unused winseed.dll cruft.
338 (_gcry_rndw32_gather_random_fast): Renamed from
339 gather_random_fast.
340 (_gcry_rndw32_gather_random): Renamed from gather_random. Note,
341 that the changes 2003-04-08 somehow got lost.
342
343 * sha512.c (sha512_init, sha384_init): Made static.
344
345 * cipher.c (do_ctr_decrypt): Removed "return" from this void
346 function.
347
3482003-10-24 Moritz Schulte <mo@g10code.com>
349
350 * serpent.c: Fix an issue on big-endian systems.
351
352 * rndw32.c: Removed IS_MODULE -cruft.
353 * rndlinux.c (rndlinux_gather_random): Likewise.
354
3552003-10-10 Werner Koch <wk@gnupg.org>
356
357 * primegen.c (gen_prime): Bail out if NBITS is less than 16.
358 (prime_generate_internal): Initialize prime variable to suppress
359 compiler warning. Check pbits, initialize qbits when passed as
360 zero.
361
362 * primegen.c (prime_generate_internal): New arg
363 ALL_FACTORS. Changed all callers.
364 (gcry_prime_generate): Make the factors arg optional. Request
365 all_factors. Make sure PRIME is set to NULL even on error.
366 (gcry_prime_group_generator): New.
367 (gcry_prime_release_factors): New.
368
3692003-10-06 Werner Koch <wk@gnupg.org>
370
371 * primegen.c (gen_prime): Assert that NBITS is never zero, it
372 would cause a segv.
373
3742003-09-28 Moritz Schulte <mo@g10code.com>
375
376 * ac.c: Include "cipher.h".
377
3782003-09-27 Moritz Schulte <mo@g10code.com>
379
380 * rndegd.c (do_read): Return nread instead of nbytes; thanks to
381 Michael Caerwyn.
382
3832003-09-04 Werner Koch <wk@gnupg.org>
384
385 * pubkey.c (_gcry_pk_aliased_algo_name): New.
386 * ac.c (gcry_ac_open): Use it here.
387
388 * Makefile.am (EXTRA_libcipher_la_SOURCES): Add serpent.c
389
3902003-09-02 Moritz Schulte <mo@g10code.com>
391
392 * primegen.c (gcry_prime_check, gcry_prime_generate): New
393 functions.
394 (prime_generate_internal): New function, based on
395 _gcry_generate_elg_prime.
396 (_gcry_generate_elg_prime): Rewritten as a wrapper for
397 prime_generate_internal.
398
3992003-08-28 Werner Koch <wk@gnupg.org>
400
401 * pubkey.c (gcry_pk_encrypt): Don't include the flags list in the
402 return value. This does not make sense and breaks any programs
403 parsing the output strictly (e.g. current gpgsm).
404 (gcry_pk_encrypt): If aliases for the algorithm name exists, take
405 the first one instead of the regular name to adhere to SPKI
406 conventions.
407 (gcry_pk_genkey): Ditto.
408 (gcry_pk_sign): Ditto. Removed unused KEY_ALGO_NAME.
409
4102003-08-19 Moritz Schulte <mo@g10code.com>
411
412 * cipher.c: Add support for Serpent
413 * serpent.c: New file.
414
4152003-08-10 Moritz Schulte <moritz@g10code.com>
416
417 * rsa.c (_gcry_rsa_blind, _gcry_rsa_unblind): Declare static.
418
4192003-08-09 Timo Schulz <twoaday@freakmail.de>
420
421 * random.c (getfnc_gather_random): Don't check NAME_OF_DEV_RANDOM
422 two times, but also the NAME_OF_DEV_URANDOM device.
423
4242003-08-08 Moritz Schulte <moritz@g10code.com>
425
426 * pubkey.c (sexp_to_enc): Fixed extraction of S-Expression: do not
427 fail if no `flags' sub S-Expression is found.
428
4292003-07-27 Werner Koch <wk@gnupg.org>
430
431 * md.c (gcry_md_lookup_func_oid): Allow for empty OID lists.
432
4332003-07-23 Moritz Schulte <moritz@g10code.com>
434
435 * ac.c (gcry_ac_data_construct): New argument: include_flags, only
436 include `flags' S-expression, if include_flags is true. Adjust
437 callers. Thanks for triggering a bug caused by `flags'
438 sub-S-expression where they are not expected to Ralf Schneider.
439
4402003-07-21 Moritz Schulte <moritz@g10code.com>
441
442 * pubkey.c (gcry_pk_lookup_func_name): Use new member name
443 `aliases' instead of `sexp_names'.
444
445 * ac.c (gcry_ac_key_data_get): New function.
446
447 * cipher.c (gcry_cipher_lookup_func_name): Fix return value.
448
4492003-07-20 Moritz Schulte <moritz@g10code.com>
450
451 * blowfish.c: Adjusted for new gcry_cipher_spec_t structure.
452 * cast5.c: Likewise.
453 * twofish.c: Likewise.
454 * arcfour.c: Likewise.
455 * rijndael.c (rijndael_oids, rijndael192_oids, rijndael256_oids):
456 New variables, adjust for new gcry_cipher_spec_t structure.
457 * des.c (oids_tripledes): New variable, adjust for new
458 gcry_cipher_spec_t structure.
459
460 * md.c (oid_table): Removed.
461
462 * tiger.c (oid_spec_tiger): New variable.
463 (digest_spec_tiger): Adjusted for new gry_md_spec_t structure.
464
465 * sha512.c (oid_spec_sha512): New variable.
466 (digest_spec_sha512): Adjusted for new gry_md_spec_t structure.
467
468 * sha512.c (oid_spec_sha384): New variable.
469 (digest_spec_sha384): Adjusted for new gry_md_spec_t structure.
470
471 * sha256.c (oid_spec_sha256): New variable.
472 (digest_spec_sha256): Adjusted for new gry_md_spec_t structure.
473
474 * sha1.c (oid_spec_sha1): New variable.
475 (digest_spec_sha1): Adjusted for new gry_md_spec_t structure.
476
477 * rmd160.c (oid_spec_rmd160): New variable.
478 (digest_spec_rnd160): Adjusted for new gry_md_spec_t structure.
479
480 * md5.c (oid_spec_md5): New variable.
481 (digest_spec_md5): Adjusted for new gry_md_spec_t structure.
482
483 * md4.c (oid_spec_md4): New variable.
484 (digest_spec_md4): Adjusted for new gry_md_spec_t structure.
485
486 * crc.c (digest_spec_crc32, digest_spec_crc32_rfc1510,
487 digest_spec_crc32_rfc2440): Adjusted for new gry_md_spec_t
488 structure.
489
4902003-07-19 Moritz Schulte <moritz@g10code.com>
491
492 * md.c (gcry_md_lookup_func_oid): New function.
493 (search_oid): New function, copied from cipher.c.
494 (gcry_md_map_name): Adjust for new search_oid_interface.
495
496 * cipher.c (oid_table): Removed table.
497 (gcry_cipher_lookup_func_oid): New function.
498 (search_oid): Rewritten to use the module functions.
499 (gcry_cipher_map_name): Adjust for new search_oid interface.
500 (gcry_cipher_mode_from_oid): Likewise.
501
5022003-07-18 Werner Koch <wk@gnupg.org>
503
504 * md.c (gcry_md_hash_buffer): Convert ERR to gpg_error_t in
505 gpg_strerror.
506
5072003-07-14 Moritz Schulte <moritz@g10code.com>
508
509 * cipher.c (gcry_cipher_lookup_func_name): Also check the cipher
510 name aliases, not just the primary name.
511 (gcry_cipher_map_name): Remove kludge for aliasing Rijndael to
512 AES.
513
514 * arcfour.c, blowfish.c, cast5.c, des.c, twofish.c: Adjust cipher
515 specification structures.
516
517 * rijndael.c (rijndael_names, rijndael192_names,
518 rijndael256_names): New variables, use them in the cipher
519 specifications.
520
521 * rmd160test.c: Removed file.
522
523 * ac.c, arcfour.c, blowfish.c, cast5.c, cipher.c, des.c, dsa.c,
524 elgamal.c, md.c, pubkey.c, random.c, rijndael.c, rsa.c, twofish.c:
525 Used gcry_err* wrappers for libgpg symbols.
526
527 * primegen.c (gen_prime): Correct the order arguments to
528 extra_check.
529
5302003-07-12 Moritz Schulte <moritz@g10code.com>
531
532 * ac.c: Replaced all public occurences of gpg_error_t with
533 gcry_error_t.
534 * cipher.c: Likewise.
535 * md.c: Likewise.
536 * pubkey.c: Likewise.
537 * random.c: Likewise.
538
539 * cipher.c: Added support for TWOFISH128.
540
5412003-07-08 Moritz Schulte <moritz@g10code.com>
542
543 * ac.c (gcry_ac_data_copy_internal): New function, based on
544 gcry_ac_data_copy.
545 (gcry_ac_data_copy): Made public, use gcry_ac_data_copy_internal.
546 (gcry_ac_key_init): Use gcry_ac_data_copy_internal.
547
5482003-07-07 Moritz Schulte <moritz@g10code.com>
549
550 * ac.c (gcry_ac_data_set): Only release old MPI value if it is
551 different from the new value. Bug reported by Simon Josefsson
552 <jas@extundo.com>.
553
554 * pubkey.c (gcry_pk_list): New function.
555 * md.c (gcry_md_list): New function.
556
557 * ac.c (gcry_ac_key_pair_generate): Fix calculation of format
558 string size.
559
5602003-07-05 Moritz Schulte <moritz@g10code.com>
561
562 * md.c: Named struct of digest_table `digest_table_entry'.
563 (digest_table_entry): New member: algorithm; filled in.
564 (digest_table_entry): Removed unused member: flags.
565 (gcry_md_register): New argument: algorithm_id, filled in.
566 (gcry_md_register_default): Used algorithm ID from module
567 structure.
568 (gcry_md_map_name): Likewise.
569 (md_enable): Likewise.
570 (md_read): Likewise.
571 (gcry_md_info): Likewise.
572
573 * pubkey.c: Named truct for pubkey_table `pubkey_table_entry'.
574 (pubkey_table_entry): New member: algorithm; filled in.
575 (gcry_pk_register_default): Used algorithm ID from pubkey_table.
576 (gcry_pk_register): New argument: algorithm_id, filled in.
577 (gcry_pk_map_name): Used algorithm ID from module structure.
578 (gcry_pk_decrypt): Likewise.
579 (gcry_pk_encrypt): Likewise.
580 (gcry_pk_verify): Likewise.
581 (gcry_pk_sign): Likewise.
582 (gcry_pk_testkey): Likewise.
583 (gcry_pk_genkey): Likewise.
584 (gcry_pk_get_nbits): Likewise.
585 (sexp_to_key): Removed unused variable: algo.
586 (sexp_to_sig): Likewise.
587
588 * cipher.c: Named struct for cipher_table `cipher_table_entry'.
589 (cipher_table_entry): New member: algorithm; filled in.
590 (gcry_cipher_register_default): Used algorithm ID from
591 cipher_table.
592 (gcry_cipher_register): New argument: algorithm_id, filled in.
593 (gcry_cipher_map_name): Used algorithm ID from module structure.
594
595 * arcfour.c (cipher_spec_arcfour): Removed algorithm ID.
596 * blowfish.c (cipher_spec_blowfish): Likewise.
597 * cast5.c (cipher_spec_cast5): Likewise.
598 * crc.c (digest_spec_crc32): Likewise.
599 * crc.c (digest_spec_crc32_rfc1510): Likewise.
600 * crc.c (digest_spec_crc32_rfc2440): Likewise.
601 * des.c (cipher_spec_des): Likewise.
602 * des.c (cipher_spec_tripledes): Likewise.
603 * dsa.c (pubkey_spec_dsa): Likewise.
604 * elgamal.c (pubkey_spec_elg): Likewise.
605 * md4.c (digest_spec_md4): Likewise.
606 * md5.c (digest_spec_md5): Likewise.
607 * aes.c (cipher_spec_aes): Likewise.
608 * aes.c (cipher_spec_aes192): Likewise.
609 * aes.c (cipher_spec_aes256): Likewise.
610 * rsa.c (pubkey_spec_rsa): Likewise.
611 * sha1.c (digest_spec_sha1): Likewise.
612 * sha256.c (digest_spec_sha256): Likewise.
613 * sha512.c (digest_spec_sha512): Likewise.
614 * tiger.c (digest_spec_tiger): Likewise.
615 * twofish.c (cipher_spec_twofish): Likewise.
616 * twofish.c (cipher_spec_twofish128): Likewise.
617
618 * Makefile.am (EXTRA_libcipher_la_SOURCES): Fix list of source
619 files; reported by Simon Josefsson <jas@extundo.com>.
620
621 * pubkey.c: Replaced all occurences of `id' with `algorithm',
622 since `id' is a keyword in obj-c.
623 * md.c: Likewise.
624 * cipher.c: Likewise.
625
626 * crc.c, md4.c, md5.c, rmd160.c, sha1.c, sha256.c, tiger.c:
627 Replaced all occurences of gcry_digest_spec_t with gcry_md_spec_t.
628
629 * dsa.c, rsa.c, elgamal.c: Replaced all occurencens of
630 gcry_pubkey_spec_t with gcry_pk_spec_t.
631
632 * md.c: Replaced all occurences of gcry_digest_spec_t with
633 gcry_md_spec_t.
634 (gcry_digest_register_default): Renamed to ...
635 (gcry_md_register_default): ... this; adjusted callers.
636 (gcry_digest_lookup_func_name): Renamed to ...
637 (gcry_md_lookup_func_name): ... this; adjusted callers.
638 (gcry_digest_lookup_name): Renamed to ...
639 (gcry_md_lookup_name): ... this; adjusted callers.
640 (gcry_digest_register): Renamed to ...
641 (gcry_md_register): ... this.
642 (gcry_digest_unregister): Renamed to ...
643 (gcry_md_unregister): ... this.
644
645 * pubkey.c (gcry_pubkey_register): Renamed to ...
646 (gcry_pk_register): ... this.
647 (gcry_pubkey_unregister): Renamed to ...
648 (gcry_pk_unregister): ... this.
649 Replaced all occurences of gcry_pubkey_spec_t with gcry_pk_spec_t.
650 (gcry_pubkey_register_default): Renamed to ...
651 (gcry_pk_register_default): ... this; adjusted callers.
652 (gcry_pubkey_lookup_func_name): Renamed to ...
653 (gcry_pk_lookup_func_name): ... this; adjusted callers.
654 (gcry_pubkey_lookup_name): Renamed to ...
655 (gcry_pk_lookup_name): ... this; adjusted callers.
656
657 * md.c (gcry_md_hash_buffer): Fix error checking. Thanks to Simon
658 Josefsson <jas@extunde.com>.
659
6602003-07-04 Moritz Schulte <moritz@g10code.com>
661
662 * cipher.c (gcry_cipher_list): New function.
663
6642003-07-01 Moritz Schulte <moritz@g10code.com>
665
666 * pubkey.c (sexp_to_sig): Accept a `flags' S-expression to be more
667 consistent with sexp_to_enc.
668
6692003-06-30 Moritz Schulte <moritz@g10code.com>
670
671 * Makefile.am (libcipher_la_SOURCES): Added: ac.c.
672
673 * pubkey.c (_gcry_pk_module_lookup): New function.
674 (_gcry_pk_module_release): New function.
675
6762003-06-29 Moritz Schulte <moritz@g10code.com>
677
678 * ac.c: New file.
679
6802003-06-26 Werner Koch <wk@gnupg.org>
681
682 * md.c (gcry_md_hash_buffer): Trigger BUG correcly with new API.
683
6842003-06-19 Werner Koch <wk@gnupg.org>
685
686 * md.c (gcry_md_is_enabled): Fixed.
687
6882003-06-18 Werner Koch <wk@gnupg.org>
689
690 * cipher.c (gcry_cipher_get_algo_keylen): New.
691 (gcry_cipher_get_algo_blklen): New.
692
6932003-06-18 Moritz Schulte <moritz@g10code.com>
694
695 * arcfour.c, cipher.c, blowfish.c, md.c, cast5.c, pubkey.c, crc.c,
696 des.c, dsa.c, elgamal.c, md4.c, md5.c, random.c, rijndael.c,
697 rmd160.c, rsa.c, sha1.c, sha256.c, sha512.c, tiger.c, twofish.c:
698 Replaced older types GcryDigestSpec, GcryCipherSpec and
699 GcryPubkeySpec with newer types: gcry_digest_spec_t,
700 gcry_cipher_spec_t and gcry_pubkey_spec_t.
701
702 * md.c (gcry_digest_id_new): Removed function.
703 (gcry_digest_register): Removed code for generating a new module
704 ID.
705
706 * pubkey.c (gcry_pubkey_id_new): Removed function.
707 (gcry_pubkey_register): Removed code for generating a new module
708 ID.
709
710 * cipher.c, md.c, pubkey.c: Replace old type GcryModule with newer
711 one: gcry_module_t.
712 (gcry_cipher_id_new): Removed function.
713 (gcry_cipher_register): Removed code for generating a new module
714 ID.
715
716 * cipher.c (gcry_cipher_register): Adjust call to
717 _gcry_module_add.
718 (gcry_cipher_register_default): Likewise.
719 * pubkey.c (gcry_pubkey_register_default): Likewise.
720 (gcry_pubkey_register): Likewise.
721 * md.c (gcry_digest_register_default): Likewise.
722 (gcry_digest_register): Likewise.
723
724 * md.c (gcry_digest_lookup_func_id): Removed function.
725 (gcry_digest_lookup_id): Likewise.
726 (gcry_digest_id_new): Use _gcry_module_lookup_id instead of
727 gcry_digest_lookup_id.
728 (digest_algo_to_string): Likewise.
729 (check_digest_algo): Likewise.
730 (md_enable): Likewise.
731 (md_digest_length): Likewise.
732 (md_asn_oid): Likewise.
733
734 * pubkey.c (gcry_pubkey_lookup_id): Removed function.
735 (gcry_pubkey_lookup_func_id): Likewise.
736 (gcry_pubkey_id_new): Use _gcry_module_lookup_id instead of
737 gcry_pubkey_id_new.
738 (gcry_pk_algo_name): Likewise.
739 (disable_pubkey_algo): Likewise.
740 (check_pubkey_algo): Likewise.
741 (pubkey_get_npkey): Likewise.
742 (pubkey_get_nskey): Likewise.
743 (pubkey_get_nsig): Likewise.
744 (pubkey_get_nenc): Likewise.
745 (pubkey_generate): Likewise.
746 (pubkey_check_secret_key): Likewise.
747 (pubkey_encrypt): Likewise.
748 (pubkey_decrypt): Likewise.
749 (pubkey_sign): Likewise.
750 (pubkey_verify): Likewise.
751 (gcry_pk_algo_info): Likewise.
752
753 * cipher.c (gcry_cipher_lookup_func_id): Removed function.
754 (gcry_cipher_lookup_id): Likewise.
755 (cipher_algo_to_string): use _gcry_module_lookup_id instead of
756 gcry_cipher_lookup_id.
757 (disable_cipher_algo): Likewise.
758 (check_cipher_algo): Likewise.
759 (cipher_get_blocksize): Likewise.
760 (gcry_cipher_open): Likewise.
761 (gcry_cipher_id_new): Likewise.
762
7632003-06-17 Moritz Schulte <moritz@g10code.com>
764
765 * Makefile.am (GCRYPT_MODULES): Set to @GCRYPT_CIPHERS@,
766 @GCRYPT_PUBKEY_CIPHERS@, @GCRYPT_DIGESTS@ and @GCRYPT_RANDOM@.
767 (libcipher_la_DEPENDENCIES): Set to $(GCRYPT_MODULES).
768 (libcipher_la_LIBADD): Likewise.
769 (AM_CFLAGS): Added: @GPG_ERROR_CFLAGS@.
770 (EXTRA_libcipher_la_SOURCES): Added all conditional sources.
771
772 * md.c (md_open): Use _gcry_fast_random_poll instead of
773 fast_random_poll.
774 * cipher.c (gcry_cipher_open): Likewise.
775
776 * random.h (fast_random_poll): Removed macro.
777
778 * blowfish.c, md4.c, md5.c, rmd160.c, sha1.c, sha256.c, sha512.c,
779 tiger.c: Use Autoconf's WORDS_BIGENDIAN instead of our own
780 BIG_ENDIAN_HOST.
781
7822003-06-16 Moritz Schulte <moritz@g10code.com>
783
784 * random.c (getfnc_gather_random): Do not special-case
785 USE_ALL_RANDOM_MODULES, make it the default.
786
787 * dsa.c: Replace last occurences of old type names with newer
788 names (i.e. replace MPI with gcry_mpi_t).
789 * elgamal.c: Likewise.
790 * primegen.c: Likewise.
791 * pubkey.c: Likewise.
792 * rsa.c: Likewise.
793
7942003-06-14 Moritz Schulte <moritz@g10code.com>
795
796 * des.c (des_setkey): Add selftest check.
797 (tripledes_set3keys): Likewise.
798 (do_tripledes_setkey): Remove selftest check.
799 (do_des_setkey): Likewise.
800
8012003-06-11 Moritz Schulte <moritz@g10code.com>
802
803 * md.c (_gcry_md_init): New function.
804 * cipher.c (_gcry_cipher_init): New function.
805 * pubkey.c (_gcry_pk_init): New function.
806
8072003-06-13 Werner Koch <wk@gnupg.org>
808
809 * md.c (gcry_md_get_algo): Reverted to old API. This is a
810 convenience function anyway and error checking is not approriate.
811 (gcry_md_is_secure): New.
812 (gcry_md_is_enabled): New.
813
8142003-06-12 Werner Koch <wk@gnupg.org>
815
816 * cipher.c (gcry_cipher_open): Make sure HANDLE is set to NULL on
817 error.
818
8192003-06-11 Werner Koch <wk@gnupg.org>
820
821 * md.c (gcry_md_open): Make sure H receives either NULL or an
822 valid handle.
823 (gcry_md_copy): Swapped arguments so that it is more in lione with
824 md_open and most other API fucntions like memcpy (destination
825 comes first). Make sure HANDLE is set to NULL on error.
826
827 * rijndael.c (do_encrypt): Hack to force correct alignment. It
828 seems not to be not sufficient, though. We should rework this
829 fucntions and remove all these ugly casts. Let the compiler
830 optimize or have an assembler implementation.
831
8322003-06-09 Moritz Schulte <moritz@g10code.com>
833
834 * Makefile.am: Removed rules serpent, since that is not commited
835 yet.
836
8372003-06-08 Moritz Schulte <moritz@g10code.com>
838
839 * pubkey.c (gcry_pk_encrypt): Improve calculation for size of the
840 format string.
841
8422003-06-07 Moritz Schulte <moritz@g10code.com>
843
844 * arcfour.c, bithelp.h, blowfish.c, cast5.c, cipher.c, crc.c,
845 des.c, dsa.c, elgamal.c, md4.c, md5.c, md.c, primegen.c, pubkey.c,
846 rand-internal.h, random.c, random.h, rijndael.c, rmd160.c,
847 rmd160test.c, rmd.h, rndeged.c, rndlinux.c, rndunix.c, rndw32.c,
848 rsa.c, sha1.c, sha256.c, sha512.c, tiger.c, twofish.c: Edited all
849 preprocessor instructions to remove whitespace before the '#'.
850 This is not required by C89, but there are some compilers out
851 there that don't like it. Replaced any occurence of the now
852 deprecated type names with the new ones.
853
8542003-06-04 Moritz Schulte <moritz@g10code.com>
855
856 * pubkey.c (gcry_pk_encrypt): Construct an arg_list and use
857 gcry_sexp_build_array instead of gcry_sexp_build.
858 (gcry_pk_sign): Likewise.
859 (gcry_pk_genkey): Likewise.
860
8612003-06-01 Moritz Schulte <moritz@g10code.com>
862
863 * dsa.c (_gcry_dsa_generate): Do not check wether the algorithm ID
864 does indeed belong to DSA.
865 (_gcry_dsa_sign): Likewise.
866 (_gcry_dsa_verify): Likewise.
867 (_gcry_dsa_get_nbits): Likewise.
868
869 * elgamal.c (_gcry_elg_check_secret_key): Do not check wether the
870 algorithm ID does indeed belong to ElGamal.
871 (_gcry_elg_encrypt): Likewise.
872 (_gcry_elg_decrypt): Likewise.
873 (_gcry_elg_sign): Likewise.
874 (_gcry_elg_verify): Likewise.
875 (_gcry_elg_get_nbits): Likewise.
876 (_gcry_elg_generate): Likewise.
877
878 * rsa.c (_gcry_rsa_generate): Do not check wether the algorithm ID
879 does indeed belong to RSA.
880 (_gcry_rsa_encrypt): Likewise.
881 (_gcry_rsa_decrypt): Likewise.
882 (_gcry_rsa_sign): Likewise.
883 (_gcry_rsa_verify): Likewise.
884 (_gcry_rsa_get_nbits): Likewise.
885
8862003-05-30 Moritz Schulte <moritz@g10code.com>
887
888 * md.c (md_get_algo): Return zero in case to algorithm is enabled.
889
890 * md.c (gcry_md_info): Adjusted for new no-errno-API.
891 (md_final): Likewise.
892 (gcry_md_get_algo): Likewise.
893 * pubkey.c (gcry_pk_get_keygrip): Likewise.
894 (gcry_pk_ctl): Likewise.
895 (gcry_pk_algo_info): Likewise.
896 * des.c (selftest): Likewise.
897
8982003-05-29 Moritz Schulte <moritz@g10code.com>
899
900 * md.c (md_enable): Do not forget to release module on error.
901 (gcry_md_open): Adjusted for new no-errno-API.
902 (md_open): Likewise.
903 (md_copy): Likewise.
904 (gcry_md_copy): Likewise.
905 (gcry_md_setkey): Likewise.
906 (gcry_md_algo_info): Likewise.
907
908 * cipher.c (gcry_cipher_open): Adjusted for new no-errno-API and
909 also fixed a locking bug.
910 (gcry_cipher_encrypt): Adjusted for new no-errno-API.
911 (gcry_cipher_decrypt): Likewise.
912 (gcry_cipher_ctl): Likewise.
913 (gcry_cipher_info): Likewise.
914 (gcry_cipher_algo_info): Likewise.
915
9162003-05-28 Moritz Schulte <moritz@g10code.com>
917
918 * md.c (md_enable): Adjusted for libgpg-error.
919 (gcry_md_enable): Likewise.
920 (gcry_digest_register_default): Likewise.
921 (gcry_digest_register): Likewise.
922 (check_digest_algo): Likewise.
923 (prepare_macpads): Likewise.
924 (gcry_md_setkey): Likewise.
925 (gcry_md_ctl): Likewise.
926 (gcry_md_get): Likewise.
927 (gcry_md_algo_info): Likewise.
928 (gcry_md_info): Likewise.
929 * dsa.c (_gcry_dsa_generate): Likewise.
930 (_gcry_dsa_check_secret_key): Likewise.
931 (_gcry_dsa_sign): Likewie.
932 (_gcry_dsa_verify): Likewise.
933 * twofish.c (do_twofish_setkey): Likewise.
934 (twofish_setkey): Likewise.
935 * cipher.c (gcry_cipher_register): Likewise.
936
9372003-05-25 Moritz Schulte <moritz@g10code.com>
938
939 * rijndael.c (do_setkey): Adjusted for libgpg-error.
940 (rijndael_setkey): Likewise.
941 * random.c (gcry_random_add_bytes): Likewise.
942 * elgamal.c (_gcry_elg_generate): Likewise.
943 (_gcry_elg_check_secret_key): Likewise.
944 (_gcry_elg_encrypt): Likewise.
945 (_gcry_elg_decrypt): Likewise.
946 (_gcry_elg_sign): Likewise.
947 (_gcry_elg_verify): Likewise.
948 * rsa.c (_gcry_rsa_generate): Likewise.
949 (_gcry_rsa_check_secret_key): Likewise.
950 (_gcry_rsa_encrypt): Likewise.
951 (_gcry_rsa_decrypt): Likewise.
952 (_gcry_rsa_sign): Likewise.
953 (_gcry_rsa_verify): Likewise.
954 * pubkey.c (dummy_generate, dummy_check_secret_key, dummy_encrypt,
955 dummy_decrypt, dummy_sign, dummy_verify): Likewise.
956 (gcry_pubkey_register): Likewise.
957 (check_pubkey_algo): Likewise.
958 (pubkey_generate): Likewise.
959 (pubkey_check_secret_key): Likewise.
960 (pubkey_encrypt): Likewise.
961 (pubkey_decrypt): Likewise.
962 (pubkey_sign): Likewise.
963 (pubkey_verify): Likewise.
964 (sexp_elements_extract): Likewise.
965 (sexp_to_key): Likewise.
966 (sexp_to_sig): Likewise.
967 (sexp_to_enc): Likewise.
968 (sexp_data_to_mpi): Likewise.
969 (gcry_pk_encrypt): Likewise.
970 (gcry_pk_decrypt): Likewise.
971 (gcry_pk_sign): Likewise.
972 (gcry_pk_verify): Likewise.
973 (gcry_pk_testkey): Likewise.
974 (gcry_pk_genkey): Likewise.
975 (gcry_pk_ctl): Likewise.
976 * cipher.c (dummy_setkey): Likewise.
977 (check_cipher_algo): Likewise.
978 (gcry_cipher_open): Likewise.
979 (cipher_setkey): Likewise.
980 (gcry_cipher_ctl): Likewise.
981 (cipher_encrypt): Likewise.
982 (gcry_cipher_encrypt): Likewise.
983 (cipher_decrypt): Likewise.
984 (gcry_cipher_decrypt): Likewise.
985 (gcry_cipher_info): Likewise.
986 (gcry_cipher_algo_info): Likewise.
987 * cast5.c (cast_setkey): Likewise.
988 (do_cast_setkey): Likewise.
989 * arcfour.c (arcfour_setkey): Likewise.
990 (do_arcfour_setkey): Likewise.
991 * blowfish.c (do_bf_setkey): Likewise.
992 (bf_setkey): Likewise.
993 * des.c (do_des_setkey): Likewise.
994 (do_tripledes_setkey): Likewise.
995
9962003-05-22 Moritz Schulte <moritz@g10code.com>
997
998 * tiger.c: Merged code ussing the U64_C macro from GnuPG.
999
1000 * sha512.c: Likewise.
1001
10022003-05-17 Moritz Schulte <moritz@g10code.com>
1003
1004 * pubkey.c (gcry_pk_genkey): Fix type: acquire a lock, instead of
1005 releasing it.
1006
10072003-05-11 Moritz Schulte <moritz@g10code.com>
1008
1009 * pubkey.c (gcry_pk_testkey): Call REGISTER_DEFAULT_CIPHERS.
1010 (gcry_pk_ctl): Likewise.
1011
10122003-04-27 Moritz Schulte <moritz@g10code.com>
1013
1014 * pubkey.c (gcry_pk_genkey): Release sexp after extracted data has
1015 been used.
1016
1017 * md.c (gcry_md_get_algo_dlen): Simplified, simply call
1018 md_digest_length to do the job.
1019
1020 * des.c (do_des_setkey): Check for selftest failure not only
1021 during initialization.
1022 (do_tripledes_setkey): Include check for selftest failure.
1023
1024 * pubkey.c (gcry_pubkey_register_default): New macro
1025 `pubkey_use_dummy', use it.
1026
1027 * elgamal.c (elg_names): New variable.
1028 (pubkey_spec_elg): Include elg_names.
1029
1030 * dsa.c (dsa_names): New variable.
1031 (pubkey_spec_dsa): Include dsa_names.
1032
1033 * rsa.c (rsa_names): New variable.
1034 (pubkey_spec_rsa): Include rsa_names.
1035
1036 * pubkey.c (gcry_pubkey_lookup_func_name): Compare name also with
1037 the names listed in `sexp_names'.
1038
10392003-04-24 Moritz Schulte <moritz@g10code.com>
1040
1041 * pubkey.c (sexp_to_key): New variables: module, pubkey. Adjusted
1042 to new module interface.
1043 (sexp_to_key): Changend type of argument `retalgo' from `int *' to
1044 `GcryModule **'. Adjusted all callers. Removed argument:
1045 r_algotblidx.
1046 (sexp_to_sig): Changend type of argument `retalgo' from `int *' to
1047 `GcryModule **'. Adjusted all callers.
1048 (sexp_to_enc): Likewise.
1049
1050 (pubkey_get_npkey, pubkey_get_nskey, pubkey_get_nsig,
1051 pubkey_get_nenc): Use strlen to find out the number.
1052
1053 * rsa.c: Adjust pubkey_spec_rsa to new internal interface.
1054 * dsa.c: Likewise.
1055 * elgamal.c: Likewise.
1056
10572003-04-17 Moritz Schulte <moritz@g10code.com>
1058
1059 * pubkey.c (sexp_elements_extract): New function.
1060 * pubkey.c (sexp_to_key): Removed variable `idx', added `err', use
1061 sexp_elements_extract.
1062 (sexp_to_sig): Likewise.
1063 (sexp_to_enc): Likewise.
1064
1065 * pubkey.c: Terminate list correctly.
1066 * md.c: Include sha512/sha384 in digest_table.
1067
10682003-04-16 Moritz Schulte <moritz@g10code.com>
1069
1070 * Makefile.am: Include support for sha512.c.
1071
1072 * sha512.c: New file, merged from GnuPG, with few modifications
1073 for libgcrypt.
1074
1075 * rand-internal.h: Removed declarations for constructor functions.
1076
1077 * md.c (md_copy): Call _gcry_module_use for incrementing the usage
1078 counter of the digest modules.
1079
1080 * rsa.c: Do not include "rsa.h".
1081 * dsa.c: Do not include "dsa.h".
1082 * elgamal.c: Do not include "elgamal.h".
1083 * des.c: Do not include "des.h".
1084 * cast5.c: Do not include "cast5.h".
1085 * blowfish.c: Do not include "blowfish.h".
1086 * arcfour.c: Do not include "arcfour.h".
1087
1088 * Makefile.am (libcipher_la_DEPENDENCIES): Removed.
1089 (libcipher_la_LIBADD): Removed.
1090 Use Automake conditionals for conditional compilation.
1091
10922003-04-13 Moritz Schulte <moritz@g10code.com>
1093
1094 * cipher.c (gcry_cipher_open): Call REGISTER_DEFAULT_CIPHERS.
1095
1096 * md.c (gcry_md_list): New member: module.
1097 (md_enable): New variable: module, changed use of module and
1098 digest.
1099 (md_enable): Initialize member: module.
1100 (md_close): Call _gcry_module_release.
1101
1102 * cipher.c (gcry_cipher_open): New variable: module, changed use of
1103 module and cipher.
1104 (struct gcry_cipher_handle): New member: module.
1105 (gcry_cipher_open): Initialize member: module.
1106 (gcry_cipher_close): Call _gcry_module_release.
1107
11082003-04-09 Moritz Schulte <moritz@g10code.com>
1109
1110 * cipher.c: Include "ath.h".
1111 * md.c: Likewise.
1112 * pubkey.c: Likewise.
1113
1114 * cipher.c (ciphers_registered_lock): New variable.
1115 * md.c (digests_registered_lock): New variable.
1116 * pubkey.c (pubkeys_registered_lock): New variable.
1117
1118 * rndlinux.c (gnupgext_version, func_table): Removed definitions.
1119 (gnupgext_enum_func): Removed function.
1120 (_gcry_rndlinux_constructor): Removed function.
1121
1122 * rndegd.c (gnupgext_version, func_table): Removed definitions.
1123 (gnupgext_enum_func): Removed function.
1124 (_gcry_rndegd_constructor): Removed function.
1125
1126 * rndunix.c (gnupgext_version, func_table): Removed definitions.
1127 (gnupgext_enum_func): Removed function.
1128 (_gcry_rndunix_constructor): Removed function.
1129
1130 * rndw32.c (gnupgext_version, func_table): Removed definitions.
1131 (gnupgext_enum_func): Removed function.
1132 (_gcry_rndw32_constructor): Removed function.
1133
1134 * rndegd.c (rndegd_connect_socket): Simplify code for creating the
1135 egd socket address.
1136 (rndegd_connect_socket): Call log_fatal use instead of
1137 g10_log_fatal.
1138 (egd_gather_random): Renamed to ...
1139 (rndegd_gather_random): ... here.
1140
11412003-04-08 Moritz Schulte <moritz@g10code.com>
1142
1143 * rndlinux.c: Do not include "dynload.h".
1144 * rndunix.c: Likewise.
1145 * rndw32.c: Likewise.
1146
1147 * rndegd.c (rndegd_connect_socket): Factored out from ...
1148 (egd_gather_random): here; call it.
1149 (egd_socket): New variable.
1150 (egd_gather_random): Initialize fd with egd_socket, do not declare
1151 fd static.
1152 (do_read): Merged few changes from GnuPG. FIXME - not finished?
1153 Do not include "dynload.h".
1154
1155 * rndw32.c (gather_random): Renamed to rndw32_gather_random, do
1156 not declare static.
1157 (gather_random_fast): Renamed to rndw32_gather_random_fast, do not
1158 declare static.
1159
1160 * rndunix.c (gather_random): Renamed to rndunix_gather_random, do
1161 not declare static.
1162 * rndegd.c (gather_random): Renamed to rndegd_gather_random, do
1163 not declare static.
1164 * rndlinux.c (gather_random): Renamed to rndlinux_gather_random,
1165 do not declare static.
1166
11672003-04-07 Moritz Schulte <moritz@g10code.com>
1168
1169 * Makefile.am (libcipher_la_SOURCES): Removed construct.c.
1170 (libcipher_la_SOURCES): Added sha1.c, sha256.c, rmd160.c, md4.c,
1171 md5.c, tiger.c and crc.c
1172 (EXTRA_PROGRAMS): Removed sha1, sha256, rmd160, md4, md5, tiger
1173 and crc. Removed definitions: EXTRA_md4_SOURCES,
1174 EXTRA_md5_SOURCES, EXTRA_rmd160_SOURCES, EXTRA_sha1_SOURCES,
1175 EXTRA_sha256_SOURCES, EXTRA_tiger_SOURCES and EXTRA_crc_SOURCES,
1176 BUILT_SOURCES, DISTCLEANFILES.
1177
1178 * pubkey.c: Do not include "elgamal.h", "dsa.h" and "rsa.h".
1179
1180 * Makefile.am (libcipher_la_SOURCES): Removed rsa.h, elgamal.h,
1181 dsa.h, des.h, cast5.h, arcfour.h and blowfish.h.
1182
1183 * rsa.h: Removed file.
1184 * elgamal.h: Removed file.
1185 * dsa.h: Removed file.
1186 * des.h: Removed file.
1187 * cast5.h: Removed file.
1188 * arcfour.h: Removed file.
1189 * blowfish.h: Removed file.
1190
1191 * Makefile.am (libcipher_la_SOURCES): Removed dynload.c and
1192 dynload.h.
1193
1194 * rsa.c (pubkey_spec_rsa): New variable.
1195 * dsa.c (pubkey_spec_rsa): New variable.
1196 * elgamal.c (pubkey_spec_elg): New variable.
1197
1198 * rsa.c (_gcry_rsa_get_info): Removed function.
1199 * elgamal.c (_gcry_elg_get_info): Removed function.
1200 * dsa.c (_gcry_dsa_get_info): Removed function.
1201
1202 * tiger.c (tiger_get_info): Removed function.
1203 (gnupgext_version, func_table): Removed definitions.
1204 (gnupgext_enum_func): Removed function.
1205 (_gcry_tiger_constructor): Removed function.
1206
1207 * sha1.c (sha1_get_info): Removed function.
1208 (gnupgext_version, func_table): Removed definitions.
1209 (gnupgext_enum_func): Removed function.
1210 (_gcry_sha1_constructor): Removed function.
1211
1212 * sha256.c (sha256_get_info): Removed function.
1213 (gnupgext_version, func_table): Removed definitions.
1214 (gnupgext_enum_func): Removed function.
1215 (_gcry_sha256_constructor): Removed function.
1216
1217 * rmd160.c (rmd160_get_info): Removed function.
1218 (gnupgext_version, func_table): Removed definitions.
1219 (gnupgext_enum_func): Removed function.
1220 (_gcry_rmd160_constructor): Removed function.
1221
1222 * md5.c (md5_get_info): Removed function.
1223 (gnupgext_version, func_table): Removed definitions.
1224 (gnupgext_enum_func): Removed function.
1225 (_gcry_md5_constructor): Removed function.
1226
1227 * md4.c (md4_get_info): Removed function.
1228 (gnupgext_version, func_table): Removed definitions.
1229 (gnupgext_enum_func): Removed function.
1230 (_gcry_md4_constructor): Removed function.
1231
1232 * crc.c (crc_get_info): Removed function.
1233
1234 * arcfour.c (do_arcfour_setkey): Changed type of context argument
1235 to `void *', added local variable for cast, adjusted callers.
1236 (arcfour_setkey): Likewise.
1237 (encrypt_stream): Likewise.
1238 * cast5.c (cast_setkey): Likewise.
1239 (encrypt_block): Likewise.
1240 * rijndael.c (rijndael_setkey): Likewise.
1241 (rijndael_encrypt): Likewise.
1242 (rijndael_decrypt): Likewise.
1243 * twofish.c (twofish_setkey): Likewise.
1244 (twofish_encrypt): Likewise.
1245 (twofish_decrypt): Likewise.
1246 * des.c (do_des_setkey): Likewise.
1247 (do_des_encrypt): Likewise.
1248 (do_des_encrypt): Likewise.
1249 (do_tripledes_encrypt): Likewise.
1250 (do_tripledes_encrypt): Likewise.
1251 * blowfish.c (bf_setkey: Likewise.
1252 (encrypt_block): Likewise.
1253 (decrypt_block): Likewise.
1254
1255 * arcfour.c (encrypt_stream): Likewise.
1256
1257 * rijndael.c (gnupgext_version, func_table): Removed definitions.
1258 (gnupgext_enum_func) Removed function.
1259
1260 * twofish.c (gnupgext_version, func_table): Removed definitions.
1261 (gnupgext_enum_func) Removed function.
1262
1263 * cast5.c (CIPHER_ALGO_CAST5): Removed.
1264
1265 * blowfish.c (FNCCAST_SETKEY, FNCCAST_CRYPT): Removed macros.
1266 (CIPHER_ALGO_BLOWFISH): Removed symbol.
1267 * cast5.c (FNCCAST_SETKEY, FNCCAST_CRYPT): Likewise.
1268 * des.c (selftest_failed): Removed.
1269 (initialized): New variable.
1270 (do_des_setkey): Run selftest, if not yet done.
1271 (FNCCAST_SETKEY, FNCCAST_CRYPT): Removed macros.
1272
1273 * arcfour.c (_gcry_arcfour_get_info): Removed function.
1274 * blowfish.c (_gcry_blowfish_get_info): Removed function.
1275 * cast5.c (_gcry_cast5_get_info): Removed function.
1276 * des.c (_gcry_des_get_info): Removed function.
1277 * rijndael.c (_gcry_rijndael_get_info): Removed function.
1278 * twofish.c (_gcry_twofish_get_info): Removed function.
1279
1280 * arcfour.c (cipher_spec_arcfour): New variable.
1281 * twofish.c (cipher_spec_twofish, cipher_spec_twofish128): New
1282 variables.
1283 * rijndael.c (cipher_spec_aes, cipher_spec_aes192,
1284 cipher_spec256): New variables.
1285 * des.c (cipher_spec_des, cipher_spec_tripledes): New variables.
1286 * cast5.c (cipher_spec_cast5): New variable.
1287 * blowfish.c (cipher_spec_blowfish): Likewise.
1288
1289 * twofish.c: Do not include "dynload.h".
1290 * rijndael.c: Likewise.
1291 * des.c: Likewise.
1292 * cast5.c: Likewise.
1293 * blowfish.c: Likewise.
1294 * cipher.c: Likewise.
1295 * crc.c: Likewise.
1296 * md4.c: Likewise.
1297 * md5.c: Likewise.
1298 * md.c: Likewise.
1299 * pubkey.c: Likewise.
1300 * rijndael.c: Likewise.
1301 * sha1.c: Likewise.
1302 * sha256.c: Likewise.
1303
1304 * arcfour.c: Include "cipher.h".
1305 * twofish.c: Likewise.
1306 * rijndael.c: Likewise.
1307 * des.c: Likewise.
1308 * cast5.c: Likewise.
1309 * blowfish.c: Likewise.
1310
1311 * twofish.c (twofish_setkey): Declared argument `key' const.
1312 (twofish_encrypt): Declared argument `inbuf' const.
1313 (twofish_decrypt): Likewise.
1314
1315 * rijndael.c (rijndael_setkey): Declared argument `key' const.
1316 (rijndael_encrypt): Declared argument `inbuf' const.
1317 (rijndael_decrypt): Likewise.
1318
1319 * des.c (do_des_setkey): Declared argument `key' const.
1320 (do_tripledes_setkey): Likewise.
1321 (do_des_encrypt): Declared argument `inbuf' const.
1322 (do_des_decrypt): Likewise.
1323 (do_tripledes_encrypt): Likewise.
1324 (do_tripledes_decrypt): Likewise.
1325
1326 * cast5.c (encrypt_block): Declared argument `inbuf' const.
1327 (decrypt_block): Likewise.
1328 (cast_setkey): Declared argument `key' const.
1329
1330 * blowfish.c (do_bf_setkey): Declared argument `key' const.
1331 (encrypt_block): Declared argument `inbuf' const.
1332 (encrypt_block): Likewise.
1333
1334
1335
1336 * cipher.c: Remove CIPHER_ALGO_DUMMY related code.
1337 Removed struct cipher_table_s.
1338 Changed definition of cipher_table.
1339 Removed definition of disabled_algos.
1340 (ciphers_registered, default_ciphers_registered): New variables.
1341 (REGISTER_DEFAULT_CIPHERS): New macro.
1342 (dummy_setkey): Declared argument `key' const.
1343 (dummy_encrypt_block): Declared argument `inbuf' const.
1344 (dummy_encrypt_block): Likewise.
1345 (dummy_encrypt_stream): Likewise.
1346 (dummy_encrypt_stream): Likewise.
1347 (dummy_setkey): Use `unsigned char' instead of `byte'.
1348 (dummy_encrypt_block): Likewise.
1349 (dummy_decrypt_block): Likewise.
1350 (dummy_encrypt_stream): Likewise.
1351 (dummy_decrypt_stream): Likewise.
1352 (gcry_cipher_register_default): New function.
1353 (gcry_cipher_lookup_func_id): New function.
1354 (gcry_cipher_lookup_func_name): New function.
1355 (gcry_cipher_lookup_id): New function.
1356 (gcry_cipher_lookup_name): New function.
1357 (gcry_cipher_id_new): New function.
1358 (gcry_cipher_register): New function.
1359 (gcry_cipher_unregister): New function.
1360 (setup_cipher_table): Removed function.
1361 (load_cipher_modules): Removed function.
1362 (gcry_cipher_map_name): Adjusted to use new module management.
1363 (cipher_algo_to_string): Likewise.
1364 (disable_cipher_algo): Likewise.
1365 (check_cipher_algo): Likewise.
1366 (cipher_get_keylen): Likewise.
1367 (cipher_get_blocksize): Likewise.
1368 (gcry_cipher_open): Likewise.
1369 (struct gcry_cipher_handle): Replaced members algo, algo_index,
1370 blocksize, setkey, encrypt, decrypt, stencrypt, stdecrypt with one
1371 member: cipher.
1372 (gcry_cipher_open): Adjusted code for new handle structure.
1373 (cipher_setkey): Likewise.
1374 (cipher_setiv): Likewise.
1375 (cipher_reset): Likewise.
1376 (do_ecb_encrypt): Likewise.
1377 (do_ecb_decrypt): Likewise.
1378 (do_cbc_encrypt): Likewise.
1379 (do_cbc_decrypt): Likewise.
1380 (do_cfb_encrypt): Likewise.
1381 (do_cfb_decrypt): Likewise.
1382 (do_ctr_encrypt): Likewise.
1383 (cipher_encrypt): Likewise.
1384 (gcry_cipher_encrypt): Likewise.
1385 (cipher_decrypt): Likewise.
1386 (gcry_cipher_decrypt): Likewise.
1387 (cipher_sync): Likewise.
1388 (gcry_cipher_ctl): Likewise.
1389
1390 * pubkey.c: Removed struct pubkey_table_s.
1391 Changed definition of pubkey_table.
1392 Removed definition of disabled_algos.
1393 (pubkeys_registered, default_pubkeys_registered): New variables.
1394 (REGISTER_DEFAULT_PUBKEYS): New macro.
1395 (setup_pubkey_table): Removed function.
1396 (load_pubkey_modules): Removed function.
1397 (gcry_pubkey_register_default): New function.
1398 (gcry_pubkey_lookup_func_id): New function.
1399 (gcry_pubkey_lookup_func_name): New function.
1400 (gcry_pubkey_lookup_id): New function.
1401 (gcry_pubkey_lookup_name): New function.
1402 (gcry_pubkey_id_new): New function.
1403 (gcry_pubkey_register): New function.
1404 (gcry_pubkey_unregister): New function.
1405 (gcry_pk_map_name): Adjusted to use new module management.
1406 (gcry_pk_algo_name): Likewise.
1407 (disable_pubkey_algo): Likewise.
1408 (check_pubkey_algo): Likewise.
1409 (pubkey_get_npkey): Likewise.
1410 (pubkey_get_nskey): Likewise.
1411 (pubkey_get_nsig): Likewise.
1412 (pubkey_get_nenc): Likewise.
1413 (pubkey_generate): Likewise.
1414 (pubkey_check_secret_key): Likewise.
1415 (pubkey_encrypt): Likewise.
1416 (pubkey_decrypt): Likewise.
1417 (pubkey_sign): Likewise.
1418 (pubkey_verify): Likewise.
1419 (gcry_pk_get_nbits): Likewise.
1420 (gcry_pk_algo_info): Likewise.
1421
1422 * md.c: Removed struct md_digest_list_s.
1423 (digest_list): Changed definition.
1424 (digests_registered, default_digests_registered): New variables.
1425 (REGISTER_DEFAULT_DIGESTS): New macro.
1426 (new_list_item): Removed function.
1427 (setup_md_table): Removed function.
1428 (load_digest_module): Removed function.
1429 (gcry_digest_register_default): New function.
1430 (gcry_digest_lookup_func_id): New function.
1431 (gcry_digest_lookup_func_name): New function.
1432 (gcry_digest_lookup_id): New function.
1433 (gcry_digest_lookup_name): New function.
1434 (gcry_digest_id_new): New function.
1435 (gcry_digest_register): New function.
1436 (gcry_digest_unregister): New function.
1437 (GcryDigestEntry): New type.
1438 (struct gcry_md_context): Adjusted type of `list'.
1439 (gcry_md_map_name): Adjusted to use new module management.
1440 (digest_algo_to_string): Likewise.
1441 (check_digest_algo): Likewise.
1442 (md_enable): Likewise.
1443 (md_digest_length): Likewise.
1444 (md_asn_oid): Likewise.
1445
14462003-04-07 Moritz Schulte <moritz@g10code.com>
1447
1448 * pubkey.c: Replaced PUBKEY_ALGO_DSA with GCRY_PK_DSA,
1449 PUBKEY_ALGO_RSA with GCRY_PK_RSA and PUBKEY_ALGO_ELGAMAL with
1450 GCRY_PK_ELG.
1451
1452 * dsa.c: Replaced PUBKEY_ALGO_DSA with GCRY_PK_DSA.
1453
14542003-04-01 Moritz Schulte <moritz@g10code.com>
1455
1456 * des.c: Removed checks for GCRY_CIPHER_3DES and GCRY_CIPHER_DES.
1457
14582003-03-31 Moritz Schulte <moritz@g10code.com>
1459
1460 * tiger.c (tiger_get_info): Do not declare static.
1461 * sha256.c (sha256_get_info): Likewise.
1462 * sha1.c (sha1_get_info): Likewise.
1463 * rmd160.c (rmd160_get_info): Likewise.
1464 * md5.c (md5_get_info): Likewise.
1465 * md4.c (md4_get_info): Likewise.
1466 * crc.c (crc_get_info): Likewise.
1467
1468 * md.c (load_digest_module): Call setup_md_table during
1469 initialization.
1470 (new_list_item): Link new element into digest_list.
1471
1472 * cipher.c (do_ctr_decrypt): Made do_ctr_encrypt act as a wrapper
1473 for do_ctr_encrypt, since these functions are identical.
1474
14752003-03-30 Simon Josefsson <jas@extundo.com>
1476
1477 * cipher.c (struct gcry_cipher_handle): Add counter field.
1478 (gcry_cipher_open): Add CTR.
1479 (cipher_reset): Clear counter field.
1480 (do_ctr_encrypt, do_ctr_decrypt): New functions.
1481 (cipher_encrypt, cipher_decrypt): Call CTR functions.
1482 (gcry_cipher_ctl): Add SET_CTR to set counter.
1483
14842003-03-30 Moritz Schulte <moritz@g10code.com>
1485
1486 * rsa.c (_gcry_rsa_blind): New function.
1487 (_gcry_rsa_unblind): New function.
1488 (_gcry_rsa_decrypt): Use _gcry_rsa_blind and _gcry_rsa_decrypt.
1489
14902003-03-26 Moritz Schulte <moritz@g10code.com>
1491
1492 * dynload.c (_gcry_enum_gnupgext_pubkeys): Adjust `encrypt' and
1493 `decrypt' function arguments.
1494 (_gcry_enum_gnupgext_pubkeys): Likewise.
1495 * dynload.h: Likewise.
1496
1497 * pubkey.c (dummy_decrypt): Add argument: int flags.
1498 (dummy_encrypt): Likewise.
1499
1500 * elgamal.c (_gcry_elg_encrypt): Add argument: int flags.
1501 (_gcry_elg_decrypt): Likewise.
1502
1503 * rsa.c (_gcry_rsa_encrypt): Add argument: int flags.
1504 (_gcry_rsa_decrypt): Likewise.
1505
1506 * pubkey.c: Add `flags' argument to members `encrypt' and
1507 `decrypt' of struct `pubkey_table_s'.
1508
1509 * rsa.h: Add `flags' argument to function declarations.
1510 * elgamal.h: Likewise.
1511
1512 * pubkey.c (sexp_data_to_mpi): New variable: int parsed_flags.
1513 (sexp_data_to_mpi): Set `parsed_flags'.
1514 (sexp_data_to_mpi): New argument: int *flags.
1515 (gcry_pk_encrypt): New variable: int flags.
1516 (gcry_pk_encrypt): Pass `flags' to pubkey_encrypt.
1517 (pubkey_encrypt): New variable: int flags.
1518 (pubkey_encrypt): Pass `flags' to pubkey encrypt function.
1519 (pubkey_decrypt): Likewise.
1520 (pubkey_decrypt): Pass `flags' to pubkey encrypt function.
1521 (gcry_pk_encrypt): Include `flags' s-exp in return list.
1522 (sexp_to_enc): New argument: int *flags.
1523 (gcry_pk_decrypt): New variable: int flags.
1524 (gcry_pk_decrypt): Pass `flags' to pubkey_decrypt.
1525 (sexp_to_enc): New variable: int parsed_flags.
1526 (sexp_to_enc): Set `parsed_flags'.
1527
15282003-03-22 Simon Josefsson <jas@extundo.com>
1529
1530 * cipher.c (gcry_cipher_open, do_cbc_encrypt)
1531 (gcry_cipher_encrypt): Support GCRY_CIPHER_CBC_MAC.
1532 (gcry_cipher_ctl): Support GCRYCTL_SET_CBC_MAC.
1533
15342003-03-19 Werner Koch <wk@gnupg.org>
1535
1536 * primegen.c (gen_prime): New args EXTRA_CHECK and EXTRA_CHECK_ARG
1537 to allow for a user callback. Changed all callers.
1538 (_gcry_generate_secret_prime)
1539 (_gcry_generate_public_prime): Ditto, pass them to gen_prime.
1540 * rsa.c (check_exponent): New.
1541 (generate): Use a callback to ensure that a given exponent is
1542 actually generated.
1543
15442003-03-12 Moritz Schulte <moritz@g10code.com>
1545
1546 * primegen.c: Initialize `no_of_small_prime_numbers' statically.
1547 (gen_prime): Remove calculation of `no_of_small_prime_numbers'.
1548
15492003-03-03 Moritz Schulte <moritz@g10code.com>
1550
1551 * md.c (gcry_md_ctl): Rewritten to use same style like the other
1552 functions dispatchers.
1553
15542003-03-02 Moritz Schulte <moritz@g10code.com>
1555
1556 * cipher.c (struct gcry_cipher_handle): New member: algo_index.
1557 (gcry_cipher_open): Allocate memory for two cipher contexts.
1558 Initialize algo_index.
1559 (cipher_setkey): Duplicate context into reserved memory.
1560 (cipher_reset): New function, which resets the context and clear
1561 the IV.
1562 (gcry_cipher_ctl): Call cipher_reset.
1563
15642003-02-23 Moritz Schulte <moritz@g10code.com>
1565
1566 * cipher.c: Remove (bogus) `digitp' macro definition.
1567 * md.c: Likewise.
1568
1569 * blowfish.c (burn_stack): Removed.
1570 * arcfour.c (burn_stack): Likewise.
1571 * cast5.c (burn_stack): Likewise.
1572 * des.c (burn_stack): Likewise.
1573 * md4.c (burn_stack): Likewise.
1574 * md5.c (burn_stack): Likewise.
1575 * random.c (burn_stack): Likewise.
1576 * rijndael.c (burn_stack): Likewise.
1577 * rmd160.c (burn_stack): Likewise.
1578 * sha1.c (burn_stack): Likewise.
1579 * sha256.c (burn_stack): Likewise.
1580 * tiger.c (burn_stack): Likewise.
1581 * twofish.c (burn_stack): Likewise.
1582
1583 * blowfish.c: Changed all occurences of burn_stack to
1584 _gcry_burn_stack.
1585 * arcfour.c: Likewise.
1586 * cast5.c: Likewise.
1587 * des.c: Likewise.
1588 * md4.c: Likewise.
1589 * md5.c: Likewise.
1590 * random.c: Likewise.
1591 * rijndael.c: Likewise.
1592 * rmd160.c: Likewise.
1593 * sha1.c: Likewise.
1594 * sha256.c: Likewise.
1595 * tiger.c: Likewise.
1596 * twofish.c: Likewise.
1597
1598 * arcfour.c (_gcry_arcfour_get_info): Use GCRY_CIPHER_ARCFOUR
1599 instead of hard-coded value `301'.
1600
16012003-01-24 Werner Koch <wk@gnupg.org>
1602
1603 * random.c (_gcry_register_random_progress): New.
1604 (_gcry_random_progress): New.
1605
1606 * rndlinux.c (gather_random): Call the random progress function.
1607
16082003-01-23 Werner Koch <wk@gnupg.org>
1609
1610 * rsa.c (generate): New arg USE_E to request a specific public
1611 exponent.
1612 (_gcry_rsa_generate): Ditto.
1613 * elgamal.c (_gcry_elg_generate): Must add an dummy argument
1614 instead of USE_E.
1615 * dsa.c (_gcry_dsa_generate): Ditto.
1616 * pubkey.c (dummy_generate): Ditto.
1617 (pubkey_generate): Add USE_E arg and pass it down.
1618 (gcry_pk_genkey): Detect "rsa-use-e" parameter and pass it to generate.
1619
1620 * pubkey.c (sexp_to_enc): New arg RET_MODERN.
1621 (gcry_pk_decrypt): Make use of it to return a real S-expression.
1622 Return better error codes.
1623 (gcry_pk_verify): Return better error codes.
1624
16252003-01-21 Werner Koch <wk@gnupg.org>
1626
1627 * random.c (gcry_random_add_bytes): Add QUALITY argument, let
1628 function return an error code and disable its core for now.
1629
16302003-01-21 Timo Schulz <twoaday@freakmail.de>
1631
1632 * random.c (gcry_random_add_bytes): New. Function to add external
1633 random to the pool.
1634
16352003-01-20 Simon Josefsson <jas@extundo.com>
1636
1637 * crc.c: New.
1638 * Makefile.am (EXTRA_PROGRAMS, EXTRA_crc_SOURCES): Add crc.c.
1639 * md.c (gcry_md_get_algo_dlen): Add values for CRC.
1640
16412003-01-20 Werner Koch <wk@gnupg.org>
1642
1643 * sha256.c: New.
1644 * bithelp.h (ror): New.
1645 * Makfile.am: Add sha256.c.
1646 * md.c (oid_table): Add values for SHA256 et al.
1647 (gcry_md_get_algo_dlen): Likewise
1648
16492003-01-20 Werner Koch <wk@gnupg.org>
1650
1651 * pubkey.c (gcry_pk_get_keygrip): Implemented keygrips for DSA
1652 and ElGamal.
1653
16542003-01-17 Werner Koch <wk@gnupg.org>
1655
1656 * cipher.c (gcry_cipher_encrypt): Reworked so that the output will
1657 never contain the plaintext even if the caller did not checked the
1658 return value.
1659
1660 * md.c (gcry_md_get_algo): Changed error code to GCRYERR_GENERAL
1661 because we don't have an invalid md algo but no algorithm enabled.
1662
1663 * pubkey.c (gcry_pk_genkey): Changed error code for bounds check
1664 of table parameters to GCRYERR_INTERNAL.
1665
1666 * md.c (gcry_md_open): Partly reverted Timo's change from
1667 2002-10-10 by removing the check for the algorithm. An algorithm
1668 of 0 is allowed and anyway we should not double check it or check
1669 it using a different function. Also fixed the flags check.
1670
1671 * pubkey.c (gcry_pk_encrypt): Make sure that R_CIPH points to NULL
1672 on error.
1673 (gcry_pk_decrypt): Ditto for R_PLAIN.
1674 (gcry_pk_sign): Ditto for R_SIG.
1675 (gcry_pk_genkey): Ditto for R_KEY.
1676
16772003-01-16 Werner Koch <wk@gnupg.org>
1678
1679 * md.c (gcry_md_write): Changed 2nd argument type to void*.
1680 (gcry_md_hash_buffer): Changed type of boths buffers to void*.
1681 (gcry_md_setkey): Changed 2nd argument type to void*.
1682
16832003-01-15 Werner Koch <wk@gnupg.org>
1684
1685 * pubkey.c (sexp_data_to_mpi): New. This handles pkcs1 padding.
1686 (gcry_pk_sign, gcry_pk_verify): Use it here.
1687 (gcry_pk_encrypt): And here.
1688 (pubkey_verify): Add debug code.
1689 (sexp_to_enc): Handle flags in the input and return the pkcs1 flag
1690 in a new parameter.
1691 (gcry_pk_decrypt): Prepare for future pkcs1 handling.
1692
16932002-12-19 Werner Koch <wk@gnupg.org>
1694
1695 * random.c (_gcry_random_initialize): New.
1696
16972002-12-16 Werner Koch <wk@gnupg.org>
1698
1699 * cipher.c: Added a Teletrust specific OID for 3DES.
1700
17012002-12-12 Werner Koch <wk@gnupg.org>
1702
1703 * md.c: Added another oddball OIW OID (sha-1WithRSAEncryption).
1704
17052002-11-23 Werner Koch <wk@gnupg.org>
1706
1707 * md.c (load_digest_module): Enlarged checked_algos bitmap.
1708 * md4.c (func_table): Fixed entry for md4.
1709 Both by Simon Josephson.
1710 (transform): Copy data to get the alignment straight. Tested only
1711 on i386.
1712
17132002-11-10 Simon Josefsson <jas@extundo.com>
1714
1715 * cipher.c (gcry_cipher_open): Don't reject CTS flag.
1716 (do_cbc_encrypt, do_cbc_decrypt, cipher_encrypt)
1717 (gcry_cipher_encrypt, cipher_decrypt)
1718 (gcry_cipher_decrypt): Support CTS flag.
1719 (gcry_cipher_ctl): Toggle CTS flag.
1720
17212002-11-10 Werner Koch <wk@gnupg.org>
1722
1723 * md4.c: New. By Simon Josefsson.
1724 * Makefile.am (EXTRA_PROGRAMS): Add md4.c.
1725 * md.c (oid_table,gcry_md_get_algo_dlen): MD4 support.
1726
17272002-10-14 Werner Koch <wk@gnupg.org>
1728
1729 * arcfour.c (do_encrypt_stream): Don't use increment op when
1730 assigning to the same variable.
1731
17322002-10-10 Timo Schulz <ts@winpt.org>
1733
1734 * pubkey.c (gcry_pk_genkey): Check boundaries.
1735
1736 * md.c (gcry_md_open): Check that algo is available and only
1737 valid flag values are used.
1738 (gcry_md_get_algo): Add error handling.
1739
17402002-09-26 Werner Koch <wk@gnupg.org>
1741
1742 * md.c: Include an OID for TIGER.
1743 * tiger.c (tiger_get_info): Use a regular OID.
1744
17452002-09-17 Werner Koch <wk@gnupg.org>
1746
1747 * random.c: Replaced mutex.h by the new ath.h. Changed all calls.
1748
17492002-09-16 Werner Koch <wk@gnupg.org>
1750
1751 * arcfour.c (do_encrypt_stream): Use register modifier and modulo.
1752 According to Nikos Mavroyanopoulos this increases perfromace on
1753 i386 system noticable. And I always tought gcc is clever enough.
1754 * md5.c (transform): Use register modifier.
1755 * rmd160.c (transform): Ditto.
1756 * sha1.c (transform): Ditto. We hope that there are 6 free registers.
1757 * random.c (gcry_randomize): Rewrote to avoid malloc calls.
1758
1759 * rndlinux.c (gather_random): Replaced remaining fprintfs by log_*.
1760 * arcfour.c (do_arcfour_setkey): Ditto.
1761 * twofish.c (do_twofish_setkey): Ditto.
1762 * rndegd.c (gather_random): Ditto.
1763 * rijndael.c (do_setkey): Ditto.
1764 * random.c (_gcry_random_dump_stats): Ditto.
1765 * primegen.c (_gcry_generate_elg_prime): Ditto.
1766 * des.c (_gcry_des_get_info): Ditto.
1767 * cast5.c (do_cast_setkey): Ditto.
1768 * blowfish.c (do_bf_setkey): Ditto.
1769
17702002-08-26 Werner Koch <wk@gnupg.org>
1771
1772 * des.c (weak_keys): Fixed one entry in the table and compared
1773 all entries against the literature.
1774 (selftest): Checksum the weak key table.
1775
17762002-08-21 Werner Koch <wk@gnupg.org>
1777
1778 * pubkey.c: Enable keygrip calculation for "openpgp-rsa".
1779
17802002-08-17 Werner Koch <wk@gnupg.org>
1781
1782 * cipher.c (setup_cipher_table): Don't overwrite the DES entry
1783 with the entry for DUMMY.
1784
17852002-08-14 Werner Koch <wk@gnupg.org>
1786
1787 * des.c (do_des_setkey,do_des_encrypt, do_des_decrypt): New.
1788 (_gcry_des_get_info): Support plain old DES.
1789 * cipher.c (setup_cipher_table): Put DES into the table.
1790
17912002-07-25 Werner Koch <wk@gnupg.org>
1792
1793 * rndunix.c (_gcry_rndunix_constructor): Prefixed with _gcry_.
1794 Noted by Stephan Austermuehle.
1795
17962002-07-08 Timo Schulz <ts@winpt.org>
1797
1798 * rndw32.c: Replaced the m_ memory functions with the real
1799 gcry_ functions. Renamed all g10_ prefixed functions to log_.
1800
18012002-06-12 Werner Koch <wk@gnupg.org>
1802
1803 * rsa.c (generate): Use e = 65537 for now.
1804
18052002-06-11 Werner Koch <wk@gnupg.org>
1806
1807 * pubkey.c (gcry_pk_get_keygrip): Allow a "protected-private-key".
1808
18092002-06-05 Timo Schulz <ts@winpt.org>
1810
1811 * cipher.c (gcry_cipher_encrypt, gcry_cipher_decrypt):
1812 Check that the input size is a multiple of the blocksize.
1813
18142002-05-23 Werner Koch <wk@gnupg.org>
1815
1816 * md.c (oid_table): Add an rsadsi OID for MD5.
1817
18182002-05-21 Werner Koch <wk@gnupg.org>
1819
1820 * primegen.c, elgamal.c, dsa.c (progress): Do not print anything
1821 by default. Pass an extra identifying string to the callback and
1822 reserved 2 argumenst for current and total counters. Changed the
1823 register function prototype.
1824
18252002-05-17 Werner Koch <wk@gnupg.org>
1826
1827 * rndegd.c (rndegd_constructor): Fixed name of register function
1828 and prefixed the function name with _gcry_.
1829 * rndw32.c (rndw32_constructor): Ditto.
1830 * tiger.c (tiger_constructor): Ditto.
1831
1832 * Makefile.am: Removed all dynamic loading stuff.
1833 * dynload.c: Ditto. Now only used for the constructor system.
1834
18352002-05-15 Werner Koch <wk@gnupg.org>
1836
1837 * random.c (gcry_random_bytes,gcry_random_bytes_secure)
1838 (gcry_randomize): Make sure we are initialized.
1839
18402002-05-14 Werner Koch <wk@gnupg.org>
1841
1842 Changed license of most files to the LGPL.
1843
18442002-05-02 Werner Koch <wk@gnupg.org>
1845
1846 * random.c (_gcry_fast_random_poll): Initialize the module so the
1847 mutex can be used.
1848
1849 * primegen.c (small_prime_numbers): Moved table from smallprime.c
1850 * smallprime.c: File removed.
1851
1852 * des.c (leftkey_swap, rightkey_swap, working_memcmp): Made static.
1853
1854 * cipher.c (gcry_cipher_map_name): Map "RIJNDAEL" to "AES".
1855 * rijndael.c (rijndael_get_info): We do only support a 128 bit
1856 blocksize so it makes sense to change the algorithm strings to
1857 AES.
1858
1859 * tiger.c (tiger_final): Removed superfluous token pasting operators.
1860 * md5.c (md5_final): Ditto.
1861
18622002-04-30 Werner Koch <wk@gnupg.org>
1863
1864 * cipher.c: Fixed list of copyright years.
1865
18662002-03-18 Werner Koch <wk@gnupg.org>
1867
1868 * random.c (initialize): Initialize the new pool lock mutex.
1869 (_gcry_fast_random_poll): Add locking and moved main
1870 code out to...
1871 (do_fast_random_poll): new function.
1872 (read_pool): Use the new function here.
1873 (get_random_bytes): Add locking.
1874 (_gcry_update_random_seed_file): Ditto.
1875
18762002-03-11 Werner Koch <wk@gnupg.org>
1877
1878 * md.c: Add rsaSignatureWithripemd160 to OID table.
1879
18802002-02-20 Werner Koch <wk@gnupg.org>
1881
1882 * sha1.c: Removed a left over comment note. The code has been
1883 rewritten from scratch in 1998. Thanks to Niels Möller for
1884 reporting this misleading comment.
1885
18862002-02-18 Werner Koch <wk@gnupg.org>
1887
1888 * rndunix.c (rndunix_constructor): Use the the new prefixed
1889 function name. Reported by Jordi Mallach.
1890
18912002-02-10 Werner Koch <wk@gnupg.org>
1892
1893 * random.c (mix_pool): Carry an extra failsafe_digest buffer
1894 around to make the function more robust.
1895
18962002-02-08 Werner Koch <wk@gnupg.org>
1897
1898 * random.c (add_randomness): Xor new data into the pool and not
1899 just copy it. This avoids any choosen input attacks which are not
1900 serious in our setting because an outsider won't be able to mix
1901 data in and even then we keep going with a PRNG. Thanks to Stefan
1902 Keller for pointing this out.
1903
19042002-01-04 Werner Koch <wk@gnupg.org>
1905
1906 * pubkey.c (gcry_pk_genkey): Do not release skey - it is static.
1907
1908 * primegen.c (gen_prime): Of course we should use set_bit
1909 and not set_highbit to set the second high bit.
1910
19112001-12-18 Werner Koch <wk@gnupg.org>
1912
1913 * rsa.c (generate): Loop until we find the exact modulus size.
1914 Changed the exponent to 41.
1915 (rsa_get_info): s/usage/r_usage/ to avoid shadow warnings.
1916 * primegen.c (gen_prime): Set 2 high order bits for secret primes.
1917
1918 * Makefile.am (DISTCLEANFILES): Include construct.c.
1919
19202001-12-17 Werner Koch <wk@gnupg.org>
1921
1922 * pubkey.c (gcry_pk_get_keygrip): New - experimental.
1923
19242001-12-11 Werner Koch <wk@gnupg.org>
1925
1926 * cipher.c: Added OIDs for AES.
1927 (gcry_cipher_mode_from_oid): New.
1928 (gcry_cipher_map_name): Moved OID search code to ..
1929 (search_oid): .. new function.
1930
19312001-12-10 Werner Koch <wk@gnupg.org>
1932
1933 * pubkey.c (gcry_pk_encrypt): Find the signature algorithm by name
1934 and not by number.
1935
1936 * pubkey.c (gcry_pk_encrypt,gcry_pk_decrypt,gcry_pk_sign)
1937 (gcry_pk_verify,gcry_pk_testkey, gcry_pk_genkey)
1938 (gcry_pk_get_nbits): Release the arrays. Noted by Nikos
1939 Mavroyanopoulos.
1940
19412001-12-06 Werner Koch <wk@gnupg.org>
1942
1943 * cipher.c (gcry_cipher_map_name): Look also for OIDs prefixed
1944 with "oid." or "OID.".
1945
19462001-12-05 Werner Koch <wk@gnupg.org>
1947
1948 * pubkey.c (algo_info_table): Fixed entry for openpgp-rsa.
1949
19502001-11-24 Werner Koch <wk@gnupg.org>
1951
1952 * pubkey.c: Added the rsaEncryption OID to the tables.
1953 (sexp_to_key): Add an arg to return the index of the algorithm,
1954 changed all callers.
1955 (gcry_pk_sign): Find the signature algorithm by name and not by
1956 number.
1957 (gcry_pk_get_nbits): Fixed so that we can now really pass a secret
1958 key to get the result.
1959
1960 * md.c (gcry_md_map_name): Look also for OIDs prefixed with "oid."
1961 or "OID." so that an OID string can be used as an S-Exp token.
1962
19632001-11-20 Werner Koch <wk@gnupg.org>
1964
1965 * md.c (gcry_md_map_name): Lookup by OID if the the name begins
1966 with a digit.
1967 (oid_table): New.
1968
19692001-11-16 Werner Koch <wk@gnupg.org>
1970
1971 * md.c (gcry_md_info): New operator GCRYCTL_IS_ALGO_ENABLED.
1972
19732001-11-07 Werner Koch <wk@gnupg.org>
1974
1975 * md.c (gcry_md_hash_buffer): Close the handle which was left open
1976 for algorithms other than rmd160.
1977
19782001-08-08 Werner Koch <wk@gnupg.org>
1979
1980 * rndw32.c (gather_random): Use toolhelp in addition to the NT
1981 gatherer for Windows2000. Suggested by Sami Tolvanen.
1982
1983 * random.c (read_pool): Fixed length check, this used to be one
1984 byte to strict. Made an assert out of it because the caller has
1985 already made sure that only poolsize bytes are requested.
1986 Reported by Marcus Brinkmann.
1987
19882001-08-03 Werner Koch <wk@gnupg.org>
1989
1990 * cipher.c (cipher_encrypt, cipher_decrypt): Prepare to return
1991 errors. We have to change the interface to all ciphers to make
1992 this really work but we should do so to prepare for hardware
1993 encryption modules.
1994 (gcry_cipher_encrypt, gcry_cipher_decrypt): Return the error and
1995 set lasterr.
1996 (gcry_cipher_ctl): Make sure that errors from setkey are returned.
1997
19982001-08-02 Werner Koch <wk@gnupg.org>
1999
2000 * rndlinux.c (gather_random): casted a size_t arg to int so that
2001 the format string is correct. Casting is okay here and avoids
2002 translation changes.
2003
2004 * random.c (fast_random_poll): Do not check the return code of
2005 getrusage.
2006
2007 * rndunix.c: Add a signal.h header to avoid warnings on Solaris 7
2008 and 8.
2009
2010 * tiger.c (print_abc,print_data): Removed.
2011
2012 * rijndael.c, des.c, blowfish.c, twofish.c, cast5.c, arcfour.c
2013 (burn_stack): New. Add wrappers for most functions to be able to
2014 call burn_stack after the function invocation. This methods seems
2015 to be the most portable way to zeroise the stack used. It does
2016 only work on stack frame based machines but it is highly portable
2017 and has no side effects. Just setting the automatic variables at
2018 the end of a function to zero does not work well because the
2019 compiler will optimize them away - marking them as volatile would
2020 be bad for performance.
2021 * md5.c, sha1.c, rmd160.c, tiger.c (burn_stack): Likewise.
2022 * random.c (burn_stack): New.
2023 (mix_pool): Use it here to burn the stack of the mixblock function.
2024
2025 * primegen.c (_gcry_generate_elg_prime): Freed q at 3 places.
2026 Thanks to Tommi Komulainen.
2027
2028 * arcfour.c (arcfour_setkey): Check the minimim keylength against
2029 bytes and not bits.
2030 (selftest): Must reset the key before decryption.
2031
20322001-05-31 Werner Koch <wk@gnupg.org>
2033
2034 * sha1.c (sha1_init): Made static.
2035
2036 Changed all g10_ prefixed function names as well as some mpi_
2037 function names to cope with the introduced naming changes.
2038
2039 * md.c (prepare_macpads): Made key const.
2040
20412001-05-28 Werner Koch <wk@gnupg.org>
2042
2043 * rndegd.c (gather_random): Removed the use of tty_printf.
2044
20452001-03-29 Werner Koch <wk@gnupg.org>
2046
2047 * md5.c (md5_final): Fixed calculation of hashed length. Thanks
2048 to disastry@saiknes.lv for pointing out that it was horrible wrong
2049 for more than 512MB of input.
2050 * sha1.c (sha1_final): Ditto.
2051 * rmd160.c (rmd160_final): Ditto.
2052 * tiger.c (tiger_final): Ditto.
2053
2054 * blowfish.c (encrypt,do_encrypt): Changed name to do_encrypt to
2055 avoid name clashes with an encrypt function in stdlib.h of
2056 Dynix/PIX. Thanks to Gene Carter.
2057 * elgamal.c (encrypt,do_encrypt): Ditto.
2058
2059 * twofish.c (gnupgext_enum_func): Use only when when compiled as a
2060 module.
2061 * rijndael.c (gnupgext_enum_func): Ditto.
2062
2063 * tiger.c (tiger_get_info): Return "TIGER192" and not just
2064 "TIGER". By Edwin Woudt.
2065
2066 * random.c: Always include time.h - standard requirement. Thanks
2067 to James Troup.
2068
2069 * rndw32.c: Fixes to the macros.
2070
20712001-01-11 Werner Koch <wk@gnupg.org>
2072
2073 * cipher.c (cipher_encrypt,gcry_cipher_encrypt): Use blocksize and
2074 not 8.
2075
20762000-12-19 Werner Koch <wk@gnupg.org>
2077
2078 Major change:
2079 Removed all GnuPG stuff and renamed this piece of software
2080 to gcrypt.
2081
20822000-11-14 Werner Koch <wk@gnupg.org>
2083
2084 * dsa.c (test_keys): Replaced mpi_alloc by gcry_mpi_new and
2085 mpi_free by gcry_mpi_release.
2086 * elgamal.c (test_keys,generate): Ditto, also for mpi_alloc_secure.
2087 * rsa.c (test_keys,generate,rsa_verify): Ditto.
2088 * primegen.c (generate_elg_prime): Ditto.
2089 (gen_prime): Ditto and removed nlimbs.
2090
2091 * rsa.c (generate): Allocate 2 more vars in secure memory.
2092
2093 * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
2094 problems.
2095
20962000-10-09 Werner Koch <wk@gnupg.org>
2097
2098 * arcfour.c, arcfour.h: New.
2099 * cipher.c (cipher_encrypt, cipher_decrypt): Add stream mode.
2100 (setup_cipher_table): Add Arcfour.
2101 (gcry_cipher_open): Kludge to allow stream mode.
2102
2103Wed Oct 4 13:16:18 CEST 2000 Werner Koch <wk@openit.de>
2104
2105 * sha1.c (transform): Use rol() macro. Actually this is not needed
2106 for a newer gcc but there are still aoter compilers.
2107
2108 * rsa.c (test_keys): Use new random function.
2109
2110 * md.c (gcry_md_setkey): New function to overcome problems with
2111 const conflics.
2112 (gcry_md_ctl): Pass set key to the new functions.
2113
2114 * rijndael.c: New.
2115 * cipher.c: Add Rijndael support.
2116
2117Mon Sep 18 16:35:45 CEST 2000 Werner Koch <wk@openit.de>
2118
2119 * rndlinux.c (open_device): Loose random device checking.
2120 By Nils Ellmenreich.
2121
2122 * random.c (fast_random_poll): Check ENOSYS for getrusage.
2123 * rndunix.c: Add 2 sources for QNX. By Sam Roberts.
2124
2125 * pubkey.c (gcry_pk_algo_info): Add GCRYCTL_GET_ALGO_USAGE.
2126
2127 * rsa.c: Changed the comment about the patent.
2128 (secret): Speed up by using the CRT. For a 2k keys this
2129 is about 3 times faster.
2130 (stronger_key_check): New but unused code to check the secret key.
2131 * Makefile.am: Included rsa.[ch].
2132 * pubkey.c: Enabled RSA support.
2133 (pubkey_get_npkey): Removed RSA workaround.
2134
2135Mon Jul 31 10:04:47 CEST 2000 Werner Koch <wk@openit.de>
2136
2137 * pubkey.c: Replaced all gcry_sexp_{car,cdr}_{data,mpi} by the new
2138 gcry_sexp_nth_{data,mpi} functions.
2139
2140Tue Jul 25 17:44:15 CEST 2000 Werner Koch <wk@openit.de>
2141
2142 * pubkey.c (exp_to_key,sexp_to_sig,sexp_to_enc,gcry_pk_encrypt,
2143 gcry_pk_decrypt,gcry_pk_sign,gcry_pk_genkey): Changed to work with
2144 the new S-Exp interface.
2145
2146Mon Jul 17 16:35:47 CEST 2000 Werner Koch <wk@>
2147
2148 * random.c (gather_faked): Replaced make_timestamp by time(2) again.
2149
2150Fri Jul 14 19:38:23 CEST 2000 Werner Koch <wk@>
2151
2152 * md.c (gcry_md_ctl): Support GCRYCTL_{START,STOP}_DUMP.
2153
2154 * Makefile.am: Never compile mingw32 as module.
2155
2156 * Makefile.am: Tweaked module build and removed libtool
2157
2158 * Makefile.am: Replaced -O1 by -O. Suggested by Alec Habig.
2159
2160 * elgamal.c (sign): Removed inactive code.
2161
2162 * rsa.c, rsa.h: New based on the old module version (only in CVS for now).
2163 * pubkey.c (setup_pubkey_table): Added commented support for RSA.
2164
2165 * rndunix.c (waitpid): New. For UTS 2.1. All by Dave Dykstra.
2166 (my_popen): Do the FD_CLOEXEC only if it is available
2167 (start_gatherer): Cope with missing _SC_OPEN_MAX
2168
2169 * rndunix.c: Add some more headers for QNX. By Sam Roberts.
2170
2171 * rndegd.c (gather_random): Shortcut level 0.
2172 * rndunix.c (gather_random): Ditto.
2173 * rndw32.c (gather_random): Ditto.
2174
2175 * rndw32.c: Replaced with code from Cryptlib and commented the old stuff.
2176 * rndw32.c: Add some debuging code enabled by an environment variable.
2177
2178 * random.c (read_seed_file): Binary open for DOSish system
2179 (update_random_seed_file): Ditto.
2180 * random.c [MINGW32]: Include process.h for getpid.
2181 * random.c (fast_random_poll): Add clock_gettime() as fallback for
2182 system which support this POSIX.4 fucntion. By Sam Roberts.
2183
2184 * random.c (read_seed_file): Removed the S_ISLNK test becuase it
2185 is already covered by !S_ISREG and is not defined in Unixware.
2186 Reported by Dave Dykstra.
2187 (update_random_seed_file): Silently ignore update request when pool
2188 is not filled.
2189
2190 * random.c (read_seed_file): New.
2191 (set_random_seed_file): New.
2192 (read_pool): Try to read the seeding file.
2193 (update_random_seed_file): New.
2194
2195 (read_pool): Do an initial extra seeding when level 2 quality random
2196 is requested the first time. This requestes at least POOLSIZE/2 bytes
2197 of entropy. Compined with the seeding file this should make normal
2198 random bytes cheaper and increase the quality of the random bytes
2199 used for key generation.
2200
2201 * random.c (read_pool): Print a more friendly error message in
2202 cases when too much random is requested in one call.
2203
2204 * random.c (fast_random_poll): Check whether RUSAGE_SELF is defined;
2205 this is not the case for some ESIX and Unixware, although they have
2206 getrusage().
2207
2208 * primegen.c (generate_elg_prime): All primes are now generated with
2209 the lowest random quality level. Because they are public anyway we
2210 don't need stronger random and by this we do not drain the systems
2211 entropy so much.
2212
2213 * primegen.c (register_primegen_progress): New.
2214 * dsa.c (register_pk_dsa_progress): New.
2215 * elgamal.c (register_pk_elg_progress): New.
2216
2217 * elgamal.c (wiener_map): New.
2218 (gen_k): Use a much smaller k.
2219 (generate): Calculate the qbits using the wiener map and
2220 choose an x at a size comparable to the one choosen in gen_k
2221
2222 * rmd160.c (rmd160_get_info): Moved casting to the left side due to a
2223 problem with UTS4.3. Suggested by Dave Dykstra.
2224 * sha1.c (sha1_get_info): Ditto.
2225 * tiger.c (tiger_get_info): Ditto.
2226 * md5.c (md5_get_info): Ditto
2227 * des.c (des_get_info): Ditto.
2228 * blowfish.c (blowfish_get_info): Ditto.
2229 * cast5.c (cast5_get_info): Ditto.
2230 * twofish.c (twofish_get_info): Ditto.
2231
2232Fri Mar 24 11:25:45 CET 2000 Werner Koch <wk@openit.de>
2233
2234 * md.c (md_open): Add hmac arg and allocate space for the pads.
2235 (md_finalize): Add HMAC support.
2236 (md_copy): Ditto.
2237 (md_close): Ditto.
2238 (gcry_md_reset): Ditto.
2239 (gcry_md_ctl): Ditto.
2240 (prepare_macpdas): New.
2241
2242Mon Mar 13 19:22:46 CET 2000 Werner Koch <wk@openit.de>
2243
2244 * md.c (gcry_md_hash_buffer): Add support for the other algorithms.
2245
2246Mon Jan 31 16:37:34 CET 2000 Werner Koch <wk@gnupg.de>
2247
2248 * genprime.c (generate_elg_prime): Fixed returned factors which never
2249 worked for non-DSA keys.
2250
2251Thu Jan 27 18:00:44 CET 2000 Werner Koch <wk@gnupg.de>
2252
2253 * pubkey.c (sexp_to_key): Fixed mem leaks in case of errors.
2254
2255Mon Jan 24 22:24:38 CET 2000 Werner Koch <wk@gnupg.de>
2256
2257 * pubkey.c (gcry_pk_decrypt): Implemented.
2258 (gcry_pk_encrypt): Implemented.
2259 (gcry_pk_testkey): New.
2260 (gcry_pk_genkey): New.
2261 (pubkey_decrypt): Made static.
2262 (pubkey_encrypt): Ditto.
2263 (pubkey_check_secret_key): Ditto.
2264 (pubkey_generate): Ditto.
2265
2266Mon Jan 24 13:04:28 CET 2000 Werner Koch <wk@gnupg.de>
2267
2268 * pubkey.c (pubkey_nbits): Removed and replaced by ...
2269 (gcry_pk_get_nbits): this new one.
2270
2271Wed Dec 8 21:58:32 CET 1999 Werner Koch <wk@gnupg.de>
2272
2273 * dsa.c: s/mpi_powm/gcry_mpi_powm/g
2274 * elgamal.c: Ditto.
2275 * primegen.c: Ditto.
2276
2277 * : Replaced g10_opt_verbose by g10_log_verbosity().
2278
2279 * Makefile.am (INCLUDES): removed intl, add ../gcrypt
2280
2281Fri Nov 19 17:15:20 CET 1999 Werner Koch <wk@gnupg.de>
2282
2283 * dynload.c (cmp_filenames): New to replaced compare_filename() in
2284 module.
2285 (register_cipher_extension): Removed the tilde expansion stuff.
2286 * rndeg.c (my_make_filename): New.
2287
2288 * : Replaced header util.h by g10lib.h
2289
2290 * random.c (gather_faked): Replaced make_timestamp by time(2).
2291 Disabled wrning printed with tty_printf.
2292 * rndlinux.c (gather_random): Always use fprintf instead of tty_xxx;
2293 this should be replaced by a callback function.
2294
2295 * primegen.c (gen_prime): Use gcry_mpi_randomize.
2296 (is_prime): Ditto.
2297 * elgamal.c (test_keys): Ditto.
2298 * dsa.c (test_keys): Ditto.
2299
2300 * cipher.c (gcry_cipher_close): Die on invalid handle.
2301
2302Mon Nov 15 21:36:02 CET 1999 Werner Koch <wk@gnupg.de>
2303
2304 * elgamal.c (gen_k): Use the new random API.
2305 (generate): Ditto.
2306 * dsa.c (gen_k): Ditto.
2307 (generate): Ditto.
2308
2309Sat Nov 13 17:44:23 CET 1999 Werner Koch <wk@gnupg.de>
2310
2311 * pubkey.c (disable_pubkey_algo): Made static.
2312 (gcry_pk_ctl): New.
2313
2314 * random.c (get_random_bits): Renamed to ...
2315 (get_random_bytes): ... this and made static.
2316 (gcry_random_bytes): New.
2317 (gcry_random_bytes_secure): New.
2318 (randomize_buffer): Renamed to ...
2319 (gcry_randomize): ...this.
2320
2321 * md.c (gcry_md_hash_buffer): New.
2322
2323 * pubkey.c (gcry_pk_algo_info): 4 new commands.
2324 (pubkey_get_npkey): Made static.
2325 (pubkey_get_nskey): Made static.
2326 (pubkey_get_nsig): Made static.
2327 (pubkey_get_nenc): Made static.
2328
2329 * pubkey.c: Removed all G10ERR_xxx.
2330 * cipher.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_CIPHER_ALGO.
2331 * md.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_MD_ALGO.
2332 * cast5.c (cast_setkey): Changed errocodes to GCRYERR_xxx.
2333 * blowfish.c: Ditto.
2334 * des.c: Ditto.
2335 * twofish.c: Ditto.
2336 * dsa.c: Ditto.
2337 * elgamal.c: Ditto.
2338
2339 * g10c.c: Removed
2340
2341 * cipher.c (gcry_cipher_open): Replaced alloc functions and return NULL
2342 if we are out of core.
2343 * dynload.c: Replaced all memory allocation functions.
2344 * md.c: Ditto.
2345 * primegen.c: Ditto.
2346 * pubkey.c: Ditto.
2347 * random.c: Ditto.
2348 * rndw32.c: Ditto.
2349 * elgamal.c: Ditto.
2350 * dsa.c: Ditto.
2351
2352Tue Oct 26 14:10:21 CEST 1999 Werner Koch <wk@gnupg.de>
2353
2354 * elgamal.c (sign): Hugh found strange code here. Replaced by BUG().
2355
2356 * cipher.c: Merged with gcrypt/symapi.c.
2357
2358 * pubkey.c (string_to_pubkey_algo): Renamed function to ...
2359 (gcry_pk_map_name): ... this.
2360 (pubkey_algo_to_string): Renamed function to ...
2361 (gcry_pk_algo_name): ... this.
2362 (gcry_pk_algo_info): New.
2363 * pubkey.c: Merged with gcrypt/pkapi.c.
2364
2365 * md.c (md_reset): Clear finalized; thanks to Ulf Moeller for
2366 fixing this bug.
2367
2368 * md.c: Merged with gcrypt/mdapi.c
2369
2370Wed Sep 15 14:39:59 CEST 1999 Michael Roth <mroth@nessie.de>
2371
2372 * des.c: Various speed improvements: One bit pre rotation
2373 trick after initial permutation (Richard Outerbridge).
2374 Finished test of SSLeay Tripple-DES patterns.
2375
2376Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2377
2378 * rndw32.c: New.
2379
2380Mon Sep 13 10:51:29 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2381
2382 * bithelp.h: New.
2383 * rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h
2384
2385Tue Sep 7 16:23:36 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2386
2387 * Makefile.am: Fixed seds for latest egcc. By Ollivier Robert.
2388
2389Mon Sep 6 19:59:08 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2390
2391 * des.c (selftest): Add some testpattern
2392
2393Mon Aug 30 20:38:33 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2394
2395 * cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using
2396 in place encryption. Pointed out by Frank Stajano.
2397
2398Mon Jul 26 09:34:46 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2399
2400 * md5.c (md5_final): Fix for a SCO cpp bug.
2401
2402Thu Jul 15 10:15:35 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2403
2404 * elgamal.c (elg_check_secret_key,elg_encrypt
2405 elg_decrypt,elg_sign,elg_verify): Sanity check on the args.
2406 * dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto.
2407
2408 * pubkey.c (disable_pubkey_algo): New.
2409 (check_pubkey_algo2): Look at disabled algo table.
2410 * cipher.c (disable_cipher_algo): New.
2411 (check_cipher_algo): Look at disabled algo table.
2412
2413Wed Jul 7 13:08:40 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2414
2415 * Makefile.am: Support for libtool.
2416
2417Fri Jul 2 11:45:54 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2418
2419 * dsa.c (gen_k): Changed algorithm to consume less random bytes
2420 * elgamal.c (gen_k): Ditto.
2421
2422 * random.c (random_dump_stats): New.
2423
2424Thu Jul 1 12:47:31 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2425
2426 * primegen.c, elgamal.c, dsa.c (progess): New and replaced all
2427 fputc with a call to this function.
2428
2429Sat Jun 26 12:15:59 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2430
2431 * rndegd.c (do_write): s/ssize_t/int/ due to SunOS 4.1 probs.
2432
2433 * cipher.c (do_cbc_encrypt, do_cbc_decrypt): New.
2434
2435 * dynload.c (HAVE_DL_SHL_LOAD): Map hpux API to dlopen (Dave Dykstra).
2436 * Makefile.am (install-exec-hook): Removed.
2437
2438Sun May 23 14:20:22 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2439
2440 * cipher.c (setup_cipher_table): Enable Twofish
2441
2442 * random.c (fast_random_poll): Disable use of times() for mingw32.
2443
2444Mon May 17 21:54:43 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2445
2446 * dynload.c (register_internal_cipher_extension): Minor init fix.
2447
2448Tue May 4 15:47:53 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2449
2450 * primegen.c (gen_prime): Readded the Fermat test. Fixed the bug
2451 that we didn't correct for step when passing the prime to the
2452 Rabin-Miller test which led to bad performance (Stefan Keller).
2453 (check_prime): Add a first Fermat test.
2454
2455Sun Apr 18 10:11:28 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2456
2457 * cipher.c (cipher_setiv): Add ivlen arg, changed all callers.
2458
2459 * random.c (randomize_buffer): alway use secure memory because
2460 we can't use m_is_secure() on a statically allocated buffer.
2461
2462 * twofish.c: Replaced some macros by a loop to reduce text size.
2463 * Makefile.am (twofish): No more need for sed editing.
2464
2465Fri Apr 9 12:26:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2466
2467 * cipher.c (cipher_open): Reversed the changes for AUTO_CFB.
2468
2469 * blowfish.c: Dropped the Blowfish 160 mode.
2470 * cipher.c (cipher_open): Ditto.
2471 (setup_cipher_table): Ditto. And removed support of twofish128
2472
2473Wed Apr 7 20:51:39 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2474
2475 * random.c (get_random_bits): Can now handle requests > POOLSIZE
2476
2477 * cipher.c (cipher_open): Now uses standard CFB for automode if
2478 the blocksize is gt 8 (according to rfc2440).
2479
2480 * twofish.c: Applied Matthew Skala's patches for 256 bit key.
2481
2482Tue Apr 6 19:58:12 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2483
2484 * random.c (get_random_bits): Can now handle requests > POOLSIZE
2485
2486 * cipher.c (cipher_open): Now uses standard CFB for automode if
2487 the blocksize is gt 8 (according to rfc2440).
2488
2489Sat Mar 20 11:44:21 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2490
2491 * rndlinux.c (tty_printf) [IS_MODULE]: Removed.
2492
2493 * rndegd.c (gather_random): Some fixes.
2494
2495Wed Mar 17 13:09:03 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2496
2497 * rndegd.c (do_read): New.
2498 (gather_random): Changed the implementation.
2499
2500Mon Mar 8 20:47:17 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2501
2502 * dynload.c (DLSYM_NEEDS_UNDERSCORE): Renamed.
2503
2504Fri Feb 26 17:55:41 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2505
2506 * md.c: Nearly a total rewrote.
2507
2508Wed Feb 24 11:07:27 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2509
2510 * cipher.c (context): Fixed alignment
2511 * md.c: Ditto.
2512
2513 * rndegd.c: New
2514
2515Mon Feb 22 20:04:00 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2516
2517 * rndegd.c: New.
2518
2519Wed Feb 10 17:15:39 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2520
2521 * Makefile.am: Modules are now figured out by configure
2522 * construct.c: New. Generated by configure. Changed all modules
2523 to work with that.
2524 * sha1.h: Removed.
2525 * md5.h: Removed.
2526
2527 * twofish.c: Changed interface to allow Twofish/256
2528
2529 * rndunix.c (start_gatherer): Die on SIGPIPE.
2530
2531Wed Jan 20 18:59:49 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2532
2533 * rndunix.c (gather_random): Fix to avoid infinite loop.
2534
2535Sun Jan 17 11:04:33 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2536
2537 * des.c (is_weak_key): Replace system memcmp due to bugs
2538 in SunOS's memcmp.
2539 (des_get_info): Return error on failed selftest.
2540 * twofish.c (twofish_setkey): Return error on failed selftest or
2541 invalid keylength.
2542 * cast5.c (cast_setkey): Ditto.
2543 * blowfish.c (bf_setkey): Return error on failed selftest.
2544
2545Tue Jan 12 11:17:18 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2546
2547 * random.c (random_is_faked): New.
2548
2549 * tiger.c: Only compile if we have the u64 type
2550
2551Sat Jan 9 16:02:23 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2552
2553 * rndunix.c (gather_random): check for setuid.
2554
2555 * Makefile.am: Add a way to staically link random modules
2556
2557Thu Jan 7 18:00:58 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2558
2559 * md.c (md_stop_debug): Do a flush first.
2560 (md_open): size of buffer now depends on the secure parameter
2561
2562Sun Jan 3 15:28:44 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2563
2564 * rndunix.c (start_gatherer): Fixed stupid ==/= bug
2565
25661998-12-31 Geoff Keating <geoffk@ozemail.com.au>
2567
2568 * des.c (is_weak_key): Rewrite loop end condition.
2569
2570Tue Dec 29 14:41:47 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
2571
2572 * random.c: add unistd.h for getpid().
2573 (RAND_MAX): Fallback value for Sun.
2574
2575Wed Dec 23 17:12:24 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
2576
2577 * md.c (md_copy): Reset debug.
2578
2579Mon Dec 14 21:18:49 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
2580
2581 * random.c (read_random_source): Changed the interface to the
2582 random gathering function.
2583 (gather_faked): Use new interface.
2584 * dynload.c (dynload_getfnc_fast_random_poll): Ditto.
2585 (dynload_getfnc_gather_random): Ditto.
2586 * rndlinux.c (gather_random): Ditto.
2587 * rndunix.c (gather_random): Ditto.
2588
2589Sat Dec 12 18:40:32 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
2590
2591 * dynload.c (SYMBOL_VERSION): New to cope with system which needs
2592 underscores.
2593
2594 * rndunix.c: Rewrote large parts
2595
2596Thu Dec 10 20:15:36 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
2597
2598 * dynload.c (load_extension): increased needed verbosity level.
2599
2600 * random.c (fast_random_poll): Fallback to a default fast random
2601 poll function.
2602 (read_random_source): Always use the faked entroy gatherer if no
2603 gather module is available.
2604 * rndlinux.c (fast_poll): Removed.
2605 * rndunix.c (fast_poll): Removed.
2606
2607
2608Wed Nov 25 12:33:41 1998 Werner Koch (wk@isil.d.shuttle.de)
2609
2610 * rand-*.c: Removed.
2611 * rndlinux.c : New.
2612 * rndunix.c : New.
2613 * random.c : Restructured the interface to the gather modules.
2614 (intialize): Call constructor functions
2615 (read_radnom_source): Moved to here.
2616 * dynload.c (dynload_getfnc_gather_random): New.
2617 (dynload_getfnc_fast_random_poll): New.
2618 (register_internal_cipher_extension): New.
2619 (register_cipher_extension): Support of internal modules.
2620
2621Sun Nov 8 17:44:36 1998 Werner Koch (wk@isil.d.shuttle.de)
2622
2623 * rand-unix.c (read_random_source): Removed the assert.
2624
2625Mon Oct 19 18:34:30 1998 me,,, (wk@tobold)
2626
2627 * pubkey.c: Hack to allow us to give some info about RSA keys back.
2628
2629Thu Oct 15 11:47:57 1998 Werner Koch (wk@isil.d.shuttle.de)
2630
2631 * dynload.c: Support for DLD
2632
2633Wed Oct 14 12:13:07 1998 Werner Koch (wk@isil.d.shuttle.de)
2634
2635 * rand-unix.c: Now uses names from configure for /dev/random.
2636
26371998-10-10 SL Baur <steve@altair.xemacs.org>
2638
2639 * Makefile.am: fix sed -O substitutions to catch -O6, etc.
2640
2641Tue Oct 6 10:06:32 1998 Werner Koch (wk@isil.d.shuttle.de)
2642
2643 * rand-unix.c (HAVE_GETTIMEOFDAY): Fixed (was ..GETTIMEOFTIME :-)
2644 * rand-dummy.c (HAVE_GETTIMEOFDAY): Ditto.
2645
2646Mon Sep 28 13:23:09 1998 Werner Koch (wk@isil.d.shuttle.de)
2647
2648 * md.c (md_digest): New.
2649 (md_reset): New.
2650
2651Wed Sep 23 12:27:02 1998 Werner Koch (wk@isil.d.shuttle.de)
2652
2653 * tiger.c (TIGER_CONTEXT): moved "buf", so that it is 64 bit aligned.
2654
2655Mon Sep 21 06:22:53 1998 Werner Koch (wk@(none))
2656
2657 * des.c: Some patches from Michael.
2658
2659Thu Sep 17 19:00:06 1998 Werner Koch (wk@(none))
2660
2661 * des.c : New file from Michael Roth <mroth@nessie.de>
2662
2663Mon Sep 14 11:10:55 1998 Werner Koch (wk@(none))
2664
2665 * blowfish.c (bf_setkey): Niklas Hernaeus patch to detect weak keys.
2666
2667Mon Sep 14 09:19:25 1998 Werner Koch (wk@(none))
2668
2669 * dynload.c (RTLD_NOW): Now defined to 1 if it is undefined.
2670
2671Mon Sep 7 17:04:33 1998 Werner Koch (wk@(none))
2672
2673 * Makefile.am: Fixes to allow a different build directory
2674
2675Thu Aug 6 17:25:38 1998 Werner Koch,mobil,,, (wk@tobold)
2676
2677 * random.c (get_random_byte): Removed and changed all callers
2678 to use get_random_bits()
2679
2680Mon Jul 27 10:30:22 1998 Werner Koch (wk@(none))
2681
2682 * cipher.c : Support for other blocksizes
2683 (cipher_get_blocksize): New.
2684 * twofish.c: New.
2685 * Makefile.am: Add twofish module.
2686
2687Mon Jul 13 21:30:52 1998 Werner Koch (wk@isil.d.shuttle.de)
2688
2689 * random.c (read_pool): Simple alloc if secure_alloc is not set.
2690 (get_random_bits): Ditto.
2691
2692Thu Jul 9 13:01:14 1998 Werner Koch (wk@isil.d.shuttle.de)
2693
2694 * dynload.c (load_extension): Function now nbails out if
2695 the program is run setuid.
2696
2697Wed Jul 8 18:58:23 1998 Werner Koch (wk@isil.d.shuttle.de)
2698
2699 * rmd160.c (rmd160_hash_buffer): New.
2700
2701Thu Jul 2 10:50:30 1998 Werner Koch (wk@isil.d.shuttle.de)
2702
2703 * cipher.c (cipher_open): algos >=100 use standard CFB
2704
2705Thu Jun 25 11:18:25 1998 Werner Koch (wk@isil.d.shuttle.de)
2706
2707 * Makefile.am: Support for extensions
2708
2709Thu Jun 18 12:09:38 1998 Werner Koch (wk@isil.d.shuttle.de)
2710
2711 * random.c (mix_pool): simpler handling for level 0
2712
2713Mon Jun 15 14:40:48 1998 Werner Koch (wk@isil.d.shuttle.de)
2714
2715 * tiger.c: Removed from dist, will reappear as dynload module
2716
2717Sat Jun 13 14:16:57 1998 Werner Koch (wk@isil.d.shuttle.de)
2718
2719 * pubkey.c: Major changes to allow extensions. Changed the inteface
2720 of all public key ciphers and added the ability to load extensions
2721 on demand.
2722
2723 * misc.c: Removed.
2724
2725Wed Jun 10 07:52:08 1998 Werner Koch,mobil,,, (wk@tobold)
2726
2727 * dynload.c: New.
2728 * cipher.c: Major changes to allow extensions.
2729
2730Mon Jun 8 22:43:00 1998 Werner Koch (wk@isil.d.shuttle.de)
2731
2732 * cipher.c: Major internal chnages to support extensions.
2733 * blowfish.c (blowfish_get_info): New and made all internal
2734 functions static, changed heder.
2735 * cast5.c (cast5_get_info): Likewise.
2736
2737Mon Jun 8 12:27:52 1998 Werner Koch (wk@isil.d.shuttle.de)
2738
2739 * tiger.c (transform): Fix for big endian
2740
2741 * cipher.c (do_cfb_decrypt): Big endian fix.
2742
2743Fri May 22 07:30:39 1998 Werner Koch (wk@isil.d.shuttle.de)
2744
2745 * md.c (md_get_oid): Add a new one for TIGER.
2746
2747Thu May 21 13:24:52 1998 Werner Koch (wk@isil.d.shuttle.de)
2748
2749 * cipher.c: Add support for a dummy cipher
2750
2751Thu May 14 15:40:36 1998 Werner Koch (wk@isil.d.shuttle.de)
2752
2753 * rmd160.c (transform): fixed sigbus - I should better
2754 add Christian von Roques's new implemenation of rmd160_write.
2755
2756Fri May 8 18:07:44 1998 Werner Koch (wk@isil.d.shuttle.de)
2757
2758 * rand-internal.h, rand-unix.c, rand-w32.c, rand_dummy.c: New
2759 * random.c: Moved system specific functions to rand-****.c
2760
2761Fri May 8 14:01:17 1998 Werner Koch (wk@isil.d.shuttle.de)
2762
2763 * random.c (fast_random_poll): add call to gethrtime.
2764
2765Tue May 5 21:28:55 1998 Werner Koch (wk@isil.d.shuttle.de)
2766
2767 * elgamal.c (elg_generate): choosing x was not correct, could
2768 yield 6 bytes which are not from the random pool, tsss, tsss..
2769
2770Tue May 5 14:09:06 1998 Werner Koch (wk@isil.d.shuttle.de)
2771
2772 * primegen.c (generate_elg_prime): Add arg mode, changed all
2773 callers and implemented mode 1.
2774
2775Mon Apr 27 14:41:58 1998 Werner Koch (wk@isil.d.shuttle.de)
2776
2777 * cipher.c (cipher_get_keylen): New.
2778
2779Sun Apr 26 14:44:52 1998 Werner Koch (wk@isil.d.shuttle.de)
2780
2781 * tiger.c, tiger.h: New.
2782
2783Wed Apr 8 14:57:11 1998 Werner Koch (wk@isil.d.shuttle.de)
2784
2785 * misc.c (check_pubkey_algo2): New.
2786
2787Tue Apr 7 18:46:49 1998 Werner Koch (wk@isil.d.shuttle.de)
2788
2789 * cipher.c: New
2790 * misc.c (check_cipher_algo): Moved to cipher.c
2791 * cast5.c: Moved many functions to cipher.c
2792 * blowfish.c: Likewise.
2793
2794Sat Apr 4 19:52:08 1998 Werner Koch (wk@isil.d.shuttle.de)
2795
2796 * cast5.c: Implemented and tested.
2797
2798Wed Apr 1 16:38:27 1998 Werner Koch (wk@isil.d.shuttle.de)
2799
2800 * elgamal.c (elg_generate): Faster generation of x in some cases.
2801
2802Thu Mar 19 13:54:48 1998 Werner Koch (wk@isil.d.shuttle.de)
2803
2804 * blowfish.c (blowfish_decode_cfb): changed XOR operation
2805 (blowfish_encode_cfb): Ditto.
2806
2807Thu Mar 12 14:04:05 1998 Werner Koch (wk@isil.d.shuttle.de)
2808
2809 * sha1.c (transform): Rewrote
2810
2811 * blowfish.c (encrypt): Unrolled for rounds == 16
2812 (decrypt): Ditto.
2813
2814Tue Mar 10 16:32:08 1998 Werner Koch (wk@isil.d.shuttle.de)
2815
2816 * rmd160.c (transform): Unrolled the loop.
2817
2818Tue Mar 10 13:05:14 1998 Werner Koch (wk@isil.d.shuttle.de)
2819
2820 * random.c (read_pool): Add pool_balance stuff.
2821 (get_random_bits): New.
2822
2823 * elgamal.c (elg_generate): Now uses get_random_bits to generate x.
2824
2825
2826Tue Mar 10 11:33:51 1998 Werner Koch (wk@isil.d.shuttle.de)
2827
2828 * md.c (md_digest_length): New.
2829
2830Tue Mar 10 11:27:41 1998 Werner Koch (wk@isil.d.shuttle.de)
2831
2832 * dsa.c (dsa_verify): Works.
2833
2834Mon Mar 9 12:59:08 1998 Werner Koch (wk@isil.d.shuttle.de)
2835
2836 * dsa.c, dsa.h: Removed some unused code.
2837
2838Wed Mar 4 10:39:22 1998 Werner Koch (wk@isil.d.shuttle.de)
2839
2840 * md.c (md_open): Add call to fast_random_poll.
2841 blowfish.c (blowfish_setkey): Ditto.
2842
2843Tue Mar 3 13:32:54 1998 Werner Koch (wk@isil.d.shuttle.de)
2844
2845 * rmd160.c (rmd160_mixblock): New.
2846 * random.c: Restructured to start with a new RNG implementation.
2847 * random.h: New.
2848
2849Mon Mar 2 19:21:46 1998 Werner Koch (wk@isil.d.shuttle.de)
2850
2851 * gost.c, gost.h: Removed because they did only conatin trash.
2852
2853Sun Mar 1 16:42:29 1998 Werner Koch (wk@isil.d.shuttle.de)
2854
2855 * random.c (fill_buffer): removed error message if n == -1.
2856
2857Fri Feb 27 16:39:34 1998 Werner Koch (wk@isil.d.shuttle.de)
2858
2859 * md.c (md_enable): No init if called twice.
2860
2861Thu Feb 26 07:57:02 1998 Werner Koch (wk@isil.d.shuttle.de)
2862
2863 * primegen.c (generate_elg_prime): Changed the progress printing.
2864 (gen_prime): Ditto.
2865
2866Tue Feb 24 12:28:42 1998 Werner Koch (wk@isil.d.shuttle.de)
2867
2868 * md5.c, md.5 : Replaced by a modified version of md5.c from
2869 GNU textutils 1.22.
2870
2871Wed Feb 18 14:08:30 1998 Werner Koch (wk@isil.d.shuttle.de)
2872
2873 * md.c, md.h : New debugging support
2874
2875Mon Feb 16 10:08:47 1998 Werner Koch (wk@isil.d.shuttle.de)
2876
2877 * misc.c (cipher_algo_to_string): New
2878 (pubkey_algo_to_string): New.
2879 (digest_algo_to_string): New.
2880
2881
2882 Copyright 1998,1999,2000,2001,2002,2003,2005 Free Software Foundation, Inc.
2883
2884 This file is free software; as a special exception the author gives
2885 unlimited permission to copy and/or distribute it, with or without
2886 modifications, as long as this notice is preserved.
2887
2888 This file is distributed in the hope that it will be useful, but
2889 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
2890 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.