3901 lines
128 KiB
Text
3901 lines
128 KiB
Text
|
2009-01-22 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* ecc.c (compute_keygrip): Remove superfluous const.
|
||
|
|
||
|
2009-01-06 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rmd160.c (oid_spec_rmd160): Add TeleTrust identifier.
|
||
|
|
||
|
2008-12-10 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* dsa.c (generate): Add arg DOMAIN and use it if specified.
|
||
|
(generate_fips186): Ditto.
|
||
|
(dsa_generate_ext): Parse and check the optional "domain"
|
||
|
parameter and pass them to the generate functions.
|
||
|
|
||
|
* rijndael.c (rijndael_names): Add "AES128" and "AES-128".
|
||
|
(rijndael192_names): Add "AES-192".
|
||
|
(rijndael256_names): Add "AES-256".
|
||
|
|
||
|
2008-12-05 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* dsa.c (generate): Add arg TRANSIENT_KEY and use it to detrmine
|
||
|
the RNG quality needed.
|
||
|
(dsa_generate_ext): Parse the transient-key flag und pass it to
|
||
|
generate.
|
||
|
|
||
|
2008-11-28 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* dsa.c (generate_fips186): Add arg DERIVEPARMS and use the seed
|
||
|
value if available.
|
||
|
|
||
|
* primegen.c (_gcry_generate_fips186_2_prime): Fix inner p loop.
|
||
|
|
||
|
2008-11-26 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* primegen.c (_gcry_generate_fips186_3_prime): New.
|
||
|
* dsa.c (generate_fips186): Add arg USE_FIPS186_2.
|
||
|
(dsa_generate_ext): Parse new flag use-fips183-2.
|
||
|
|
||
|
2008-11-25 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* dsa.c (generate_fips186): New.
|
||
|
(dsa_generate_ext): Use new function if derive-parms are given or
|
||
|
if in FIPS mode.
|
||
|
* primegen.c (_gcry_generate_fips186_2_prime): New.
|
||
|
|
||
|
2008-11-24 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_genkey): Insert code to output extrainfo.
|
||
|
(pubkey_generate): Add arg R_EXTRAINFO and pass it to the extended
|
||
|
key generation function.
|
||
|
* rsa.c (gen_x931_parm_xp, gen_x931_parm_xi): New.
|
||
|
(generate_x931): Generate params if not given.
|
||
|
(rsa_generate_ext): Parse use-x931 flag. Return p-q-swapped
|
||
|
indicator.
|
||
|
* dsa.c (dsa_generate_ext): Put RETFACTORS into R_EXTRAINFO if
|
||
|
possible.
|
||
|
|
||
|
* pubkey.c (gcry_pk_genkey): Remove parsing of almost all
|
||
|
parameters and pass the parameter S-expression to pubkey_generate.
|
||
|
(pubkey_generate): Simplify by requitring modules to parse the
|
||
|
parameters. Remove the special cases for Elgamal and ECC.
|
||
|
(sexp_elements_extract_ecc): Add arg EXTRASPEC and use it. Fix
|
||
|
small memory leak.
|
||
|
(sexp_to_key): Pass EXTRASPEC to sexp_elements_extract_ecc.
|
||
|
(pubkey_table) [USE_ELGAMAL]: Add real extraspec.
|
||
|
* rsa.c (rsa_generate_ext): Adjust for new calling convention.
|
||
|
* dsa.c (dsa_generate_ext): Ditto.
|
||
|
* elgamal.c (_gcry_elg_generate): Ditto. Rename to elg_generate_ext.
|
||
|
(elg_generate): New.
|
||
|
(_gcry_elg_generate_using_x): Remove after merging code with
|
||
|
elg_generate_ext.
|
||
|
(_gcry_pubkey_extraspec_elg): New.
|
||
|
(_gcry_elg_check_secret_key, _gcry_elg_encrypt, _gcry_elg_sign)
|
||
|
(_gcry_elg_verify, _gcry_elg_get_nbits): Make static and remove
|
||
|
_gcry_ prefix.
|
||
|
* ecc.c (_gcry_ecc_generate): Rename to ecc_generate_ext and
|
||
|
adjust for new calling convention.
|
||
|
(_gcry_ecc_get_param): Rename to ecc_get_param and make static.
|
||
|
(_gcry_pubkey_extraspec_ecdsa): Add ecc_generate_ext and
|
||
|
ecc_get_param.
|
||
|
|
||
|
2008-11-20 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (pubkey_generate): Add arg DERIVEPARMS.
|
||
|
(gcry_pk_genkey): Parse derive-parms and pass it to above.
|
||
|
* rsa.c (generate_x931): New.
|
||
|
(rsa_generate_ext): Add arg DERIVEPARMS and call new function in
|
||
|
fips mode or if DERIVEPARMS is given.
|
||
|
* primegen.c (_gcry_derive_x931_prime, find_x931_prime): New.
|
||
|
|
||
|
2008-11-19 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rsa.c (rsa_decrypt): Use gcry_create_nonce for blinding.
|
||
|
(generate): Rename to generate_std.
|
||
|
|
||
|
2008-11-05 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* md.c (md_open): Use a switch to set the Bsize.
|
||
|
(prepare_macpads): Fix long key case for SHA384 and SHA512.
|
||
|
|
||
|
* cipher.c (gcry_cipher_handle): Add field EXTRASPEC.
|
||
|
(gcry_cipher_open): Set it.
|
||
|
(gcry_cipher_ctl): Add private control code to disable weak key
|
||
|
detection and to return the current input block.
|
||
|
* des.c (_tripledes_ctx): Add field FLAGS.
|
||
|
(do_tripledes_set_extra_info): New.
|
||
|
(_gcry_cipher_extraspec_tripledes): Add new function.
|
||
|
(do_tripledes_setkey): Disable weak key detection.
|
||
|
|
||
|
2008-10-24 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* md.c (digest_table): Allow MD5 in fips mode.
|
||
|
(md_register_default): Take special action for MD5.
|
||
|
(md_enable, gcry_md_hash_buffer): Ditto.
|
||
|
|
||
|
2008-09-30 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rijndael.c (do_setkey): Properly align "t" and "tk".
|
||
|
(prepare_decryption): Properly align "w". Fixes bug #936.
|
||
|
|
||
|
2008-09-18 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_genkey): Parse domain parameter.
|
||
|
(pubkey_generate): Add new arg DOMAIN and remove special case for
|
||
|
DSA with qbits.
|
||
|
* rsa.c (rsa_generate): Add dummy args QBITS, NAME and DOMAIN and
|
||
|
rename to rsa_generate_ext. Change caller.
|
||
|
(_gcry_rsa_generate, _gcry_rsa_check_secret_key)
|
||
|
(_gcry_rsa_encrypt, _gcry_rsa_decrypt, _gcry_rsa_sign)
|
||
|
(_gcry_rsa_verify, _gcry_rsa_get_nbits): Make static and remove
|
||
|
_gcry_ prefix.
|
||
|
(_gcry_pubkey_spec_rsa, _gcry_pubkey_extraspec_rsa): Adjust names.
|
||
|
* dsa.c (dsa_generate_ext): New.
|
||
|
(_gcry_dsa_generate): Replace code by a call to dsa_generate.
|
||
|
(_gcry_dsa_check_secret_key, _gcry_dsa_sign, _gcry_dsa_verify)
|
||
|
(_gcry_dsa_get_nbits): Make static and remove _gcry prefix.
|
||
|
(_gcry_dsa_generate2): Remove.
|
||
|
(_gcry_pubkey_spec_dsa): Adjust to name changes.
|
||
|
(_gcry_pubkey_extraspec_rsa): Add dsa_generate_ext.
|
||
|
|
||
|
2008-09-16 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* ecc.c (run_selftests): Add arg EXTENDED.
|
||
|
|
||
|
2008-09-12 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rsa.c (test_keys): Do a bad case signature check.
|
||
|
* dsa.c (test_keys): Do a bad case check.
|
||
|
|
||
|
* cipher.c (_gcry_cipher_selftest): Add arg EXTENDED and pass it
|
||
|
to the called tests.
|
||
|
* md.c (_gcry_md_selftest): Ditto.
|
||
|
* pubkey.c (_gcry_pk_selftest): Ditto.
|
||
|
* rijndael.c (run_selftests): Add arg EXTENDED and pass it to the
|
||
|
called tests.
|
||
|
(selftest_fips_128): Add arg EXTENDED and run only one test
|
||
|
non-extended mode.
|
||
|
(selftest_fips_192): Add dummy arg EXTENDED.
|
||
|
(selftest_fips_256): Ditto.
|
||
|
* hmac-tests.c (_gcry_hmac_selftest): Ditto.
|
||
|
(run_selftests): Ditto.
|
||
|
(selftests_sha1): Add arg EXTENDED and run only one test
|
||
|
non-extended mode.
|
||
|
(selftests_sha224, selftests_sha256): Ditto.
|
||
|
(selftests_sha384, selftests_sha512): Ditto.
|
||
|
* sha1.c (run_selftests): Add arg EXTENDED and pass it to the
|
||
|
called test.
|
||
|
(selftests_sha1): Add arg EXTENDED and run only one test
|
||
|
non-extended mode.
|
||
|
* sha256.c (run_selftests): Add arg EXTENDED and pass it to the
|
||
|
called tests.
|
||
|
(selftests_sha224): Add arg EXTENDED and run only one test
|
||
|
non-extended mode.
|
||
|
(selftests_sha256): Ditto.
|
||
|
* sha512.c (run_selftests): Add arg EXTENDED and pass it to the
|
||
|
called tests.
|
||
|
(selftests_sha384): Add arg EXTENDED and run only one test
|
||
|
non-extended mode.
|
||
|
(selftests_sha512): Ditto.
|
||
|
* des.c (run_selftests): Add arg EXTENDED and pass it to the
|
||
|
called test.
|
||
|
(selftest_fips): Add dummy arg EXTENDED.
|
||
|
* rsa.c (run_selftests): Add dummy arg EXTENDED.
|
||
|
|
||
|
* dsa.c (run_selftests): Add dummy arg EXTENDED.
|
||
|
|
||
|
* rsa.c (extract_a_from_sexp): New.
|
||
|
(selftest_encr_1024): Check that the ciphertext does not match the
|
||
|
plaintext.
|
||
|
(test_keys): Improve tests and return an error status.
|
||
|
(generate): Return an error if test_keys fails.
|
||
|
* dsa.c (test_keys): Add comments and return an error status.
|
||
|
(generate): Return an error if test_keys failed.
|
||
|
|
||
|
2008-09-11 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rsa.c (_gcry_rsa_decrypt): Return an error instead of calling
|
||
|
BUG in case of a practically impossible condition.
|
||
|
(sample_secret_key, sample_public_key): New.
|
||
|
(selftest_sign_1024, selftest_encr_1024): New.
|
||
|
(selftests_rsa): Implement tests.
|
||
|
* dsa.c (sample_secret_key, sample_public_key): New.
|
||
|
(selftest_sign_1024): New.
|
||
|
(selftests_dsa): Implement tests.
|
||
|
|
||
|
2008-09-09 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* hmac-tests.c (selftests_sha1): Add tests.
|
||
|
(selftests_sha224, selftests_sha384, selftests_sha512): Make up tests.
|
||
|
|
||
|
* hash-common.c, hash-common.h: New.
|
||
|
* sha1.c (selftests_sha1): Add 3 tests.
|
||
|
* sha256.c (selftests_sha256, selftests_sha224): Ditto.
|
||
|
* sha512.c (selftests_sha512, selftests_sha384): Ditto.
|
||
|
|
||
|
2008-08-29 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_get_keygrip): Remove the special case for RSA
|
||
|
and check whether a custom computation function has been setup.
|
||
|
* rsa.c (compute_keygrip): New.
|
||
|
(_gcry_pubkey_extraspec_rsa): Setup this function.
|
||
|
* ecc.c (compute_keygrip): New.
|
||
|
(_gcry_pubkey_extraspec_ecdsa): Setup this function.
|
||
|
|
||
|
2008-08-28 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* cipher.c (cipher_decrypt, cipher_encrypt): Return an error if
|
||
|
mode NONE is used.
|
||
|
(gcry_cipher_open): Allow mode NONE only with a debug flag set and
|
||
|
if not in FIPS mode.
|
||
|
|
||
|
2008-08-26 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (pubkey_generate): Add arg KEYGEN_FLAGS.
|
||
|
(gcry_pk_genkey): Implement new parameter "transient-key" and
|
||
|
pass it as flags to pubkey_generate.
|
||
|
(pubkey_generate): Make use of an ext_generate function.
|
||
|
* rsa.c (generate): Add new arg transient_key and pass appropriate
|
||
|
args to the prime generator.
|
||
|
(_gcry_rsa_generate): Factor all code out to ...
|
||
|
(rsa_generate): .. new func with extra arg KEYGEN_FLAGS.
|
||
|
(_gcry_pubkey_extraspec_ecdsa): Setup rsa_generate.
|
||
|
* primegen.c (_gcry_generate_secret_prime)
|
||
|
(_gcry_generate_public_prime): Add new arg RANDOM_LEVEL.
|
||
|
|
||
|
2008-08-21 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* primegen.c (_gcry_generate_secret_prime)
|
||
|
(_gcry_generate_public_prime): Use a constant macro for the random
|
||
|
level.
|
||
|
|
||
|
2008-08-19 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (sexp_elements_extract_ecc) [!USE_ECC]: Do not allow
|
||
|
allow "curve" parameter.
|
||
|
|
||
|
2008-08-15 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (_gcry_pk_selftest): New.
|
||
|
* dsa.c (selftests_dsa, run_selftests): New.
|
||
|
* rsa.c (selftests_rsa, run_selftests): New.
|
||
|
* ecc.c (selftests_ecdsa, run_selftests): New.
|
||
|
|
||
|
* md.c (_gcry_md_selftest): New.
|
||
|
* sha1.c (run_selftests, selftests_sha1): New.
|
||
|
* sha256.c (selftests_sha224, selftests_sha256, run_selftests): New.
|
||
|
* sha512.c (selftests_sha384, selftests_sha512, run_selftests): New.
|
||
|
|
||
|
* des.c (selftest): Remove static variable form selftest.
|
||
|
(des_setkey): No on-the-fly self test in fips mode.
|
||
|
(tripledes_set3keys): Ditto.
|
||
|
|
||
|
* cipher.c (_gcry_cipher_setkey, _gcry_cipher_setiv):
|
||
|
|
||
|
* dsa.c (generate): Bail out in fips mode if NBITS is less than 1024.
|
||
|
* rsa.c (generate): Return an error code if the the requested size
|
||
|
is less than 1024 and we are in fpis mode.
|
||
|
(_gcry_rsa_generate): Take care of that error code.
|
||
|
|
||
|
* ecc.c (generate_curve): In fips mode enable only NIST curves.
|
||
|
|
||
|
* cipher.c (_gcry_cipher_selftest): New.
|
||
|
|
||
|
* sha512.c (_gcry_digest_extraspec_sha384)
|
||
|
(_gcry_digest_extraspec_sha512): New.
|
||
|
* sha256.c (_gcry_digest_extraspec_sha224)
|
||
|
(_gcry_digest_extraspec_sha256): New.
|
||
|
* sha1.c (_gcry_digest_extraspec_sha1): New.
|
||
|
* ecc.c (_gcry_pubkey_extraspec_ecdsa): New.
|
||
|
* dsa.c (_gcry_pubkey_extraspec_dsa): New.
|
||
|
* rsa.c (_gcry_pubkey_extraspec_rsa): New.
|
||
|
* rijndael.c (_gcry_cipher_extraspec_aes)
|
||
|
(_gcry_cipher_extraspec_aes192, _gcry_cipher_extraspec_aes256): New.
|
||
|
* des.c (_gcry_cipher_extraspec_tripledes): New.
|
||
|
|
||
|
* cipher.c (gcry_cipher_register): Rename to _gcry_cipher_register.
|
||
|
Add arg EXTRASPEC.
|
||
|
(dummy_extra_spec): New.
|
||
|
(cipher_table_entry): Add extraspec field.
|
||
|
* md.c (_gcry_md_register): Rename to _gcry_md_register. Add
|
||
|
arg EXTRASPEC.
|
||
|
(dummy_extra_spec): New.
|
||
|
(digest_table_entry): Add extraspec field.
|
||
|
* pubkey.c (gcry_pk_register): Rename to _gcry_pk_register. Add
|
||
|
arg EXTRASPEC.
|
||
|
(dummy_extra_spec): New.
|
||
|
(pubkey_table_entry): Add extraspec field.
|
||
|
|
||
|
* ac.c: Let most public functions return GPG_ERR_UNSUPPORTED in
|
||
|
fips mode.
|
||
|
|
||
|
* pubkey.c (pubkey_table_entry): Add field FIPS_ALLOWED and mark
|
||
|
appropriate algorithms.
|
||
|
(dummy_generate, dummy_check_secret_key, dummy_encrypt)
|
||
|
(dummy_decrypt, dummy_sign, dummy_verify, dummy_get_nbits): Signal
|
||
|
a fips error when used.
|
||
|
(gcry_pk_register): In fips mode do not allow to register new
|
||
|
algorithms.
|
||
|
|
||
|
* md.c (digest_table): Add field FIPS_ALLOWED and mark appropriate
|
||
|
algorithms.
|
||
|
(md_register_default): In fips mode register only fips algorithms.
|
||
|
(gcry_md_register): In fips mode do not allow to register new
|
||
|
algorithms.
|
||
|
(gcry_md_get): Signal a fips error if called.
|
||
|
(gcry_md_hash_buffer): Do not allow rmd160 when not in fips mode.
|
||
|
(md_start_debug): Disable in fips_mode.
|
||
|
|
||
|
* md.c (gcry_md_register_default): Rename to ..
|
||
|
(md_register_default): .. this.
|
||
|
(md_digest): Remove this commented fucntion.
|
||
|
* pubkey.c (gcry_pk_register_default): Rename to ..
|
||
|
(pk_register_default): .. this.
|
||
|
|
||
|
* cipher.c (cipher_table_entry): Add field FIPS_ALLOWED.
|
||
|
(gcry_cipher_register_default): Register only fips approved
|
||
|
algorithms.
|
||
|
(gcry_cipher_register): Do not allow to register new ciphers.
|
||
|
(cipher_setiv): Signal fips error.
|
||
|
|
||
|
* cipher (gcry_cipher_register_default): Rename to ..
|
||
|
(cipher_register_default): .. this.
|
||
|
(REGISTER_DEFAULT_CIPHERS): Adjust for that change.
|
||
|
|
||
|
2008-07-05 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* random-daemon.c, random.h, rndhw.c, rndunix.c, rand-internal.h
|
||
|
* random.c, rndegd.c, rndlinux.c, rndw32.c: Move to ../cipher.
|
||
|
* Makefile.am: Remove random stuff.
|
||
|
|
||
|
2008-06-24 Szakats Istvan <szaki.ms@gmail.com> (wk)
|
||
|
|
||
|
* ac.c (_gcry_ac_key_destroy, _gcry_ac_key_pair_generate): Relase
|
||
|
some more memory.
|
||
|
|
||
|
2008-04-22 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rijndael.c (_gcry_aes_cfb_enc, _gcry_aes_cbc_enc)
|
||
|
(_gcry_aes_cfb_dec, _gcry_aes_cbc_dec): Use Padlock if possible.
|
||
|
|
||
|
2008-04-18 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* sha1.c (transform_aligned): Remove. That is will obviosuly not
|
||
|
work because we need a scratch working area and our internal API
|
||
|
does not allow to modify the buffers.
|
||
|
|
||
|
* rijndael.c: Factor tables out to ..
|
||
|
* rijndael-tables.h: .. new.
|
||
|
|
||
|
* ac.c (ac_data_extract): Make static.
|
||
|
|
||
|
* camellia.h [HAVE_CONFIG_H]: Include config.h.
|
||
|
|
||
|
* rndw32.c (registry_poll): Only print the performance data
|
||
|
problem warning once. Suggested by Simon Josefsson.
|
||
|
|
||
|
2008-03-19 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* cipher.c (gcry_cipher_open) [USE_AES]: Init bulk encryption only
|
||
|
if requested. Suggested by Dirk Stoecker.
|
||
|
|
||
|
2008-03-18 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* sha1.c: Include stdint.h.
|
||
|
(transform): Add arg NBLOCKS so that we can work on more than one
|
||
|
block and avoid updates of the chaining variables. Changed all
|
||
|
callers to use 1.
|
||
|
(sha1_write): Replace loop around transform.
|
||
|
(transform_aligned) [WORDS_BIGENDIAN]: New.
|
||
|
(TRANSFORM): New macro to replace all direct calls of transform.
|
||
|
|
||
|
2008-03-17 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rijndael.c (_gcry_aes_cfb_dec): New.
|
||
|
(do_encrypt): Factor code out to ..
|
||
|
(do_encrypt_aligned): .. New.
|
||
|
(_gcry_aes_cfb_enc, _gcry_aes_cfb_dec): Use new function.
|
||
|
(do_decrypt): Factor code out to ..
|
||
|
(do_decrypt_aligned): .. new.
|
||
|
(_gcry_aes_cbc_enc, _gcry_aes_cbc_dec): New.
|
||
|
* cipher.c (struct gcry_cipher_handle): Put field IV into new
|
||
|
union U_IV to enforce proper alignment. Change all users.
|
||
|
(do_cfb_decrypt): Optimize.
|
||
|
(do_cbc_encrypt, do_cbc_decrypt): Optimize.
|
||
|
|
||
|
2008-03-15 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rijndael.c (_gcry_aes_cfb_enc): New.
|
||
|
* cipher.c (struct gcry_cipher_handle): Add field ALGO and BULK.
|
||
|
(gcry_cipher_open): Set ALGO and BULK.
|
||
|
(do_cfb_encrypt): Optimize.
|
||
|
|
||
|
2008-02-18 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rsa.c (_gcry_rsa_verify) [IS_DEVELOPMENT_VERSION]: Print
|
||
|
intermediate results.
|
||
|
|
||
|
2008-01-08 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* random.c (add_randomness): Do not just increment
|
||
|
POOL_FILLED_COUNTER but update it by the actual amount of data.
|
||
|
|
||
|
2007-12-13 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (sexp_data_to_mpi): Support SHA-224.
|
||
|
|
||
|
2007-12-05 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rijndael.c (USE_PADLOCK): Depend on ENABLE_PADLOCK_SUPPORT.
|
||
|
* rndhw.c (USE_PADLOCK): Ditto
|
||
|
|
||
|
* rsa.c (secret): Fixed condition test for using CRT. Reported by
|
||
|
Dean Scarff. Fixes bug#864.
|
||
|
(_gcry_rsa_check_secret_key): Return an erro if the optional
|
||
|
parameters are missing.
|
||
|
* pubkey.c (sexp_elements_extract): Add arg ALGO_NAME. Changed all
|
||
|
callers to pass NULL. Add hack to allow for optional RSA
|
||
|
parameters.
|
||
|
(sexp_to_key): Pass algo name to sexp_elements_extract.
|
||
|
|
||
|
2007-12-03 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* random.c (gcry_random_add_bytes): Implement it.
|
||
|
* rand-internal.h (RANDOM_ORIGIN_EXTERNAL): New.
|
||
|
|
||
|
2007-11-30 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rndhw.c: New.
|
||
|
* rndlinux.c (_gcry_rndlinux_gather_random): Try to read 50%
|
||
|
directly from the hwrng.
|
||
|
* random.c (do_fast_random_poll): Also run the hw rng fast poll.
|
||
|
(_gcry_random_dump_stats): Tell whether the hw rng failed.
|
||
|
|
||
|
2007-11-29 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rijndael.c (USE_PADLOCK): Define new macro used for ia32.
|
||
|
(RIJNDAEL_context) [USE_PADLOCK]: Add fields USE_PADLOCK and
|
||
|
PADLOCK_KEY.
|
||
|
(do_setkey) [USE_PADLOCK]: Enable padlock if available for 128 bit
|
||
|
AES.
|
||
|
(do_padlock) [USE_PADLOCK]: New.
|
||
|
(rijndael_encrypt, rijndael_decrypt) [USE_PADLOCK]: Divert to
|
||
|
do_padlock.
|
||
|
* cipher.c (cipher_context_alignment_t): New. Use it in this
|
||
|
module in place of PROPERLY_ALIGNED_TYPE.
|
||
|
(NEED_16BYTE_ALIGNED_CONTEXT): Define macro for ia32.
|
||
|
(struct gcry_cipher_handle): Add field HANDLE_OFFSET.
|
||
|
(gcry_cipher_open): Take care of increased alignment requirements.
|
||
|
(gcry_cipher_close): Ditto.
|
||
|
|
||
|
2007-11-28 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* sha256.c (asn224): Fixed wrong template. It happened due to a
|
||
|
bug in RFC4880. SHA-224 is not in the stable version of libgcrypt
|
||
|
so the consequences are limited to users of this devel version.
|
||
|
|
||
|
2007-10-31 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* ac.c (gcry_ac_data_new): Remove due to the visibility wrapper.
|
||
|
(gcry_ac_data_destroy, gcry_ac_data_copy, gcry_ac_data_length)
|
||
|
(gcry_ac_data_set, gcry_ac_data_get_name, gcry_ac_data_get_index)
|
||
|
(gcry_ac_data_to_sexp, gcry_ac_data_from_sexp)
|
||
|
(gcry_ac_data_clear, gcry_ac_io_init, gcry_ac_open)
|
||
|
(gcry_ac_close, gcry_ac_key_init, gcry_ac_key_pair_generate)
|
||
|
(gcry_ac_key_pair_extract, gcry_ac_key_destroy)
|
||
|
(gcry_ac_key_pair_destroy, gcry_ac_key_data_get)
|
||
|
(gcry_ac_key_test, gcry_ac_key_get_nbits, gcry_ac_key_get_grip)
|
||
|
(gcry_ac_data_encrypt, gcry_ac_data_decrypt, gcry_ac_data_sign)
|
||
|
(gcry_ac_data_verify, gcry_ac_data_encode, gcry_ac_data_decode)
|
||
|
(gcry_ac_mpi_to_os, gcry_ac_mpi_to_os_alloc, gcry_ac_os_to_mpi)
|
||
|
(gcry_ac_data_encrypt_scheme, gcry_ac_data_decrypt_scheme)
|
||
|
(gcry_ac_data_sign_scheme, gcry_ac_data_verify_scheme)
|
||
|
(gcry_ac_io_init_va): Ditto.
|
||
|
(gcry_ac_id_to_name, gcry_ac_name_to_id): Remove as these
|
||
|
deprecated functions are now implemented by visibility.c.
|
||
|
|
||
|
2007-10-26 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rndw32.c: Disable debug flag.
|
||
|
|
||
|
2007-10-25 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rndw32.c: Updated from current cryptlib snapshot and modified
|
||
|
for our use. Removed support from pre NT systems.
|
||
|
(slow_gatherer_windows95): Remove.
|
||
|
(_gcry_rndw32_gather_random): Require an NT platform.
|
||
|
(init_system_rng, read_system_rng, read_mbm_data): New.
|
||
|
(slow_gatherer_windowsNT): Rename to ...
|
||
|
(slow_gatherer): .. this. Read system RNG and MBM.
|
||
|
(registry_poll): New with code factored out from slow_gatherer.
|
||
|
|
||
|
2007-08-23 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* random.c (pool_filled_counter): New.
|
||
|
(add_randomness): Use it.
|
||
|
|
||
|
2007-08-22 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rndw32.c, rndunix.c: Switched to LGPL.
|
||
|
|
||
|
2007-05-30 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* camellia.h, camellia.c: Replace by new LGPL version and adjusted
|
||
|
camellia.h.
|
||
|
|
||
|
2007-05-09 Marcus Brinkmann <marcus@g10code.de>
|
||
|
|
||
|
* ac.c (_gcry_ac_io_init_va, _gcry_ac_io_write, _gcry_ac_io_read):
|
||
|
Adjust users of gcry_ac_io_t because union is not anonymous
|
||
|
anymore.
|
||
|
|
||
|
2007-05-02 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* camellia-glue.c (camellia_setkey, camellia_encrypt)
|
||
|
(camellia_decrypt): Recalculated used stack size in called
|
||
|
functions.
|
||
|
* camellia.h: Redefine external symbols.
|
||
|
|
||
|
2007-05-02 David Shaw <dshaw@jabberwocky.com>
|
||
|
|
||
|
* Makefile.am, cipher.c: Add Camellia.
|
||
|
|
||
|
* camellia-glue.c: New. The necessary glue to interface libgcrypt
|
||
|
to the stock NTT Camellia distribution.
|
||
|
|
||
|
* camellia.h, camellia.c: The stock NTT Camellia distribution
|
||
|
(GPL).
|
||
|
|
||
|
2007-04-30 David Shaw <dshaw@jabberwocky.com>
|
||
|
|
||
|
* cipher.c: Use #if instead of #ifdef as configure defines the
|
||
|
USE_cipher defines as 0 for disabled.
|
||
|
|
||
|
2007-04-30 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rndegd.c (_gcry_rndegd_set_socket_name): New.
|
||
|
|
||
|
2007-04-30 Marcus Brinkmann <marcus@g10code.de>
|
||
|
|
||
|
* ecc.c (ec2os): Fix relocation of short numbers.
|
||
|
|
||
|
* ecc.c (generate_key): Do not allocate D, which will be allocated
|
||
|
by GEN_K. Remove G. Fix test if g_x, g_y resp. q_x, q_y are
|
||
|
requested.
|
||
|
(_gcry_ecc_generate): Release unneeded members of SK.
|
||
|
* pubkey.c (sexp_to_key): Release NAME.
|
||
|
|
||
|
2007-04-28 Marcus Brinkmann <marcus@g10code.de>
|
||
|
|
||
|
* ac.c (gcry_ac_mpi): Remove member NAME_PROVIDED.
|
||
|
(ac_data_mpi_copy, _gcry_ac_data_set, _gcry_ac_data_get_name)
|
||
|
(_gcry_ac_data_get_index, ac_data_construct): Adjust handling of
|
||
|
NAME accordingly.
|
||
|
|
||
|
2007-04-20 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* ecc.c (domain_parms): Add standard brainpool curves.
|
||
|
|
||
|
2007-04-18 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* ecc.c (generate_curve): Implement alias mechanism.
|
||
|
|
||
|
* pubkey.c (sexp_elements_extract_ecc): New.
|
||
|
(sexp_to_key): Add special case for ecc.
|
||
|
(sexp_to_key, sexp_to_sig, sexp_to_enc, gcry_pk_genkey): Replace
|
||
|
name_terminated stuff by a call to _gcry_sexp_nth_string.
|
||
|
(gcry_pk_get_keygrip): Ditto.
|
||
|
|
||
|
2007-04-16 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* ecc.c (_gcry_ecc_generate): Renamed DUMMY to CURVE and use it.
|
||
|
|
||
|
2007-04-13 Marcus Brinkmann <marcus@g10code.de>
|
||
|
|
||
|
* ac.c (ac_data_construct): Cast const away to suppress compiler
|
||
|
warning.
|
||
|
|
||
|
* ecc.c (ecc_generate): Avoid compiler warning for unused argument
|
||
|
DUMMY.
|
||
|
(ecc_verify): Avoid compiler warning for unused arguments CMP and
|
||
|
OPAQUEV.
|
||
|
|
||
|
2007-04-06 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* sha1.c (oid_spec_sha1): Add another oid from X9.62.
|
||
|
|
||
|
2007-03-28 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_genkey): Do not issue misc-key-info if it is
|
||
|
empty.
|
||
|
(gcry_pk_genkey): New parameter "curve".
|
||
|
|
||
|
* ecc.c: Entirely rewritten with only a few traces of the old
|
||
|
code left.
|
||
|
(_gcry_ecc_generate): New.
|
||
|
(generate_key) New arg NAME.
|
||
|
(generate_curve): Ditto. Return actual number of NBITS.
|
||
|
|
||
|
2007-03-26 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_genkey): Increase size of SKEY array and add a
|
||
|
runtime bounds check.
|
||
|
|
||
|
2007-03-23 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* ecc.c (ecc_ctx_init, ecc_ctx_free, ecc_mod, ecc_mulm): New.
|
||
|
(duplicate_point, sum_points, escalar_mult): Don't use a
|
||
|
copy of base->p. Replaced all mpi_mulm by ecc_mulm so that we can
|
||
|
experiment with different algorithms.
|
||
|
(generate_key, check_secret_key, sign, verify): Initialize a
|
||
|
computation context for use by ecc_mulm.
|
||
|
|
||
|
2007-03-22 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (pubkey_table): Initialize ECC.
|
||
|
* Makefile.am (EXTRA_libcipher_la_SOURCES): Add ecc.c.
|
||
|
* ecc.c: New. Heavily reformatted and changed for use in libgcrypt.
|
||
|
(point_init): New.
|
||
|
(escalar_mult): Make arg R the first arg to be similar to the mpi
|
||
|
functions.
|
||
|
(duplicate_point): Ditto
|
||
|
(sum_points): Ditto
|
||
|
(sign, verify): Remove unneeded copy operations.
|
||
|
(sum_points): Removed memory leaks and optimized some compares.
|
||
|
(verify): Simplified input check.
|
||
|
|
||
|
2007-03-14 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* random.c (MASK_LEVEL): Removed macro as it was used only at one
|
||
|
place. Open coded it there.
|
||
|
(gcry_randomize, _gcry_update_random_seed_file)
|
||
|
(_gcry_fast_random_poll): Factor lock code out to ..
|
||
|
(lock_pool, unlock_pool): .. new.
|
||
|
(initialize): Look the pool while allocating.
|
||
|
(read_random_source, do_fast_random_poll): Moved intialization to ...
|
||
|
(initialize): .. here.
|
||
|
(_gcry_enable_quick_random_gen): No more need for initialization.
|
||
|
(is_initialized): Moved this global flag to ..
|
||
|
(initialize): .. here and changed all users to unconditionally call
|
||
|
initialize.
|
||
|
(add_randomness): Remove initalization here. It simply can't
|
||
|
happen.
|
||
|
|
||
|
* random.c (enum random_origins): Moved to ..
|
||
|
* rand-internal.h: .. here.
|
||
|
* rndunix.c (_gcry_rndunix_gather_random): Use enum in prototype
|
||
|
for ORIGIN and renamed REQUESTOR to ORIGIN.
|
||
|
* rndegd.c (_gcry_rndegd_gather_random): Ditto.
|
||
|
* rndlinux.c (_gcry_rndlinux_gather_random): Ditto.
|
||
|
* rndw32.c (_gcry_rndw32_gather_random): Ditto.
|
||
|
(_gcry_rndw32_gather_random_fast): Ditto.
|
||
|
|
||
|
2007-03-13 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* random.c (enum random_origins): New.
|
||
|
(add_randomness): Renamed arg SOURCE to ORIGIN.
|
||
|
(read_random_source): Renamed arg REQUESTOR to ORIGIN.
|
||
|
(getfnc_gather_random): Removed static variable because this
|
||
|
function is only called one and thus we don't need this
|
||
|
optimization.
|
||
|
(_gcry_quick_random_gen): Removed and replaced by..
|
||
|
(_gcry_enable_quick_random_gen): .. this. It is onlyu used to
|
||
|
enable it and it does not make sense to disable it later. Changed
|
||
|
the only one caller too.
|
||
|
(get_random_bytes): Removed.
|
||
|
(gcry_random_bytes, gcry_random_bytes_secure): Implement in terms
|
||
|
of gcry_randomize.
|
||
|
* random-daemon.c (_gcry_daemon_get_random_bytes): Removed.
|
||
|
|
||
|
2007-02-23 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* elgamal.c (generate): Removed unused variable TEMP.
|
||
|
(test_keys): New arg NODIE.
|
||
|
(generate_using_x, _gcry_elg_generate_using_x): New.
|
||
|
* pubkey.c (pubkey_generate): New arg XVALUE and direct call to
|
||
|
the new elgamal generate fucntion.
|
||
|
(gcry_pk_genkey): Parse the new "xvalue" tag.
|
||
|
|
||
|
2007-02-22 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (sexp_data_to_mpi): Handle dynamically allocated
|
||
|
algorithms. Suggested by Neil Dunbar. Fixes bug#596.
|
||
|
|
||
|
* rndw32.c (_gcry_rndw32_gather_random_fast): Make it return void.
|
||
|
|
||
|
* cipher.c (gcry_cipher_algo_name): Simplified.
|
||
|
|
||
|
* random.c: Use the daemon only if compiled with USE_RANDOM_DAEMON.
|
||
|
|
||
|
* Makefile.am (libcipher_la_SOURCES): Build random-daemon support
|
||
|
only if requested.
|
||
|
|
||
|
2007-02-21 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* random.c (rndpool, keypool): Make unsigned.
|
||
|
(mix_pool): Change char* variables to unsigned char*.
|
||
|
(gcry_randomize): Make arg BUFFER a void*.
|
||
|
(gcry_create_nonce): Ditto.
|
||
|
|
||
|
* rmd160.c (gcry_rmd160_mixblock): Make BUFFER a void*.
|
||
|
(_gcry_rmd160_hash_buffer): Make OUTBUF and BUFFER void*.
|
||
|
* sha1.c (_gcry_sha1_hash_buffer): Ditto.
|
||
|
|
||
|
* cipher.c (gcry_cipher_encrypt, cry_cipher_decrypt): Change
|
||
|
buffer args to void*.
|
||
|
(gcry_cipher_register): Make ALGORITHM_ID a int *.
|
||
|
|
||
|
* md.c (md_start_debug): Make SUFFIX a const char*. Use snprintf.
|
||
|
(gcry_md_debug): New.
|
||
|
(gcry_md_ctl): Changed arg BUFFER from unsigned char*.
|
||
|
|
||
|
* md.c (md_write): Make INBUF a const void*.
|
||
|
(gcry_md_write): Remove needless cast.
|
||
|
* crc.c (crc32_write): Make INBUF a const void*
|
||
|
(update_crc32, crc24rfc2440_write): Ditto.
|
||
|
* sha512.c (sha512_write, transform): Ditto.
|
||
|
* sha256.c (sha256_write, transform): Ditto.
|
||
|
* rmd160.c (rmd160_write, transform): Ditto.
|
||
|
* md5.c (md5_write, transform): Ditto.
|
||
|
* md4.c (md4_write, transform): Ditto.
|
||
|
* sha1.c (sha1_write, transform): Ditto.
|
||
|
|
||
|
* tiger.c (tiger_write, transform): Ditto.
|
||
|
* whirlpool.c (whirlpool_write, whirlpool_add, transform): Ditto.
|
||
|
|
||
|
* elgamal.c (elg_names): Change to a const*.
|
||
|
* dsa.c (dsa_names): Ditto.
|
||
|
* rsa.c (rsa_names): Ditto.
|
||
|
* pubkey.c (gcry_pk_lookup_func_name): Make ALIASES a const.
|
||
|
|
||
|
2007-02-20 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rndlinux.c (open_device): Remove unsused arg MINOR.
|
||
|
|
||
|
2007-01-30 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* sha256.c (oid_spec_sha256): Add alias from pkcs#1.
|
||
|
* sha512.c (oid_spec_sha512): Ditto.
|
||
|
(oid_spec_sha384): Ditto.
|
||
|
|
||
|
2006-12-18 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rndlinux.c (set_cloexec_flag): New.
|
||
|
(open_device): Set close-on-exit flags. Suggested by Max
|
||
|
Kellermann. Fixes Debian#403613.
|
||
|
|
||
|
* Makefile.am (AM_CPPFLAGS, AM_CFLAGS): Splitted and merged
|
||
|
Moritz' changes.
|
||
|
(INCLUDES): Removed.
|
||
|
|
||
|
2006-11-30 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* serpent.c (byte_swap_32): Remove trailing semicolon.
|
||
|
|
||
|
2006-11-15 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* Makefile.am (INCLUDES): Include ../src/
|
||
|
|
||
|
2006-11-03 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* random.c [HAVE_GETTIMEOFDAY]: Included sys/time.h and not
|
||
|
sys/times.h. Reported by Rafaël Carré.
|
||
|
|
||
|
2006-11-05 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* Makefile.am (AM_CFLAGS): Added -I$(top_builddir)/src so that the
|
||
|
new gcrypt.h is used, not the one installed in the system.
|
||
|
|
||
|
2006-10-25 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* primegen.c (prime_generate_internal): Tweaked use of secure
|
||
|
memory and entropy use. Safe unused primes from the pool. Allocate
|
||
|
at least a pool of 30.
|
||
|
(save_pool_prime, get_pool_prime): New.
|
||
|
|
||
|
2006-10-23 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* ac.c (_gcry_ac_data_from_sexp): Reset sexp_tmp for failsafe
|
||
|
means. Release sexp_cur if needed. Reported by Dirk Stoecker.
|
||
|
|
||
|
* pubkey.c (pubkeys_registered_lock): Intialized it. It is not
|
||
|
realy needed because this is a mere initialization to 0 anyway.
|
||
|
Noted by Victor Stinner.
|
||
|
|
||
|
2006-10-17 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* dsa.c (_gcry_dsa_generate2): New.
|
||
|
(generate): New arg QBITS. Add sanity checks for reasonable qbits
|
||
|
and nbits.
|
||
|
* pubkey.c (gcry_pk_genkey): Parse an qbits element.
|
||
|
(pubkey_generate): New arg QBITS. Pass it to the DSA generation.
|
||
|
|
||
|
2006-10-05 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* md.c (gcry_md_algo_info) <get_asnoid>: Check that the algo is
|
||
|
available.
|
||
|
|
||
|
2006-10-04 David Shaw <dshaw@jabberwocky.com> (wk)
|
||
|
|
||
|
* tiger.c (round): Rename to tiger_round as gcc 4 has a built-in
|
||
|
round function that this conflicts with.
|
||
|
|
||
|
2006-09-11 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rndw32.c (slow_gatherer_windowsNT): While adding data use the
|
||
|
size of the diskPerformance and not its address. Has been fixed in
|
||
|
GnuPG more than a year ago. Noted by Lee Fisher.
|
||
|
|
||
|
2006-08-30 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (sexp_data_to_mpi): Need to allow "ripemd160" here as
|
||
|
this is the canonical name.
|
||
|
|
||
|
2006-08-29 Hye-Shik Chang <perky@FreeBSD.org> (wk)
|
||
|
|
||
|
* seed.c: New.
|
||
|
|
||
|
2006-08-03 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* random-daemon.c (_gcry_daemon_initialize_basics): Don't
|
||
|
initialize the socket. Remove arg SOCKETNAME.
|
||
|
(connect_to_socket): Make sure that daemon is set to -1 on error.
|
||
|
(call_daemon): Initialize the socket on the first call.
|
||
|
(_gcry_daemon_randomize, _gcry_daemon_get_random_bytes)
|
||
|
(_gcry_daemon_create_nonce): New arg SOCKETNAME.
|
||
|
* random.c (initialize): Call new daemon initializator.
|
||
|
(get_random_bytes, gcry_randomize, gcry_create_nonce): Pass socket
|
||
|
name to daemon call and reset allow_daemon on failure.
|
||
|
|
||
|
2006-07-26 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rmd160.c (_gcry_rmd160_mixblock): Add cast to transform call.
|
||
|
|
||
|
* blowfish.c (selftest): Cast string to usnigned char*.
|
||
|
|
||
|
* primegen.c (prime_generate_internal): Cast unsigned/char*
|
||
|
mismatch in calling m_out_of_n.
|
||
|
(is_prime): Changed COUNT to unsigned int *.
|
||
|
|
||
|
* ac.c (_gcry_ac_data_copy): Initialize DATA_MPIS.
|
||
|
|
||
|
* random.c (gcry_create_nonce): Update the pid after a fork.
|
||
|
Reported by Uoti Urpala.
|
||
|
|
||
|
2006-07-04 Marcus Brinkmann <marcus@g10code.de>
|
||
|
|
||
|
* sha512.c: Fix typo in copyright notice.
|
||
|
|
||
|
2006-06-21 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rsa.c (_gcry_rsa_generate): Replace xcalloc by calloc.
|
||
|
* pubkey.c (gcry_pk_encrypt, gcry_pk_sign): Ditto.
|
||
|
(sexp_to_key, sexp_to_sig, sexp_to_enc, gcry_pk_encrypt)
|
||
|
(gcry_pk_sign, gcry_pk_genkey, gcry_pk_get_keygrip): Ditto.
|
||
|
* md.c (md_copy): Ditto.
|
||
|
|
||
|
2006-04-22 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* random-daemon.c (_gcry_daemon_initialize_basics): New argument:
|
||
|
SOCKETNAME. Passing on to connect_to_socket() if non-NULL.
|
||
|
(connect_to_socket, writen, readn, call_daemon): New functions.
|
||
|
(_gcry_daemon_randomize, _gcry_daemon_get_random_bytes)
|
||
|
(_gcry_daemon_create_nonce): Call call_daemon().
|
||
|
(RANDOM_DAEMON_SOCKET): New symbol.
|
||
|
(daemon_socket): New static variable.
|
||
|
|
||
|
* random.h (_gcry_daemon_initialize_basics): New parameter:
|
||
|
SOCKETNAME.
|
||
|
(_gcry_set_random_daemon_socket): New declaration.
|
||
|
|
||
|
* random.c (initialize_basics): Pass DAEMON_SOCKET_NAME to
|
||
|
_gcry_daemon_initialize_basics.
|
||
|
(_gcry_set_random_daemon_socket): New function, setting
|
||
|
DAEMON_SOCKET_NAME.
|
||
|
|
||
|
2006-04-01 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c (eme_pkcs_v1_5_encode): Use KEY_SIZE directly, no need to
|
||
|
call gcry_ac_key_get_nbits.
|
||
|
(eme_pkcs_v1_5_decode): Likewise.
|
||
|
(ac_es_dencode_prepare_pkcs_v1_5): Fill options_em structure with
|
||
|
key_size.
|
||
|
(_gcry_ac_data_dump, gcry_ac_data_dump): New functions.
|
||
|
(_gcry_ac_data_to_sexp, _gcry_ac_data_from_sexp): More or less
|
||
|
rewritten; changed S-Expression format so that it matches the one
|
||
|
used in pubkey.c.
|
||
|
|
||
|
2006-03-15 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* random-daemon.c: New.
|
||
|
* random.c (_gcry_use_random_daemon): New.
|
||
|
(get_random_bytes, gcry_randomize, gcry_create_nonce): Try
|
||
|
diverting to the daemon functions.
|
||
|
|
||
|
2006-03-14 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* random.c (lock_seed_file): New.
|
||
|
(read_seed_file, _gcry_update_random_seed_file): Use it.
|
||
|
|
||
|
* random.c (gcry_create_nonce): Detect a fork and re-seed.
|
||
|
(read_pool): Fixed the fork detection; it used to work only for
|
||
|
multi-threaded processes.
|
||
|
|
||
|
2006-03-12 Brad Hards <bradh@frogmouth.net> (wk)
|
||
|
|
||
|
* md.c (md_open): Use new variable macpads_Bsize instead of
|
||
|
hardwiring the block size. Changed at all places.
|
||
|
|
||
|
2006-03-10 Brad Hards <bradh@frogmouth.net> (wk, patch 2005-04-22)
|
||
|
|
||
|
* md.c, sha256.c: Add support for SHA-224.
|
||
|
(sha224_init): New.
|
||
|
|
||
|
2006-01-18 Brad Hards <bradh@frogmouth.net> (wk 2006-03-07)
|
||
|
|
||
|
* cipher.c (cipher_encrypt, cipher_decrypt, do_ofb_encrypt)
|
||
|
(do_ofb_decrypt, gcry_cipher_open): Implement Output Feedback Mode.
|
||
|
|
||
|
2005-11-02 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_algo_name): Return "?" instead of NULL for
|
||
|
unknown algorithm IDs.
|
||
|
* cipher.c (cipher_algo_to_string): Likewise.
|
||
|
|
||
|
2005-11-01 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_algo_info): Don't forget to break after switch
|
||
|
case.
|
||
|
|
||
|
2005-09-19 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* dsa.c (generate): Add preliminary support for 2 and 4 keys.
|
||
|
Return an error code if the key size is not supported.
|
||
|
(_gcry_dsa_generate): Return an error.
|
||
|
|
||
|
2005-08-22 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* primegen.c (check_prime): New arg RM_ROUNDS.
|
||
|
(prime_generate_internal): Call it here with 5 rounds as used
|
||
|
before.
|
||
|
(gcry_prime_check): But here with 64 rounds.
|
||
|
(is_prime): Make sure never to use less than 5 rounds.
|
||
|
|
||
|
2005-04-16 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c (_gcry_ac_init): New function.
|
||
|
|
||
|
2005-04-12 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c (_gcry_ac_io_write, _gcry_ac_io_read): Initialize err to
|
||
|
make the compiler happy.
|
||
|
Always use errno, now that gcry_malloc() is guaranteed to set
|
||
|
errno on failure.
|
||
|
(_gcry_ac_data_to_sexp): Don't forget to goto out after error in
|
||
|
loop.
|
||
|
(_gcry_ac_data_to_sexp): Remove unused variable: mpi_list;
|
||
|
(_gcry_ac_data_to_sexp): Always deallocate sexp_buffer.
|
||
|
(_gcry_ac_data_from_sexp): Don't forget to initialize data_set_new.
|
||
|
(_gcry_ac_data_from_sexp): Handle special case, which is
|
||
|
necessary, since gcry_sexp_nth() does not distinguish between
|
||
|
"element does not exist" and "element is the empty list".
|
||
|
(_gcry_ac_io_init_va): Use assert to make sure that mode and type
|
||
|
are correct.
|
||
|
Use gcry_error_t types where gcry_err_code_t types have been used
|
||
|
before.
|
||
|
|
||
|
2005-04-11 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c (_gcry_ac_data_sign_scheme): Don't forget to initialize
|
||
|
buffer.
|
||
|
|
||
|
* whirlpool.c: New file.
|
||
|
* md.c (digest_table): Add whirlpool.
|
||
|
* Makefile.am (EXTRA_libcipher_la_SOURCES): Added: whirlpool.c.
|
||
|
|
||
|
2005-03-30 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c (_gcry_ac_data_from_sexp): Use length of SEXP_CUR, not
|
||
|
length of SEXP; do not forget to set SEXP_TMP to NULL after it has
|
||
|
been released.
|
||
|
|
||
|
(struct gcry_ac_mpi): New member: name_provided.
|
||
|
(_gcry_ac_data_set): Rename variable `name_final' to `name_cp';
|
||
|
remove const qualifier; change code to not cast away const
|
||
|
qualifiers; use name_provided member as well.
|
||
|
(_gcry_ac_data_set, _gcry_ac_data_get_name): Use name_provided
|
||
|
member of named mpi structure.
|
||
|
|
||
|
(gcry_ac_name_to_id): Do not forget to initialize err.
|
||
|
(_gcry_ac_data_get_index): Do not forget to initialize mpi_return;
|
||
|
use gcry_free() instead of free(); remove unnecessary cast; rename
|
||
|
mpi_return and name_return to mpi_cp and name_cp; adjust code.
|
||
|
(ac_data_mpi_copy): Do not cast away const qualifier.
|
||
|
(ac_data_values_destroy): Likewise.
|
||
|
(ac_data_construct): Likewise.
|
||
|
|
||
|
(ac_data_mpi_copy): Initialize flags to GCRY_AC_FLAG_DEALLOC.
|
||
|
(ac_data_extract): Use GCRY_AC_FLAG_DEALLOC instead of
|
||
|
GCRY_AC_FLAG_COPY.
|
||
|
|
||
|
(_gcry_ac_io_init_va, _gcry_ac_io_init, gcry_ac_io_init)
|
||
|
(gcry_ac_io_init_va, _gcry_ac_io_write, _gcry_ac_io_read)
|
||
|
(_gcry_ac_io_read_all, _gcry_ac_io_process): New functions.
|
||
|
(gry_ac_em_dencode_t): Use gcry_ac_io_t in prototype instead of
|
||
|
memroy strings directly; adjust encode/decode functions to use io
|
||
|
objects.
|
||
|
(emsa_pkcs_v1_5_encode_data_cb): New function ...
|
||
|
(emsa_pkcs_v1_5_encode): ... use it here.
|
||
|
(ac_data_dencode): Use io objects.
|
||
|
(_gcry_ac_data_encode, _gcry_ac_data_decode, gcry_ac_data_encode)
|
||
|
(gcry_ac_data_decode): Likewise.
|
||
|
(_gcry_ac_data_encrypt_scheme, gcry_ac_data_encrypt_scheme)
|
||
|
(_gcry_ac_data_decrypt_scheme, gcry_ac_data_decrypt_scheme)
|
||
|
(_gcry_ac_data_sign_scheme, gcry_ac_data_sign_scheme)
|
||
|
(_gcry_ac_data_verify_scheme, gcry_ac_data_verify_scheme):
|
||
|
Likewise.
|
||
|
|
||
|
2005-03-23 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* rndw32.c (_gcry_rndw32_gather_random_fast): While adding data
|
||
|
use the size of the object and not the one of its address. Bug
|
||
|
reported by Sascha Kiefer.
|
||
|
|
||
|
2005-03-19 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* cipher.c (do_cbc_encrypt): Be careful to not overwrite data,
|
||
|
which is to be used later on. This happend, in case CTS is
|
||
|
enabled and OUTBUF is equal to INBUF.
|
||
|
|
||
|
2005-02-25 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_get_keygrip): Allow for shadowed-private-key.
|
||
|
|
||
|
2005-02-13 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* serpent.c: Updated from 1.2 branch:
|
||
|
|
||
|
s/u32_t/u32/ and s/byte_t/byte/. Too match what we have always
|
||
|
used and are using in all other files too
|
||
|
(serpent_test): Moved prototype out of a fucntion.
|
||
|
|
||
|
2005-02-07 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c: Major parts rewritten.
|
||
|
* pubkey.c (_gcry_pk_get_elements): New function.
|
||
|
|
||
|
2004-12-09 Werner Koch <wk@g10code.com>
|
||
|
|
||
|
* serpent.c (serpent_setkey): Moved prototype of serpent_test to
|
||
|
outer scope.
|
||
|
|
||
|
2004-09-11 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (pubkey_table): Added an alias entry for GCRY_PK_ELG_E.
|
||
|
|
||
|
2004-08-23 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c: Do not include <assert.h>.
|
||
|
* rndegd.c: Likewise.
|
||
|
* sha1.c: Likewise.
|
||
|
* rndunix.c: Likewise.
|
||
|
* rndlinux.c: Likewise.
|
||
|
* rmd160.c: Likewise.
|
||
|
* md5.c: Likewise.
|
||
|
* md4.c: Likewise.
|
||
|
* cipher.c: Likewise.
|
||
|
* crc.c: Likewise.
|
||
|
* blowfish.c: Likewise.
|
||
|
|
||
|
* pubkey.c (dummy_generate, dummy_check_secret_key)
|
||
|
(dummy_encrypt, dummy_decrypt, dummy_sign, dummy_verify): Return
|
||
|
err code GPG_ERR_NOT_IMPLEMENTED instead of aborting through
|
||
|
log_bug().
|
||
|
(dummy_get_nbits): Return 0 instead of aborting though log_bug().
|
||
|
|
||
|
2004-08-19 Werner Koch <wk@g10code.de>
|
||
|
|
||
|
* pubkey.c (sexp_data_to_mpi): Changed the zero random byte
|
||
|
substituting code to actually do clever things. Thanks to
|
||
|
Matthias Urlichs for noting the implementation problem.
|
||
|
|
||
|
2004-08-09 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_sign): Fixed memory leak; fix provided by
|
||
|
Modestas Vainius.
|
||
|
|
||
|
2004-07-16 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rijndael.c (do_encrypt): Fix alignment problem. Bugs found by
|
||
|
Matthias Urlichs.
|
||
|
(do_decrypt): Ditto.
|
||
|
(keySched, keySched2): Use 2 macros along with unions in the key
|
||
|
schedule context.
|
||
|
|
||
|
2004-07-14 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* rsa.c (_gcry_rsa_decrypt): Don't forget to free "a". Thanks to
|
||
|
Nikos Mavroyanopoulos.
|
||
|
|
||
|
2004-05-09 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c (read_pool): Mix the PID in to better protect after a
|
||
|
fork.
|
||
|
|
||
|
2004-07-04 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* serpent.c: Use "u32_t" instead of "unsigned long", do not
|
||
|
declare S-Box variables as "register". Fixes failure on
|
||
|
OpenBSD/sparc64, reported by Nikolay Sturm.
|
||
|
|
||
|
2004-05-07 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c (initialize): Factored out some code to ..
|
||
|
(initialize_basics): .. new function.
|
||
|
(_gcry_random_initialize): Just call initialize_basics unless the
|
||
|
new arg FULL is set to TRUE.
|
||
|
(_gcry_fast_random_poll): Don't do anything unless the random
|
||
|
system has been really initialized.
|
||
|
|
||
|
2004-05-07 Moritz Schulte <moritz@g10code.de>
|
||
|
|
||
|
* ac.c (gcry_ac_open): Do not dereference NULL pointer. Reported
|
||
|
by Umberto Salsi.
|
||
|
|
||
|
2004-02-20 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* primegen.c (check_prime): New args CB_FUNC and CB_ARG; call them
|
||
|
at different stages. Pass these arguments through all callers.
|
||
|
|
||
|
2004-02-06 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* des.c: Add a new OID as used by pkcs#12.
|
||
|
|
||
|
* rfc2268.c: New. Taken from libgcrypt.
|
||
|
* cipher.c: Setup the rfc2268 algorithm.
|
||
|
|
||
|
2004-01-25 Moritz Schulte <mo@g10code.com>
|
||
|
|
||
|
* primegen.c (prime_generate_internal): Do not forget to free
|
||
|
`q_factor'; fixed by Brieuc Jeunhomme.
|
||
|
(prime_generate_internal): Do not forget to free `prime'.
|
||
|
|
||
|
2004-01-14 Moritz Schulte <mo@g10code.com>
|
||
|
|
||
|
* ac.c (gcry_ac_data_set): New argument: flags; slightly
|
||
|
rewritten.
|
||
|
(gcry_ac_data_get_name, gcry_ac_data_get_index): Likewise.
|
||
|
(gcry_ac_key_pair_generate): New argument: misc_data; modified
|
||
|
order of arguments.
|
||
|
(gcry_ac_key_test): New argument: handle.
|
||
|
(gcry_ac_key_get_nbits, gcry_ac_key_get_grip): Likewise.
|
||
|
Use GCRY_AC_FLAG_NO_BLINDING instead of
|
||
|
GCRY_AC_DATA_FLAG_NO_BLINDING.
|
||
|
(gcry_ac_mpi): New member: flags.
|
||
|
(gcry_ac_data_search, gcry_ac_data_add): Removed functions.
|
||
|
|
||
|
2003-12-22 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* primegen.c (is_prime): Release A2.
|
||
|
|
||
|
2003-12-19 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c: Moved a couple of functions down below the data structure
|
||
|
definitions.
|
||
|
(struct gcry_md_context): New field ACTUAL_HANDLE_SIZE.
|
||
|
(md_open): Set it here.
|
||
|
(strcut gcry_md_list): New field ACTUAL_STRUCT_SIZE.
|
||
|
(md_enable): Set it here.
|
||
|
(md_close): Wipe the context memory.
|
||
|
secure memory.
|
||
|
* cipher.c (struct gcry_cipher_handle): New field ACTUAL_HANDLE_SIZE.
|
||
|
(gcry_cipher_open): Set it here.
|
||
|
(gcry_cipher_close): Use it to always wipe out the handle data.
|
||
|
|
||
|
* ac.c (gcry_ac_open): Make sure HANDLE gets initialized even when
|
||
|
the function is not successful.
|
||
|
(gcry_ac_close): Allow a NULL handle.
|
||
|
(gcry_ac_key_destroy, gcry_ac_key_pair_destroy): Ditto.
|
||
|
(gcry_ac_key_get_grip): Return INV_OBJ on error.
|
||
|
|
||
|
* primegen.c (prime_generate_internal): Fixed error code for
|
||
|
failed malloc. Replaced the !err if chain by gotos.
|
||
|
(gcry_prime_group_generator): Remove the extra sanity check.
|
||
|
|
||
|
* md.c: Minor code and comment cleanups.
|
||
|
|
||
|
2003-12-16 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* primegen.c (gen_prime): Doc fix. Thanks to Newton Hammet.
|
||
|
|
||
|
2003-12-11 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rndunix.c (slow_poll): Don't use #warning but #error.
|
||
|
|
||
|
* rndegd.c: Changed indentation.
|
||
|
(my_make_filename): Removd the var_arg cruft becuase we
|
||
|
don't need it here. Changed caller.
|
||
|
|
||
|
* rndlinux.c: Changed indentation.
|
||
|
(open_device): Remove the superfluous stat call and clarify
|
||
|
comment.
|
||
|
|
||
|
* rsa.c: Changed indentation.
|
||
|
(secret): Use the standard algorithm if p, q and u are not
|
||
|
available.
|
||
|
(rsa_blind, rsa_unblind): Renamed from _gcry_rsa_blind,
|
||
|
_gcry_rsa_unblind and moved more to the top.
|
||
|
|
||
|
* md4.c: Changed indentation. Removed unnecessary casts.
|
||
|
* md5.c, rmd160.c, sha1.c, tiger.c: Ditto.
|
||
|
* rijndael.c, twofish.c: Ditto.
|
||
|
* serpent.c: Removed unnecessary casts.
|
||
|
* sha256.c, sha512.c: Ditto.
|
||
|
|
||
|
2003-12-09 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* dsa.c: Unified indentation style.
|
||
|
* elgamal.c: Ditto.
|
||
|
* des.c (des_key_schedule): Code beautifications.
|
||
|
* blowfish.c: Changed indentation style.
|
||
|
* cast5.c (do_cast_setkey): Ditto.
|
||
|
|
||
|
* pubkey.c (gcry_pk_encrypt): Replaced the chain of if(!err) tests
|
||
|
by straightforward gotos. Other cleanups.
|
||
|
(gcry_pk_decrypt): Ditto.
|
||
|
(gcry_pk_sign): Ditto.
|
||
|
(gcry_pk_verify): Ditto.
|
||
|
(gcry_pk_genkey): Ditto. Use strtoul instead of strtol.
|
||
|
(gcry_pk_ctl): Use GPG_ERR_INV_ARG to indicate bad arguments.
|
||
|
|
||
|
2003-12-07 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c (gcry_pk_register_default): Undef the helper macro.
|
||
|
(gcry_pk_map_name): Allow NULL for string.
|
||
|
(sexp_to_key): Use memcpy and not strncpy. Use gcry_free and not
|
||
|
free.
|
||
|
(sexp_to_sig): Ditto.
|
||
|
(sexp_to_enc): Ditto. Replaced the chain of if(!err) tests by
|
||
|
straightforward gotos.
|
||
|
|
||
|
2003-12-05 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* cipher.c: Documentation cleanups.
|
||
|
(gcry_cipher_mode_from_oid): Allow NULL for STRING.
|
||
|
|
||
|
2003-12-03 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* elgamal.c (sign, do_encrypt, gen_k): Make sure that a small K is
|
||
|
only used for encryption.
|
||
|
|
||
|
2003-11-18 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.h (rndw32_set_dll_name): Removed unused prototype.
|
||
|
|
||
|
* Makefile.am (EXTRA_DIST): Added Manifest.
|
||
|
|
||
|
2003-11-11 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* Manifest: New.
|
||
|
|
||
|
2003-11-04 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (gcry_md_hash_buffer): Use shortcut for SHA1
|
||
|
* sha1.c (_gcry_sha1_hash_buffer): New.
|
||
|
|
||
|
* random.c: Reformatted most functions.
|
||
|
(mix_pool): Moved the failsafe_digest from global
|
||
|
scope to here.
|
||
|
(do_fast_random_poll): Use the generic fucntions even if a fast
|
||
|
gathering function has been used.
|
||
|
(read_pool): Detect a fork and retry.
|
||
|
(gcry_randomize, get_random_bytes): Don't distinguish anymore
|
||
|
between weak and strong random.
|
||
|
(gcry_create_nonce): New.
|
||
|
|
||
|
2003-10-31 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rndw32.c (slow_gatherer_windowsNT): Use a plain buffer for the
|
||
|
disk performance values and not the W32 API structure.
|
||
|
|
||
|
* dsa.c (verify): s/exp/ex/ due to shadowing of a builtin.
|
||
|
* elgamal.c (verify): Ditto.
|
||
|
|
||
|
* ac.c (gcry_ac_data_get_index): s/index/idx/
|
||
|
(gcry_ac_data_copy_internal): Remove the cast in _gcry_malloc.
|
||
|
(gcry_ac_data_add): Must use gcry_realloc instead of realloc.
|
||
|
* pubkey.c (sexp_elements_extract): s/index/idx/ as tribute to the
|
||
|
forehackers.
|
||
|
(gcry_pk_encrypt): Removed shadowed definition of I. Reordered
|
||
|
arguments to malloc for clarity.
|
||
|
(gcry_pk_sign, gcry_pk_genkey): Ditto.
|
||
|
* primegen.c (prime_generate_internal): s/random/randomlevel/.
|
||
|
|
||
|
2003-10-27 Moritz Schulte <mo@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_encrypt): Don't forget to deallocate pkey.
|
||
|
|
||
|
2003-10-27 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c (gcry_random_add_bytes): Return if buflen is zero to
|
||
|
avoid gcc warning about unsed parameter.
|
||
|
(MASK_LEVEL): Simplified; does now work for signed and unsigned
|
||
|
w/o warnings.
|
||
|
|
||
|
* md.c (md_start_debug): Removed the const from SUFFIX, because
|
||
|
this function is called from the control fucntion which does not
|
||
|
require const.
|
||
|
|
||
|
Prefixed all (pubkey,digest,cipher}_spec_* globale variables with
|
||
|
_gcry_.
|
||
|
|
||
|
* ac.c (ac_key_identifiers): Made static.
|
||
|
|
||
|
* random.c (getfnc_gather_random,getfnc_fast_random_poll): Move
|
||
|
prototypes to ..
|
||
|
* rand-internal.h: .. here
|
||
|
* random.c (getfnc_gather_random): Include rndw32 gatherer.
|
||
|
* rndunix.c, rndw32.c, rndegd.c: Include them here.
|
||
|
* rndlinux.c (_gcry_rndlinux_gather_random): Prepend the _gcry_
|
||
|
prefix. Changed all callers.
|
||
|
* rndegd.c (_gcry_rndegd_gather_random): Likewise.
|
||
|
(_gcry_rndegd_connect_socket): Likewise.
|
||
|
* rndunix.c (_gcry_rndunix_gather_random): Likewise.
|
||
|
(waitpid): Made static.
|
||
|
* rndw32.c: Removed the old and unused winseed.dll cruft.
|
||
|
(_gcry_rndw32_gather_random_fast): Renamed from
|
||
|
gather_random_fast.
|
||
|
(_gcry_rndw32_gather_random): Renamed from gather_random. Note,
|
||
|
that the changes 2003-04-08 somehow got lost.
|
||
|
|
||
|
* sha512.c (sha512_init, sha384_init): Made static.
|
||
|
|
||
|
* cipher.c (do_ctr_decrypt): Removed "return" from this void
|
||
|
function.
|
||
|
|
||
|
2003-10-24 Moritz Schulte <mo@g10code.com>
|
||
|
|
||
|
* serpent.c: Fix an issue on big-endian systems.
|
||
|
|
||
|
* rndw32.c: Removed IS_MODULE -cruft.
|
||
|
* rndlinux.c (rndlinux_gather_random): Likewise.
|
||
|
|
||
|
2003-10-10 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* primegen.c (gen_prime): Bail out if NBITS is less than 16.
|
||
|
(prime_generate_internal): Initialize prime variable to suppress
|
||
|
compiler warning. Check pbits, initialize qbits when passed as
|
||
|
zero.
|
||
|
|
||
|
* primegen.c (prime_generate_internal): New arg
|
||
|
ALL_FACTORS. Changed all callers.
|
||
|
(gcry_prime_generate): Make the factors arg optional. Request
|
||
|
all_factors. Make sure PRIME is set to NULL even on error.
|
||
|
(gcry_prime_group_generator): New.
|
||
|
(gcry_prime_release_factors): New.
|
||
|
|
||
|
2003-10-06 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* primegen.c (gen_prime): Assert that NBITS is never zero, it
|
||
|
would cause a segv.
|
||
|
|
||
|
2003-09-28 Moritz Schulte <mo@g10code.com>
|
||
|
|
||
|
* ac.c: Include "cipher.h".
|
||
|
|
||
|
2003-09-27 Moritz Schulte <mo@g10code.com>
|
||
|
|
||
|
* rndegd.c (do_read): Return nread instead of nbytes; thanks to
|
||
|
Michael Caerwyn.
|
||
|
|
||
|
2003-09-04 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c (_gcry_pk_aliased_algo_name): New.
|
||
|
* ac.c (gcry_ac_open): Use it here.
|
||
|
|
||
|
* Makefile.am (EXTRA_libcipher_la_SOURCES): Add serpent.c
|
||
|
|
||
|
2003-09-02 Moritz Schulte <mo@g10code.com>
|
||
|
|
||
|
* primegen.c (gcry_prime_check, gcry_prime_generate): New
|
||
|
functions.
|
||
|
(prime_generate_internal): New function, based on
|
||
|
_gcry_generate_elg_prime.
|
||
|
(_gcry_generate_elg_prime): Rewritten as a wrapper for
|
||
|
prime_generate_internal.
|
||
|
|
||
|
2003-08-28 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c (gcry_pk_encrypt): Don't include the flags list in the
|
||
|
return value. This does not make sense and breaks any programs
|
||
|
parsing the output strictly (e.g. current gpgsm).
|
||
|
(gcry_pk_encrypt): If aliases for the algorithm name exists, take
|
||
|
the first one instead of the regular name to adhere to SPKI
|
||
|
conventions.
|
||
|
(gcry_pk_genkey): Ditto.
|
||
|
(gcry_pk_sign): Ditto. Removed unused KEY_ALGO_NAME.
|
||
|
|
||
|
2003-08-19 Moritz Schulte <mo@g10code.com>
|
||
|
|
||
|
* cipher.c: Add support for Serpent
|
||
|
* serpent.c: New file.
|
||
|
|
||
|
2003-08-10 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* rsa.c (_gcry_rsa_blind, _gcry_rsa_unblind): Declare static.
|
||
|
|
||
|
2003-08-09 Timo Schulz <twoaday@freakmail.de>
|
||
|
|
||
|
* random.c (getfnc_gather_random): Don't check NAME_OF_DEV_RANDOM
|
||
|
two times, but also the NAME_OF_DEV_URANDOM device.
|
||
|
|
||
|
2003-08-08 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (sexp_to_enc): Fixed extraction of S-Expression: do not
|
||
|
fail if no `flags' sub S-Expression is found.
|
||
|
|
||
|
2003-07-27 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (gcry_md_lookup_func_oid): Allow for empty OID lists.
|
||
|
|
||
|
2003-07-23 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c (gcry_ac_data_construct): New argument: include_flags, only
|
||
|
include `flags' S-expression, if include_flags is true. Adjust
|
||
|
callers. Thanks for triggering a bug caused by `flags'
|
||
|
sub-S-expression where they are not expected to Ralf Schneider.
|
||
|
|
||
|
2003-07-21 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_lookup_func_name): Use new member name
|
||
|
`aliases' instead of `sexp_names'.
|
||
|
|
||
|
* ac.c (gcry_ac_key_data_get): New function.
|
||
|
|
||
|
* cipher.c (gcry_cipher_lookup_func_name): Fix return value.
|
||
|
|
||
|
2003-07-20 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* blowfish.c: Adjusted for new gcry_cipher_spec_t structure.
|
||
|
* cast5.c: Likewise.
|
||
|
* twofish.c: Likewise.
|
||
|
* arcfour.c: Likewise.
|
||
|
* rijndael.c (rijndael_oids, rijndael192_oids, rijndael256_oids):
|
||
|
New variables, adjust for new gcry_cipher_spec_t structure.
|
||
|
* des.c (oids_tripledes): New variable, adjust for new
|
||
|
gcry_cipher_spec_t structure.
|
||
|
|
||
|
* md.c (oid_table): Removed.
|
||
|
|
||
|
* tiger.c (oid_spec_tiger): New variable.
|
||
|
(digest_spec_tiger): Adjusted for new gry_md_spec_t structure.
|
||
|
|
||
|
* sha512.c (oid_spec_sha512): New variable.
|
||
|
(digest_spec_sha512): Adjusted for new gry_md_spec_t structure.
|
||
|
|
||
|
* sha512.c (oid_spec_sha384): New variable.
|
||
|
(digest_spec_sha384): Adjusted for new gry_md_spec_t structure.
|
||
|
|
||
|
* sha256.c (oid_spec_sha256): New variable.
|
||
|
(digest_spec_sha256): Adjusted for new gry_md_spec_t structure.
|
||
|
|
||
|
* sha1.c (oid_spec_sha1): New variable.
|
||
|
(digest_spec_sha1): Adjusted for new gry_md_spec_t structure.
|
||
|
|
||
|
* rmd160.c (oid_spec_rmd160): New variable.
|
||
|
(digest_spec_rnd160): Adjusted for new gry_md_spec_t structure.
|
||
|
|
||
|
* md5.c (oid_spec_md5): New variable.
|
||
|
(digest_spec_md5): Adjusted for new gry_md_spec_t structure.
|
||
|
|
||
|
* md4.c (oid_spec_md4): New variable.
|
||
|
(digest_spec_md4): Adjusted for new gry_md_spec_t structure.
|
||
|
|
||
|
* crc.c (digest_spec_crc32, digest_spec_crc32_rfc1510,
|
||
|
digest_spec_crc32_rfc2440): Adjusted for new gry_md_spec_t
|
||
|
structure.
|
||
|
|
||
|
2003-07-19 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* md.c (gcry_md_lookup_func_oid): New function.
|
||
|
(search_oid): New function, copied from cipher.c.
|
||
|
(gcry_md_map_name): Adjust for new search_oid_interface.
|
||
|
|
||
|
* cipher.c (oid_table): Removed table.
|
||
|
(gcry_cipher_lookup_func_oid): New function.
|
||
|
(search_oid): Rewritten to use the module functions.
|
||
|
(gcry_cipher_map_name): Adjust for new search_oid interface.
|
||
|
(gcry_cipher_mode_from_oid): Likewise.
|
||
|
|
||
|
2003-07-18 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (gcry_md_hash_buffer): Convert ERR to gpg_error_t in
|
||
|
gpg_strerror.
|
||
|
|
||
|
2003-07-14 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* cipher.c (gcry_cipher_lookup_func_name): Also check the cipher
|
||
|
name aliases, not just the primary name.
|
||
|
(gcry_cipher_map_name): Remove kludge for aliasing Rijndael to
|
||
|
AES.
|
||
|
|
||
|
* arcfour.c, blowfish.c, cast5.c, des.c, twofish.c: Adjust cipher
|
||
|
specification structures.
|
||
|
|
||
|
* rijndael.c (rijndael_names, rijndael192_names,
|
||
|
rijndael256_names): New variables, use them in the cipher
|
||
|
specifications.
|
||
|
|
||
|
* rmd160test.c: Removed file.
|
||
|
|
||
|
* ac.c, arcfour.c, blowfish.c, cast5.c, cipher.c, des.c, dsa.c,
|
||
|
elgamal.c, md.c, pubkey.c, random.c, rijndael.c, rsa.c, twofish.c:
|
||
|
Used gcry_err* wrappers for libgpg symbols.
|
||
|
|
||
|
* primegen.c (gen_prime): Correct the order arguments to
|
||
|
extra_check.
|
||
|
|
||
|
2003-07-12 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c: Replaced all public occurences of gpg_error_t with
|
||
|
gcry_error_t.
|
||
|
* cipher.c: Likewise.
|
||
|
* md.c: Likewise.
|
||
|
* pubkey.c: Likewise.
|
||
|
* random.c: Likewise.
|
||
|
|
||
|
* cipher.c: Added support for TWOFISH128.
|
||
|
|
||
|
2003-07-08 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c (gcry_ac_data_copy_internal): New function, based on
|
||
|
gcry_ac_data_copy.
|
||
|
(gcry_ac_data_copy): Made public, use gcry_ac_data_copy_internal.
|
||
|
(gcry_ac_key_init): Use gcry_ac_data_copy_internal.
|
||
|
|
||
|
2003-07-07 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c (gcry_ac_data_set): Only release old MPI value if it is
|
||
|
different from the new value. Bug reported by Simon Josefsson
|
||
|
<jas@extundo.com>.
|
||
|
|
||
|
* pubkey.c (gcry_pk_list): New function.
|
||
|
* md.c (gcry_md_list): New function.
|
||
|
|
||
|
* ac.c (gcry_ac_key_pair_generate): Fix calculation of format
|
||
|
string size.
|
||
|
|
||
|
2003-07-05 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* md.c: Named struct of digest_table `digest_table_entry'.
|
||
|
(digest_table_entry): New member: algorithm; filled in.
|
||
|
(digest_table_entry): Removed unused member: flags.
|
||
|
(gcry_md_register): New argument: algorithm_id, filled in.
|
||
|
(gcry_md_register_default): Used algorithm ID from module
|
||
|
structure.
|
||
|
(gcry_md_map_name): Likewise.
|
||
|
(md_enable): Likewise.
|
||
|
(md_read): Likewise.
|
||
|
(gcry_md_info): Likewise.
|
||
|
|
||
|
* pubkey.c: Named truct for pubkey_table `pubkey_table_entry'.
|
||
|
(pubkey_table_entry): New member: algorithm; filled in.
|
||
|
(gcry_pk_register_default): Used algorithm ID from pubkey_table.
|
||
|
(gcry_pk_register): New argument: algorithm_id, filled in.
|
||
|
(gcry_pk_map_name): Used algorithm ID from module structure.
|
||
|
(gcry_pk_decrypt): Likewise.
|
||
|
(gcry_pk_encrypt): Likewise.
|
||
|
(gcry_pk_verify): Likewise.
|
||
|
(gcry_pk_sign): Likewise.
|
||
|
(gcry_pk_testkey): Likewise.
|
||
|
(gcry_pk_genkey): Likewise.
|
||
|
(gcry_pk_get_nbits): Likewise.
|
||
|
(sexp_to_key): Removed unused variable: algo.
|
||
|
(sexp_to_sig): Likewise.
|
||
|
|
||
|
* cipher.c: Named struct for cipher_table `cipher_table_entry'.
|
||
|
(cipher_table_entry): New member: algorithm; filled in.
|
||
|
(gcry_cipher_register_default): Used algorithm ID from
|
||
|
cipher_table.
|
||
|
(gcry_cipher_register): New argument: algorithm_id, filled in.
|
||
|
(gcry_cipher_map_name): Used algorithm ID from module structure.
|
||
|
|
||
|
* arcfour.c (cipher_spec_arcfour): Removed algorithm ID.
|
||
|
* blowfish.c (cipher_spec_blowfish): Likewise.
|
||
|
* cast5.c (cipher_spec_cast5): Likewise.
|
||
|
* crc.c (digest_spec_crc32): Likewise.
|
||
|
* crc.c (digest_spec_crc32_rfc1510): Likewise.
|
||
|
* crc.c (digest_spec_crc32_rfc2440): Likewise.
|
||
|
* des.c (cipher_spec_des): Likewise.
|
||
|
* des.c (cipher_spec_tripledes): Likewise.
|
||
|
* dsa.c (pubkey_spec_dsa): Likewise.
|
||
|
* elgamal.c (pubkey_spec_elg): Likewise.
|
||
|
* md4.c (digest_spec_md4): Likewise.
|
||
|
* md5.c (digest_spec_md5): Likewise.
|
||
|
* aes.c (cipher_spec_aes): Likewise.
|
||
|
* aes.c (cipher_spec_aes192): Likewise.
|
||
|
* aes.c (cipher_spec_aes256): Likewise.
|
||
|
* rsa.c (pubkey_spec_rsa): Likewise.
|
||
|
* sha1.c (digest_spec_sha1): Likewise.
|
||
|
* sha256.c (digest_spec_sha256): Likewise.
|
||
|
* sha512.c (digest_spec_sha512): Likewise.
|
||
|
* tiger.c (digest_spec_tiger): Likewise.
|
||
|
* twofish.c (cipher_spec_twofish): Likewise.
|
||
|
* twofish.c (cipher_spec_twofish128): Likewise.
|
||
|
|
||
|
* Makefile.am (EXTRA_libcipher_la_SOURCES): Fix list of source
|
||
|
files; reported by Simon Josefsson <jas@extundo.com>.
|
||
|
|
||
|
* pubkey.c: Replaced all occurences of `id' with `algorithm',
|
||
|
since `id' is a keyword in obj-c.
|
||
|
* md.c: Likewise.
|
||
|
* cipher.c: Likewise.
|
||
|
|
||
|
* crc.c, md4.c, md5.c, rmd160.c, sha1.c, sha256.c, tiger.c:
|
||
|
Replaced all occurences of gcry_digest_spec_t with gcry_md_spec_t.
|
||
|
|
||
|
* dsa.c, rsa.c, elgamal.c: Replaced all occurencens of
|
||
|
gcry_pubkey_spec_t with gcry_pk_spec_t.
|
||
|
|
||
|
* md.c: Replaced all occurences of gcry_digest_spec_t with
|
||
|
gcry_md_spec_t.
|
||
|
(gcry_digest_register_default): Renamed to ...
|
||
|
(gcry_md_register_default): ... this; adjusted callers.
|
||
|
(gcry_digest_lookup_func_name): Renamed to ...
|
||
|
(gcry_md_lookup_func_name): ... this; adjusted callers.
|
||
|
(gcry_digest_lookup_name): Renamed to ...
|
||
|
(gcry_md_lookup_name): ... this; adjusted callers.
|
||
|
(gcry_digest_register): Renamed to ...
|
||
|
(gcry_md_register): ... this.
|
||
|
(gcry_digest_unregister): Renamed to ...
|
||
|
(gcry_md_unregister): ... this.
|
||
|
|
||
|
* pubkey.c (gcry_pubkey_register): Renamed to ...
|
||
|
(gcry_pk_register): ... this.
|
||
|
(gcry_pubkey_unregister): Renamed to ...
|
||
|
(gcry_pk_unregister): ... this.
|
||
|
Replaced all occurences of gcry_pubkey_spec_t with gcry_pk_spec_t.
|
||
|
(gcry_pubkey_register_default): Renamed to ...
|
||
|
(gcry_pk_register_default): ... this; adjusted callers.
|
||
|
(gcry_pubkey_lookup_func_name): Renamed to ...
|
||
|
(gcry_pk_lookup_func_name): ... this; adjusted callers.
|
||
|
(gcry_pubkey_lookup_name): Renamed to ...
|
||
|
(gcry_pk_lookup_name): ... this; adjusted callers.
|
||
|
|
||
|
* md.c (gcry_md_hash_buffer): Fix error checking. Thanks to Simon
|
||
|
Josefsson <jas@extunde.com>.
|
||
|
|
||
|
2003-07-04 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* cipher.c (gcry_cipher_list): New function.
|
||
|
|
||
|
2003-07-01 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (sexp_to_sig): Accept a `flags' S-expression to be more
|
||
|
consistent with sexp_to_enc.
|
||
|
|
||
|
2003-06-30 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* Makefile.am (libcipher_la_SOURCES): Added: ac.c.
|
||
|
|
||
|
* pubkey.c (_gcry_pk_module_lookup): New function.
|
||
|
(_gcry_pk_module_release): New function.
|
||
|
|
||
|
2003-06-29 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* ac.c: New file.
|
||
|
|
||
|
2003-06-26 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (gcry_md_hash_buffer): Trigger BUG correcly with new API.
|
||
|
|
||
|
2003-06-19 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (gcry_md_is_enabled): Fixed.
|
||
|
|
||
|
2003-06-18 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* cipher.c (gcry_cipher_get_algo_keylen): New.
|
||
|
(gcry_cipher_get_algo_blklen): New.
|
||
|
|
||
|
2003-06-18 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* arcfour.c, cipher.c, blowfish.c, md.c, cast5.c, pubkey.c, crc.c,
|
||
|
des.c, dsa.c, elgamal.c, md4.c, md5.c, random.c, rijndael.c,
|
||
|
rmd160.c, rsa.c, sha1.c, sha256.c, sha512.c, tiger.c, twofish.c:
|
||
|
Replaced older types GcryDigestSpec, GcryCipherSpec and
|
||
|
GcryPubkeySpec with newer types: gcry_digest_spec_t,
|
||
|
gcry_cipher_spec_t and gcry_pubkey_spec_t.
|
||
|
|
||
|
* md.c (gcry_digest_id_new): Removed function.
|
||
|
(gcry_digest_register): Removed code for generating a new module
|
||
|
ID.
|
||
|
|
||
|
* pubkey.c (gcry_pubkey_id_new): Removed function.
|
||
|
(gcry_pubkey_register): Removed code for generating a new module
|
||
|
ID.
|
||
|
|
||
|
* cipher.c, md.c, pubkey.c: Replace old type GcryModule with newer
|
||
|
one: gcry_module_t.
|
||
|
(gcry_cipher_id_new): Removed function.
|
||
|
(gcry_cipher_register): Removed code for generating a new module
|
||
|
ID.
|
||
|
|
||
|
* cipher.c (gcry_cipher_register): Adjust call to
|
||
|
_gcry_module_add.
|
||
|
(gcry_cipher_register_default): Likewise.
|
||
|
* pubkey.c (gcry_pubkey_register_default): Likewise.
|
||
|
(gcry_pubkey_register): Likewise.
|
||
|
* md.c (gcry_digest_register_default): Likewise.
|
||
|
(gcry_digest_register): Likewise.
|
||
|
|
||
|
* md.c (gcry_digest_lookup_func_id): Removed function.
|
||
|
(gcry_digest_lookup_id): Likewise.
|
||
|
(gcry_digest_id_new): Use _gcry_module_lookup_id instead of
|
||
|
gcry_digest_lookup_id.
|
||
|
(digest_algo_to_string): Likewise.
|
||
|
(check_digest_algo): Likewise.
|
||
|
(md_enable): Likewise.
|
||
|
(md_digest_length): Likewise.
|
||
|
(md_asn_oid): Likewise.
|
||
|
|
||
|
* pubkey.c (gcry_pubkey_lookup_id): Removed function.
|
||
|
(gcry_pubkey_lookup_func_id): Likewise.
|
||
|
(gcry_pubkey_id_new): Use _gcry_module_lookup_id instead of
|
||
|
gcry_pubkey_id_new.
|
||
|
(gcry_pk_algo_name): Likewise.
|
||
|
(disable_pubkey_algo): Likewise.
|
||
|
(check_pubkey_algo): Likewise.
|
||
|
(pubkey_get_npkey): Likewise.
|
||
|
(pubkey_get_nskey): Likewise.
|
||
|
(pubkey_get_nsig): Likewise.
|
||
|
(pubkey_get_nenc): Likewise.
|
||
|
(pubkey_generate): Likewise.
|
||
|
(pubkey_check_secret_key): Likewise.
|
||
|
(pubkey_encrypt): Likewise.
|
||
|
(pubkey_decrypt): Likewise.
|
||
|
(pubkey_sign): Likewise.
|
||
|
(pubkey_verify): Likewise.
|
||
|
(gcry_pk_algo_info): Likewise.
|
||
|
|
||
|
* cipher.c (gcry_cipher_lookup_func_id): Removed function.
|
||
|
(gcry_cipher_lookup_id): Likewise.
|
||
|
(cipher_algo_to_string): use _gcry_module_lookup_id instead of
|
||
|
gcry_cipher_lookup_id.
|
||
|
(disable_cipher_algo): Likewise.
|
||
|
(check_cipher_algo): Likewise.
|
||
|
(cipher_get_blocksize): Likewise.
|
||
|
(gcry_cipher_open): Likewise.
|
||
|
(gcry_cipher_id_new): Likewise.
|
||
|
|
||
|
2003-06-17 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* Makefile.am (GCRYPT_MODULES): Set to @GCRYPT_CIPHERS@,
|
||
|
@GCRYPT_PUBKEY_CIPHERS@, @GCRYPT_DIGESTS@ and @GCRYPT_RANDOM@.
|
||
|
(libcipher_la_DEPENDENCIES): Set to $(GCRYPT_MODULES).
|
||
|
(libcipher_la_LIBADD): Likewise.
|
||
|
(AM_CFLAGS): Added: @GPG_ERROR_CFLAGS@.
|
||
|
(EXTRA_libcipher_la_SOURCES): Added all conditional sources.
|
||
|
|
||
|
* md.c (md_open): Use _gcry_fast_random_poll instead of
|
||
|
fast_random_poll.
|
||
|
* cipher.c (gcry_cipher_open): Likewise.
|
||
|
|
||
|
* random.h (fast_random_poll): Removed macro.
|
||
|
|
||
|
* blowfish.c, md4.c, md5.c, rmd160.c, sha1.c, sha256.c, sha512.c,
|
||
|
tiger.c: Use Autoconf's WORDS_BIGENDIAN instead of our own
|
||
|
BIG_ENDIAN_HOST.
|
||
|
|
||
|
2003-06-16 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* random.c (getfnc_gather_random): Do not special-case
|
||
|
USE_ALL_RANDOM_MODULES, make it the default.
|
||
|
|
||
|
* dsa.c: Replace last occurences of old type names with newer
|
||
|
names (i.e. replace MPI with gcry_mpi_t).
|
||
|
* elgamal.c: Likewise.
|
||
|
* primegen.c: Likewise.
|
||
|
* pubkey.c: Likewise.
|
||
|
* rsa.c: Likewise.
|
||
|
|
||
|
2003-06-14 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* des.c (des_setkey): Add selftest check.
|
||
|
(tripledes_set3keys): Likewise.
|
||
|
(do_tripledes_setkey): Remove selftest check.
|
||
|
(do_des_setkey): Likewise.
|
||
|
|
||
|
2003-06-11 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* md.c (_gcry_md_init): New function.
|
||
|
* cipher.c (_gcry_cipher_init): New function.
|
||
|
* pubkey.c (_gcry_pk_init): New function.
|
||
|
|
||
|
2003-06-13 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (gcry_md_get_algo): Reverted to old API. This is a
|
||
|
convenience function anyway and error checking is not approriate.
|
||
|
(gcry_md_is_secure): New.
|
||
|
(gcry_md_is_enabled): New.
|
||
|
|
||
|
2003-06-12 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* cipher.c (gcry_cipher_open): Make sure HANDLE is set to NULL on
|
||
|
error.
|
||
|
|
||
|
2003-06-11 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (gcry_md_open): Make sure H receives either NULL or an
|
||
|
valid handle.
|
||
|
(gcry_md_copy): Swapped arguments so that it is more in lione with
|
||
|
md_open and most other API fucntions like memcpy (destination
|
||
|
comes first). Make sure HANDLE is set to NULL on error.
|
||
|
|
||
|
* rijndael.c (do_encrypt): Hack to force correct alignment. It
|
||
|
seems not to be not sufficient, though. We should rework this
|
||
|
fucntions and remove all these ugly casts. Let the compiler
|
||
|
optimize or have an assembler implementation.
|
||
|
|
||
|
2003-06-09 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* Makefile.am: Removed rules serpent, since that is not commited
|
||
|
yet.
|
||
|
|
||
|
2003-06-08 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_encrypt): Improve calculation for size of the
|
||
|
format string.
|
||
|
|
||
|
2003-06-07 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* arcfour.c, bithelp.h, blowfish.c, cast5.c, cipher.c, crc.c,
|
||
|
des.c, dsa.c, elgamal.c, md4.c, md5.c, md.c, primegen.c, pubkey.c,
|
||
|
rand-internal.h, random.c, random.h, rijndael.c, rmd160.c,
|
||
|
rmd160test.c, rmd.h, rndeged.c, rndlinux.c, rndunix.c, rndw32.c,
|
||
|
rsa.c, sha1.c, sha256.c, sha512.c, tiger.c, twofish.c: Edited all
|
||
|
preprocessor instructions to remove whitespace before the '#'.
|
||
|
This is not required by C89, but there are some compilers out
|
||
|
there that don't like it. Replaced any occurence of the now
|
||
|
deprecated type names with the new ones.
|
||
|
|
||
|
2003-06-04 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_encrypt): Construct an arg_list and use
|
||
|
gcry_sexp_build_array instead of gcry_sexp_build.
|
||
|
(gcry_pk_sign): Likewise.
|
||
|
(gcry_pk_genkey): Likewise.
|
||
|
|
||
|
2003-06-01 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* dsa.c (_gcry_dsa_generate): Do not check wether the algorithm ID
|
||
|
does indeed belong to DSA.
|
||
|
(_gcry_dsa_sign): Likewise.
|
||
|
(_gcry_dsa_verify): Likewise.
|
||
|
(_gcry_dsa_get_nbits): Likewise.
|
||
|
|
||
|
* elgamal.c (_gcry_elg_check_secret_key): Do not check wether the
|
||
|
algorithm ID does indeed belong to ElGamal.
|
||
|
(_gcry_elg_encrypt): Likewise.
|
||
|
(_gcry_elg_decrypt): Likewise.
|
||
|
(_gcry_elg_sign): Likewise.
|
||
|
(_gcry_elg_verify): Likewise.
|
||
|
(_gcry_elg_get_nbits): Likewise.
|
||
|
(_gcry_elg_generate): Likewise.
|
||
|
|
||
|
* rsa.c (_gcry_rsa_generate): Do not check wether the algorithm ID
|
||
|
does indeed belong to RSA.
|
||
|
(_gcry_rsa_encrypt): Likewise.
|
||
|
(_gcry_rsa_decrypt): Likewise.
|
||
|
(_gcry_rsa_sign): Likewise.
|
||
|
(_gcry_rsa_verify): Likewise.
|
||
|
(_gcry_rsa_get_nbits): Likewise.
|
||
|
|
||
|
2003-05-30 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* md.c (md_get_algo): Return zero in case to algorithm is enabled.
|
||
|
|
||
|
* md.c (gcry_md_info): Adjusted for new no-errno-API.
|
||
|
(md_final): Likewise.
|
||
|
(gcry_md_get_algo): Likewise.
|
||
|
* pubkey.c (gcry_pk_get_keygrip): Likewise.
|
||
|
(gcry_pk_ctl): Likewise.
|
||
|
(gcry_pk_algo_info): Likewise.
|
||
|
* des.c (selftest): Likewise.
|
||
|
|
||
|
2003-05-29 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* md.c (md_enable): Do not forget to release module on error.
|
||
|
(gcry_md_open): Adjusted for new no-errno-API.
|
||
|
(md_open): Likewise.
|
||
|
(md_copy): Likewise.
|
||
|
(gcry_md_copy): Likewise.
|
||
|
(gcry_md_setkey): Likewise.
|
||
|
(gcry_md_algo_info): Likewise.
|
||
|
|
||
|
* cipher.c (gcry_cipher_open): Adjusted for new no-errno-API and
|
||
|
also fixed a locking bug.
|
||
|
(gcry_cipher_encrypt): Adjusted for new no-errno-API.
|
||
|
(gcry_cipher_decrypt): Likewise.
|
||
|
(gcry_cipher_ctl): Likewise.
|
||
|
(gcry_cipher_info): Likewise.
|
||
|
(gcry_cipher_algo_info): Likewise.
|
||
|
|
||
|
2003-05-28 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* md.c (md_enable): Adjusted for libgpg-error.
|
||
|
(gcry_md_enable): Likewise.
|
||
|
(gcry_digest_register_default): Likewise.
|
||
|
(gcry_digest_register): Likewise.
|
||
|
(check_digest_algo): Likewise.
|
||
|
(prepare_macpads): Likewise.
|
||
|
(gcry_md_setkey): Likewise.
|
||
|
(gcry_md_ctl): Likewise.
|
||
|
(gcry_md_get): Likewise.
|
||
|
(gcry_md_algo_info): Likewise.
|
||
|
(gcry_md_info): Likewise.
|
||
|
* dsa.c (_gcry_dsa_generate): Likewise.
|
||
|
(_gcry_dsa_check_secret_key): Likewise.
|
||
|
(_gcry_dsa_sign): Likewie.
|
||
|
(_gcry_dsa_verify): Likewise.
|
||
|
* twofish.c (do_twofish_setkey): Likewise.
|
||
|
(twofish_setkey): Likewise.
|
||
|
* cipher.c (gcry_cipher_register): Likewise.
|
||
|
|
||
|
2003-05-25 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* rijndael.c (do_setkey): Adjusted for libgpg-error.
|
||
|
(rijndael_setkey): Likewise.
|
||
|
* random.c (gcry_random_add_bytes): Likewise.
|
||
|
* elgamal.c (_gcry_elg_generate): Likewise.
|
||
|
(_gcry_elg_check_secret_key): Likewise.
|
||
|
(_gcry_elg_encrypt): Likewise.
|
||
|
(_gcry_elg_decrypt): Likewise.
|
||
|
(_gcry_elg_sign): Likewise.
|
||
|
(_gcry_elg_verify): Likewise.
|
||
|
* rsa.c (_gcry_rsa_generate): Likewise.
|
||
|
(_gcry_rsa_check_secret_key): Likewise.
|
||
|
(_gcry_rsa_encrypt): Likewise.
|
||
|
(_gcry_rsa_decrypt): Likewise.
|
||
|
(_gcry_rsa_sign): Likewise.
|
||
|
(_gcry_rsa_verify): Likewise.
|
||
|
* pubkey.c (dummy_generate, dummy_check_secret_key, dummy_encrypt,
|
||
|
dummy_decrypt, dummy_sign, dummy_verify): Likewise.
|
||
|
(gcry_pubkey_register): Likewise.
|
||
|
(check_pubkey_algo): Likewise.
|
||
|
(pubkey_generate): Likewise.
|
||
|
(pubkey_check_secret_key): Likewise.
|
||
|
(pubkey_encrypt): Likewise.
|
||
|
(pubkey_decrypt): Likewise.
|
||
|
(pubkey_sign): Likewise.
|
||
|
(pubkey_verify): Likewise.
|
||
|
(sexp_elements_extract): Likewise.
|
||
|
(sexp_to_key): Likewise.
|
||
|
(sexp_to_sig): Likewise.
|
||
|
(sexp_to_enc): Likewise.
|
||
|
(sexp_data_to_mpi): Likewise.
|
||
|
(gcry_pk_encrypt): Likewise.
|
||
|
(gcry_pk_decrypt): Likewise.
|
||
|
(gcry_pk_sign): Likewise.
|
||
|
(gcry_pk_verify): Likewise.
|
||
|
(gcry_pk_testkey): Likewise.
|
||
|
(gcry_pk_genkey): Likewise.
|
||
|
(gcry_pk_ctl): Likewise.
|
||
|
* cipher.c (dummy_setkey): Likewise.
|
||
|
(check_cipher_algo): Likewise.
|
||
|
(gcry_cipher_open): Likewise.
|
||
|
(cipher_setkey): Likewise.
|
||
|
(gcry_cipher_ctl): Likewise.
|
||
|
(cipher_encrypt): Likewise.
|
||
|
(gcry_cipher_encrypt): Likewise.
|
||
|
(cipher_decrypt): Likewise.
|
||
|
(gcry_cipher_decrypt): Likewise.
|
||
|
(gcry_cipher_info): Likewise.
|
||
|
(gcry_cipher_algo_info): Likewise.
|
||
|
* cast5.c (cast_setkey): Likewise.
|
||
|
(do_cast_setkey): Likewise.
|
||
|
* arcfour.c (arcfour_setkey): Likewise.
|
||
|
(do_arcfour_setkey): Likewise.
|
||
|
* blowfish.c (do_bf_setkey): Likewise.
|
||
|
(bf_setkey): Likewise.
|
||
|
* des.c (do_des_setkey): Likewise.
|
||
|
(do_tripledes_setkey): Likewise.
|
||
|
|
||
|
2003-05-22 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* tiger.c: Merged code ussing the U64_C macro from GnuPG.
|
||
|
|
||
|
* sha512.c: Likewise.
|
||
|
|
||
|
2003-05-17 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_genkey): Fix type: acquire a lock, instead of
|
||
|
releasing it.
|
||
|
|
||
|
2003-05-11 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_testkey): Call REGISTER_DEFAULT_CIPHERS.
|
||
|
(gcry_pk_ctl): Likewise.
|
||
|
|
||
|
2003-04-27 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (gcry_pk_genkey): Release sexp after extracted data has
|
||
|
been used.
|
||
|
|
||
|
* md.c (gcry_md_get_algo_dlen): Simplified, simply call
|
||
|
md_digest_length to do the job.
|
||
|
|
||
|
* des.c (do_des_setkey): Check for selftest failure not only
|
||
|
during initialization.
|
||
|
(do_tripledes_setkey): Include check for selftest failure.
|
||
|
|
||
|
* pubkey.c (gcry_pubkey_register_default): New macro
|
||
|
`pubkey_use_dummy', use it.
|
||
|
|
||
|
* elgamal.c (elg_names): New variable.
|
||
|
(pubkey_spec_elg): Include elg_names.
|
||
|
|
||
|
* dsa.c (dsa_names): New variable.
|
||
|
(pubkey_spec_dsa): Include dsa_names.
|
||
|
|
||
|
* rsa.c (rsa_names): New variable.
|
||
|
(pubkey_spec_rsa): Include rsa_names.
|
||
|
|
||
|
* pubkey.c (gcry_pubkey_lookup_func_name): Compare name also with
|
||
|
the names listed in `sexp_names'.
|
||
|
|
||
|
2003-04-24 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (sexp_to_key): New variables: module, pubkey. Adjusted
|
||
|
to new module interface.
|
||
|
(sexp_to_key): Changend type of argument `retalgo' from `int *' to
|
||
|
`GcryModule **'. Adjusted all callers. Removed argument:
|
||
|
r_algotblidx.
|
||
|
(sexp_to_sig): Changend type of argument `retalgo' from `int *' to
|
||
|
`GcryModule **'. Adjusted all callers.
|
||
|
(sexp_to_enc): Likewise.
|
||
|
|
||
|
(pubkey_get_npkey, pubkey_get_nskey, pubkey_get_nsig,
|
||
|
pubkey_get_nenc): Use strlen to find out the number.
|
||
|
|
||
|
* rsa.c: Adjust pubkey_spec_rsa to new internal interface.
|
||
|
* dsa.c: Likewise.
|
||
|
* elgamal.c: Likewise.
|
||
|
|
||
|
2003-04-17 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c (sexp_elements_extract): New function.
|
||
|
* pubkey.c (sexp_to_key): Removed variable `idx', added `err', use
|
||
|
sexp_elements_extract.
|
||
|
(sexp_to_sig): Likewise.
|
||
|
(sexp_to_enc): Likewise.
|
||
|
|
||
|
* pubkey.c: Terminate list correctly.
|
||
|
* md.c: Include sha512/sha384 in digest_table.
|
||
|
|
||
|
2003-04-16 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* Makefile.am: Include support for sha512.c.
|
||
|
|
||
|
* sha512.c: New file, merged from GnuPG, with few modifications
|
||
|
for libgcrypt.
|
||
|
|
||
|
* rand-internal.h: Removed declarations for constructor functions.
|
||
|
|
||
|
* md.c (md_copy): Call _gcry_module_use for incrementing the usage
|
||
|
counter of the digest modules.
|
||
|
|
||
|
* rsa.c: Do not include "rsa.h".
|
||
|
* dsa.c: Do not include "dsa.h".
|
||
|
* elgamal.c: Do not include "elgamal.h".
|
||
|
* des.c: Do not include "des.h".
|
||
|
* cast5.c: Do not include "cast5.h".
|
||
|
* blowfish.c: Do not include "blowfish.h".
|
||
|
* arcfour.c: Do not include "arcfour.h".
|
||
|
|
||
|
* Makefile.am (libcipher_la_DEPENDENCIES): Removed.
|
||
|
(libcipher_la_LIBADD): Removed.
|
||
|
Use Automake conditionals for conditional compilation.
|
||
|
|
||
|
2003-04-13 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* cipher.c (gcry_cipher_open): Call REGISTER_DEFAULT_CIPHERS.
|
||
|
|
||
|
* md.c (gcry_md_list): New member: module.
|
||
|
(md_enable): New variable: module, changed use of module and
|
||
|
digest.
|
||
|
(md_enable): Initialize member: module.
|
||
|
(md_close): Call _gcry_module_release.
|
||
|
|
||
|
* cipher.c (gcry_cipher_open): New variable: module, changed use of
|
||
|
module and cipher.
|
||
|
(struct gcry_cipher_handle): New member: module.
|
||
|
(gcry_cipher_open): Initialize member: module.
|
||
|
(gcry_cipher_close): Call _gcry_module_release.
|
||
|
|
||
|
2003-04-09 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* cipher.c: Include "ath.h".
|
||
|
* md.c: Likewise.
|
||
|
* pubkey.c: Likewise.
|
||
|
|
||
|
* cipher.c (ciphers_registered_lock): New variable.
|
||
|
* md.c (digests_registered_lock): New variable.
|
||
|
* pubkey.c (pubkeys_registered_lock): New variable.
|
||
|
|
||
|
* rndlinux.c (gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func): Removed function.
|
||
|
(_gcry_rndlinux_constructor): Removed function.
|
||
|
|
||
|
* rndegd.c (gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func): Removed function.
|
||
|
(_gcry_rndegd_constructor): Removed function.
|
||
|
|
||
|
* rndunix.c (gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func): Removed function.
|
||
|
(_gcry_rndunix_constructor): Removed function.
|
||
|
|
||
|
* rndw32.c (gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func): Removed function.
|
||
|
(_gcry_rndw32_constructor): Removed function.
|
||
|
|
||
|
* rndegd.c (rndegd_connect_socket): Simplify code for creating the
|
||
|
egd socket address.
|
||
|
(rndegd_connect_socket): Call log_fatal use instead of
|
||
|
g10_log_fatal.
|
||
|
(egd_gather_random): Renamed to ...
|
||
|
(rndegd_gather_random): ... here.
|
||
|
|
||
|
2003-04-08 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* rndlinux.c: Do not include "dynload.h".
|
||
|
* rndunix.c: Likewise.
|
||
|
* rndw32.c: Likewise.
|
||
|
|
||
|
* rndegd.c (rndegd_connect_socket): Factored out from ...
|
||
|
(egd_gather_random): here; call it.
|
||
|
(egd_socket): New variable.
|
||
|
(egd_gather_random): Initialize fd with egd_socket, do not declare
|
||
|
fd static.
|
||
|
(do_read): Merged few changes from GnuPG. FIXME - not finished?
|
||
|
Do not include "dynload.h".
|
||
|
|
||
|
* rndw32.c (gather_random): Renamed to rndw32_gather_random, do
|
||
|
not declare static.
|
||
|
(gather_random_fast): Renamed to rndw32_gather_random_fast, do not
|
||
|
declare static.
|
||
|
|
||
|
* rndunix.c (gather_random): Renamed to rndunix_gather_random, do
|
||
|
not declare static.
|
||
|
* rndegd.c (gather_random): Renamed to rndegd_gather_random, do
|
||
|
not declare static.
|
||
|
* rndlinux.c (gather_random): Renamed to rndlinux_gather_random,
|
||
|
do not declare static.
|
||
|
|
||
|
2003-04-07 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* Makefile.am (libcipher_la_SOURCES): Removed construct.c.
|
||
|
(libcipher_la_SOURCES): Added sha1.c, sha256.c, rmd160.c, md4.c,
|
||
|
md5.c, tiger.c and crc.c
|
||
|
(EXTRA_PROGRAMS): Removed sha1, sha256, rmd160, md4, md5, tiger
|
||
|
and crc. Removed definitions: EXTRA_md4_SOURCES,
|
||
|
EXTRA_md5_SOURCES, EXTRA_rmd160_SOURCES, EXTRA_sha1_SOURCES,
|
||
|
EXTRA_sha256_SOURCES, EXTRA_tiger_SOURCES and EXTRA_crc_SOURCES,
|
||
|
BUILT_SOURCES, DISTCLEANFILES.
|
||
|
|
||
|
* pubkey.c: Do not include "elgamal.h", "dsa.h" and "rsa.h".
|
||
|
|
||
|
* Makefile.am (libcipher_la_SOURCES): Removed rsa.h, elgamal.h,
|
||
|
dsa.h, des.h, cast5.h, arcfour.h and blowfish.h.
|
||
|
|
||
|
* rsa.h: Removed file.
|
||
|
* elgamal.h: Removed file.
|
||
|
* dsa.h: Removed file.
|
||
|
* des.h: Removed file.
|
||
|
* cast5.h: Removed file.
|
||
|
* arcfour.h: Removed file.
|
||
|
* blowfish.h: Removed file.
|
||
|
|
||
|
* Makefile.am (libcipher_la_SOURCES): Removed dynload.c and
|
||
|
dynload.h.
|
||
|
|
||
|
* rsa.c (pubkey_spec_rsa): New variable.
|
||
|
* dsa.c (pubkey_spec_rsa): New variable.
|
||
|
* elgamal.c (pubkey_spec_elg): New variable.
|
||
|
|
||
|
* rsa.c (_gcry_rsa_get_info): Removed function.
|
||
|
* elgamal.c (_gcry_elg_get_info): Removed function.
|
||
|
* dsa.c (_gcry_dsa_get_info): Removed function.
|
||
|
|
||
|
* tiger.c (tiger_get_info): Removed function.
|
||
|
(gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func): Removed function.
|
||
|
(_gcry_tiger_constructor): Removed function.
|
||
|
|
||
|
* sha1.c (sha1_get_info): Removed function.
|
||
|
(gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func): Removed function.
|
||
|
(_gcry_sha1_constructor): Removed function.
|
||
|
|
||
|
* sha256.c (sha256_get_info): Removed function.
|
||
|
(gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func): Removed function.
|
||
|
(_gcry_sha256_constructor): Removed function.
|
||
|
|
||
|
* rmd160.c (rmd160_get_info): Removed function.
|
||
|
(gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func): Removed function.
|
||
|
(_gcry_rmd160_constructor): Removed function.
|
||
|
|
||
|
* md5.c (md5_get_info): Removed function.
|
||
|
(gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func): Removed function.
|
||
|
(_gcry_md5_constructor): Removed function.
|
||
|
|
||
|
* md4.c (md4_get_info): Removed function.
|
||
|
(gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func): Removed function.
|
||
|
(_gcry_md4_constructor): Removed function.
|
||
|
|
||
|
* crc.c (crc_get_info): Removed function.
|
||
|
|
||
|
* arcfour.c (do_arcfour_setkey): Changed type of context argument
|
||
|
to `void *', added local variable for cast, adjusted callers.
|
||
|
(arcfour_setkey): Likewise.
|
||
|
(encrypt_stream): Likewise.
|
||
|
* cast5.c (cast_setkey): Likewise.
|
||
|
(encrypt_block): Likewise.
|
||
|
* rijndael.c (rijndael_setkey): Likewise.
|
||
|
(rijndael_encrypt): Likewise.
|
||
|
(rijndael_decrypt): Likewise.
|
||
|
* twofish.c (twofish_setkey): Likewise.
|
||
|
(twofish_encrypt): Likewise.
|
||
|
(twofish_decrypt): Likewise.
|
||
|
* des.c (do_des_setkey): Likewise.
|
||
|
(do_des_encrypt): Likewise.
|
||
|
(do_des_encrypt): Likewise.
|
||
|
(do_tripledes_encrypt): Likewise.
|
||
|
(do_tripledes_encrypt): Likewise.
|
||
|
* blowfish.c (bf_setkey: Likewise.
|
||
|
(encrypt_block): Likewise.
|
||
|
(decrypt_block): Likewise.
|
||
|
|
||
|
* arcfour.c (encrypt_stream): Likewise.
|
||
|
|
||
|
* rijndael.c (gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func) Removed function.
|
||
|
|
||
|
* twofish.c (gnupgext_version, func_table): Removed definitions.
|
||
|
(gnupgext_enum_func) Removed function.
|
||
|
|
||
|
* cast5.c (CIPHER_ALGO_CAST5): Removed.
|
||
|
|
||
|
* blowfish.c (FNCCAST_SETKEY, FNCCAST_CRYPT): Removed macros.
|
||
|
(CIPHER_ALGO_BLOWFISH): Removed symbol.
|
||
|
* cast5.c (FNCCAST_SETKEY, FNCCAST_CRYPT): Likewise.
|
||
|
* des.c (selftest_failed): Removed.
|
||
|
(initialized): New variable.
|
||
|
(do_des_setkey): Run selftest, if not yet done.
|
||
|
(FNCCAST_SETKEY, FNCCAST_CRYPT): Removed macros.
|
||
|
|
||
|
* arcfour.c (_gcry_arcfour_get_info): Removed function.
|
||
|
* blowfish.c (_gcry_blowfish_get_info): Removed function.
|
||
|
* cast5.c (_gcry_cast5_get_info): Removed function.
|
||
|
* des.c (_gcry_des_get_info): Removed function.
|
||
|
* rijndael.c (_gcry_rijndael_get_info): Removed function.
|
||
|
* twofish.c (_gcry_twofish_get_info): Removed function.
|
||
|
|
||
|
* arcfour.c (cipher_spec_arcfour): New variable.
|
||
|
* twofish.c (cipher_spec_twofish, cipher_spec_twofish128): New
|
||
|
variables.
|
||
|
* rijndael.c (cipher_spec_aes, cipher_spec_aes192,
|
||
|
cipher_spec256): New variables.
|
||
|
* des.c (cipher_spec_des, cipher_spec_tripledes): New variables.
|
||
|
* cast5.c (cipher_spec_cast5): New variable.
|
||
|
* blowfish.c (cipher_spec_blowfish): Likewise.
|
||
|
|
||
|
* twofish.c: Do not include "dynload.h".
|
||
|
* rijndael.c: Likewise.
|
||
|
* des.c: Likewise.
|
||
|
* cast5.c: Likewise.
|
||
|
* blowfish.c: Likewise.
|
||
|
* cipher.c: Likewise.
|
||
|
* crc.c: Likewise.
|
||
|
* md4.c: Likewise.
|
||
|
* md5.c: Likewise.
|
||
|
* md.c: Likewise.
|
||
|
* pubkey.c: Likewise.
|
||
|
* rijndael.c: Likewise.
|
||
|
* sha1.c: Likewise.
|
||
|
* sha256.c: Likewise.
|
||
|
|
||
|
* arcfour.c: Include "cipher.h".
|
||
|
* twofish.c: Likewise.
|
||
|
* rijndael.c: Likewise.
|
||
|
* des.c: Likewise.
|
||
|
* cast5.c: Likewise.
|
||
|
* blowfish.c: Likewise.
|
||
|
|
||
|
* twofish.c (twofish_setkey): Declared argument `key' const.
|
||
|
(twofish_encrypt): Declared argument `inbuf' const.
|
||
|
(twofish_decrypt): Likewise.
|
||
|
|
||
|
* rijndael.c (rijndael_setkey): Declared argument `key' const.
|
||
|
(rijndael_encrypt): Declared argument `inbuf' const.
|
||
|
(rijndael_decrypt): Likewise.
|
||
|
|
||
|
* des.c (do_des_setkey): Declared argument `key' const.
|
||
|
(do_tripledes_setkey): Likewise.
|
||
|
(do_des_encrypt): Declared argument `inbuf' const.
|
||
|
(do_des_decrypt): Likewise.
|
||
|
(do_tripledes_encrypt): Likewise.
|
||
|
(do_tripledes_decrypt): Likewise.
|
||
|
|
||
|
* cast5.c (encrypt_block): Declared argument `inbuf' const.
|
||
|
(decrypt_block): Likewise.
|
||
|
(cast_setkey): Declared argument `key' const.
|
||
|
|
||
|
* blowfish.c (do_bf_setkey): Declared argument `key' const.
|
||
|
(encrypt_block): Declared argument `inbuf' const.
|
||
|
(encrypt_block): Likewise.
|
||
|
|
||
|
|
||
|
|
||
|
* cipher.c: Remove CIPHER_ALGO_DUMMY related code.
|
||
|
Removed struct cipher_table_s.
|
||
|
Changed definition of cipher_table.
|
||
|
Removed definition of disabled_algos.
|
||
|
(ciphers_registered, default_ciphers_registered): New variables.
|
||
|
(REGISTER_DEFAULT_CIPHERS): New macro.
|
||
|
(dummy_setkey): Declared argument `key' const.
|
||
|
(dummy_encrypt_block): Declared argument `inbuf' const.
|
||
|
(dummy_encrypt_block): Likewise.
|
||
|
(dummy_encrypt_stream): Likewise.
|
||
|
(dummy_encrypt_stream): Likewise.
|
||
|
(dummy_setkey): Use `unsigned char' instead of `byte'.
|
||
|
(dummy_encrypt_block): Likewise.
|
||
|
(dummy_decrypt_block): Likewise.
|
||
|
(dummy_encrypt_stream): Likewise.
|
||
|
(dummy_decrypt_stream): Likewise.
|
||
|
(gcry_cipher_register_default): New function.
|
||
|
(gcry_cipher_lookup_func_id): New function.
|
||
|
(gcry_cipher_lookup_func_name): New function.
|
||
|
(gcry_cipher_lookup_id): New function.
|
||
|
(gcry_cipher_lookup_name): New function.
|
||
|
(gcry_cipher_id_new): New function.
|
||
|
(gcry_cipher_register): New function.
|
||
|
(gcry_cipher_unregister): New function.
|
||
|
(setup_cipher_table): Removed function.
|
||
|
(load_cipher_modules): Removed function.
|
||
|
(gcry_cipher_map_name): Adjusted to use new module management.
|
||
|
(cipher_algo_to_string): Likewise.
|
||
|
(disable_cipher_algo): Likewise.
|
||
|
(check_cipher_algo): Likewise.
|
||
|
(cipher_get_keylen): Likewise.
|
||
|
(cipher_get_blocksize): Likewise.
|
||
|
(gcry_cipher_open): Likewise.
|
||
|
(struct gcry_cipher_handle): Replaced members algo, algo_index,
|
||
|
blocksize, setkey, encrypt, decrypt, stencrypt, stdecrypt with one
|
||
|
member: cipher.
|
||
|
(gcry_cipher_open): Adjusted code for new handle structure.
|
||
|
(cipher_setkey): Likewise.
|
||
|
(cipher_setiv): Likewise.
|
||
|
(cipher_reset): Likewise.
|
||
|
(do_ecb_encrypt): Likewise.
|
||
|
(do_ecb_decrypt): Likewise.
|
||
|
(do_cbc_encrypt): Likewise.
|
||
|
(do_cbc_decrypt): Likewise.
|
||
|
(do_cfb_encrypt): Likewise.
|
||
|
(do_cfb_decrypt): Likewise.
|
||
|
(do_ctr_encrypt): Likewise.
|
||
|
(cipher_encrypt): Likewise.
|
||
|
(gcry_cipher_encrypt): Likewise.
|
||
|
(cipher_decrypt): Likewise.
|
||
|
(gcry_cipher_decrypt): Likewise.
|
||
|
(cipher_sync): Likewise.
|
||
|
(gcry_cipher_ctl): Likewise.
|
||
|
|
||
|
* pubkey.c: Removed struct pubkey_table_s.
|
||
|
Changed definition of pubkey_table.
|
||
|
Removed definition of disabled_algos.
|
||
|
(pubkeys_registered, default_pubkeys_registered): New variables.
|
||
|
(REGISTER_DEFAULT_PUBKEYS): New macro.
|
||
|
(setup_pubkey_table): Removed function.
|
||
|
(load_pubkey_modules): Removed function.
|
||
|
(gcry_pubkey_register_default): New function.
|
||
|
(gcry_pubkey_lookup_func_id): New function.
|
||
|
(gcry_pubkey_lookup_func_name): New function.
|
||
|
(gcry_pubkey_lookup_id): New function.
|
||
|
(gcry_pubkey_lookup_name): New function.
|
||
|
(gcry_pubkey_id_new): New function.
|
||
|
(gcry_pubkey_register): New function.
|
||
|
(gcry_pubkey_unregister): New function.
|
||
|
(gcry_pk_map_name): Adjusted to use new module management.
|
||
|
(gcry_pk_algo_name): Likewise.
|
||
|
(disable_pubkey_algo): Likewise.
|
||
|
(check_pubkey_algo): Likewise.
|
||
|
(pubkey_get_npkey): Likewise.
|
||
|
(pubkey_get_nskey): Likewise.
|
||
|
(pubkey_get_nsig): Likewise.
|
||
|
(pubkey_get_nenc): Likewise.
|
||
|
(pubkey_generate): Likewise.
|
||
|
(pubkey_check_secret_key): Likewise.
|
||
|
(pubkey_encrypt): Likewise.
|
||
|
(pubkey_decrypt): Likewise.
|
||
|
(pubkey_sign): Likewise.
|
||
|
(pubkey_verify): Likewise.
|
||
|
(gcry_pk_get_nbits): Likewise.
|
||
|
(gcry_pk_algo_info): Likewise.
|
||
|
|
||
|
* md.c: Removed struct md_digest_list_s.
|
||
|
(digest_list): Changed definition.
|
||
|
(digests_registered, default_digests_registered): New variables.
|
||
|
(REGISTER_DEFAULT_DIGESTS): New macro.
|
||
|
(new_list_item): Removed function.
|
||
|
(setup_md_table): Removed function.
|
||
|
(load_digest_module): Removed function.
|
||
|
(gcry_digest_register_default): New function.
|
||
|
(gcry_digest_lookup_func_id): New function.
|
||
|
(gcry_digest_lookup_func_name): New function.
|
||
|
(gcry_digest_lookup_id): New function.
|
||
|
(gcry_digest_lookup_name): New function.
|
||
|
(gcry_digest_id_new): New function.
|
||
|
(gcry_digest_register): New function.
|
||
|
(gcry_digest_unregister): New function.
|
||
|
(GcryDigestEntry): New type.
|
||
|
(struct gcry_md_context): Adjusted type of `list'.
|
||
|
(gcry_md_map_name): Adjusted to use new module management.
|
||
|
(digest_algo_to_string): Likewise.
|
||
|
(check_digest_algo): Likewise.
|
||
|
(md_enable): Likewise.
|
||
|
(md_digest_length): Likewise.
|
||
|
(md_asn_oid): Likewise.
|
||
|
|
||
|
2003-04-07 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* pubkey.c: Replaced PUBKEY_ALGO_DSA with GCRY_PK_DSA,
|
||
|
PUBKEY_ALGO_RSA with GCRY_PK_RSA and PUBKEY_ALGO_ELGAMAL with
|
||
|
GCRY_PK_ELG.
|
||
|
|
||
|
* dsa.c: Replaced PUBKEY_ALGO_DSA with GCRY_PK_DSA.
|
||
|
|
||
|
2003-04-01 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* des.c: Removed checks for GCRY_CIPHER_3DES and GCRY_CIPHER_DES.
|
||
|
|
||
|
2003-03-31 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* tiger.c (tiger_get_info): Do not declare static.
|
||
|
* sha256.c (sha256_get_info): Likewise.
|
||
|
* sha1.c (sha1_get_info): Likewise.
|
||
|
* rmd160.c (rmd160_get_info): Likewise.
|
||
|
* md5.c (md5_get_info): Likewise.
|
||
|
* md4.c (md4_get_info): Likewise.
|
||
|
* crc.c (crc_get_info): Likewise.
|
||
|
|
||
|
* md.c (load_digest_module): Call setup_md_table during
|
||
|
initialization.
|
||
|
(new_list_item): Link new element into digest_list.
|
||
|
|
||
|
* cipher.c (do_ctr_decrypt): Made do_ctr_encrypt act as a wrapper
|
||
|
for do_ctr_encrypt, since these functions are identical.
|
||
|
|
||
|
2003-03-30 Simon Josefsson <jas@extundo.com>
|
||
|
|
||
|
* cipher.c (struct gcry_cipher_handle): Add counter field.
|
||
|
(gcry_cipher_open): Add CTR.
|
||
|
(cipher_reset): Clear counter field.
|
||
|
(do_ctr_encrypt, do_ctr_decrypt): New functions.
|
||
|
(cipher_encrypt, cipher_decrypt): Call CTR functions.
|
||
|
(gcry_cipher_ctl): Add SET_CTR to set counter.
|
||
|
|
||
|
2003-03-30 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* rsa.c (_gcry_rsa_blind): New function.
|
||
|
(_gcry_rsa_unblind): New function.
|
||
|
(_gcry_rsa_decrypt): Use _gcry_rsa_blind and _gcry_rsa_decrypt.
|
||
|
|
||
|
2003-03-26 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* dynload.c (_gcry_enum_gnupgext_pubkeys): Adjust `encrypt' and
|
||
|
`decrypt' function arguments.
|
||
|
(_gcry_enum_gnupgext_pubkeys): Likewise.
|
||
|
* dynload.h: Likewise.
|
||
|
|
||
|
* pubkey.c (dummy_decrypt): Add argument: int flags.
|
||
|
(dummy_encrypt): Likewise.
|
||
|
|
||
|
* elgamal.c (_gcry_elg_encrypt): Add argument: int flags.
|
||
|
(_gcry_elg_decrypt): Likewise.
|
||
|
|
||
|
* rsa.c (_gcry_rsa_encrypt): Add argument: int flags.
|
||
|
(_gcry_rsa_decrypt): Likewise.
|
||
|
|
||
|
* pubkey.c: Add `flags' argument to members `encrypt' and
|
||
|
`decrypt' of struct `pubkey_table_s'.
|
||
|
|
||
|
* rsa.h: Add `flags' argument to function declarations.
|
||
|
* elgamal.h: Likewise.
|
||
|
|
||
|
* pubkey.c (sexp_data_to_mpi): New variable: int parsed_flags.
|
||
|
(sexp_data_to_mpi): Set `parsed_flags'.
|
||
|
(sexp_data_to_mpi): New argument: int *flags.
|
||
|
(gcry_pk_encrypt): New variable: int flags.
|
||
|
(gcry_pk_encrypt): Pass `flags' to pubkey_encrypt.
|
||
|
(pubkey_encrypt): New variable: int flags.
|
||
|
(pubkey_encrypt): Pass `flags' to pubkey encrypt function.
|
||
|
(pubkey_decrypt): Likewise.
|
||
|
(pubkey_decrypt): Pass `flags' to pubkey encrypt function.
|
||
|
(gcry_pk_encrypt): Include `flags' s-exp in return list.
|
||
|
(sexp_to_enc): New argument: int *flags.
|
||
|
(gcry_pk_decrypt): New variable: int flags.
|
||
|
(gcry_pk_decrypt): Pass `flags' to pubkey_decrypt.
|
||
|
(sexp_to_enc): New variable: int parsed_flags.
|
||
|
(sexp_to_enc): Set `parsed_flags'.
|
||
|
|
||
|
2003-03-22 Simon Josefsson <jas@extundo.com>
|
||
|
|
||
|
* cipher.c (gcry_cipher_open, do_cbc_encrypt)
|
||
|
(gcry_cipher_encrypt): Support GCRY_CIPHER_CBC_MAC.
|
||
|
(gcry_cipher_ctl): Support GCRYCTL_SET_CBC_MAC.
|
||
|
|
||
|
2003-03-19 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* primegen.c (gen_prime): New args EXTRA_CHECK and EXTRA_CHECK_ARG
|
||
|
to allow for a user callback. Changed all callers.
|
||
|
(_gcry_generate_secret_prime)
|
||
|
(_gcry_generate_public_prime): Ditto, pass them to gen_prime.
|
||
|
* rsa.c (check_exponent): New.
|
||
|
(generate): Use a callback to ensure that a given exponent is
|
||
|
actually generated.
|
||
|
|
||
|
2003-03-12 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* primegen.c: Initialize `no_of_small_prime_numbers' statically.
|
||
|
(gen_prime): Remove calculation of `no_of_small_prime_numbers'.
|
||
|
|
||
|
2003-03-03 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* md.c (gcry_md_ctl): Rewritten to use same style like the other
|
||
|
functions dispatchers.
|
||
|
|
||
|
2003-03-02 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* cipher.c (struct gcry_cipher_handle): New member: algo_index.
|
||
|
(gcry_cipher_open): Allocate memory for two cipher contexts.
|
||
|
Initialize algo_index.
|
||
|
(cipher_setkey): Duplicate context into reserved memory.
|
||
|
(cipher_reset): New function, which resets the context and clear
|
||
|
the IV.
|
||
|
(gcry_cipher_ctl): Call cipher_reset.
|
||
|
|
||
|
2003-02-23 Moritz Schulte <moritz@g10code.com>
|
||
|
|
||
|
* cipher.c: Remove (bogus) `digitp' macro definition.
|
||
|
* md.c: Likewise.
|
||
|
|
||
|
* blowfish.c (burn_stack): Removed.
|
||
|
* arcfour.c (burn_stack): Likewise.
|
||
|
* cast5.c (burn_stack): Likewise.
|
||
|
* des.c (burn_stack): Likewise.
|
||
|
* md4.c (burn_stack): Likewise.
|
||
|
* md5.c (burn_stack): Likewise.
|
||
|
* random.c (burn_stack): Likewise.
|
||
|
* rijndael.c (burn_stack): Likewise.
|
||
|
* rmd160.c (burn_stack): Likewise.
|
||
|
* sha1.c (burn_stack): Likewise.
|
||
|
* sha256.c (burn_stack): Likewise.
|
||
|
* tiger.c (burn_stack): Likewise.
|
||
|
* twofish.c (burn_stack): Likewise.
|
||
|
|
||
|
* blowfish.c: Changed all occurences of burn_stack to
|
||
|
_gcry_burn_stack.
|
||
|
* arcfour.c: Likewise.
|
||
|
* cast5.c: Likewise.
|
||
|
* des.c: Likewise.
|
||
|
* md4.c: Likewise.
|
||
|
* md5.c: Likewise.
|
||
|
* random.c: Likewise.
|
||
|
* rijndael.c: Likewise.
|
||
|
* rmd160.c: Likewise.
|
||
|
* sha1.c: Likewise.
|
||
|
* sha256.c: Likewise.
|
||
|
* tiger.c: Likewise.
|
||
|
* twofish.c: Likewise.
|
||
|
|
||
|
* arcfour.c (_gcry_arcfour_get_info): Use GCRY_CIPHER_ARCFOUR
|
||
|
instead of hard-coded value `301'.
|
||
|
|
||
|
2003-01-24 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c (_gcry_register_random_progress): New.
|
||
|
(_gcry_random_progress): New.
|
||
|
|
||
|
* rndlinux.c (gather_random): Call the random progress function.
|
||
|
|
||
|
2003-01-23 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rsa.c (generate): New arg USE_E to request a specific public
|
||
|
exponent.
|
||
|
(_gcry_rsa_generate): Ditto.
|
||
|
* elgamal.c (_gcry_elg_generate): Must add an dummy argument
|
||
|
instead of USE_E.
|
||
|
* dsa.c (_gcry_dsa_generate): Ditto.
|
||
|
* pubkey.c (dummy_generate): Ditto.
|
||
|
(pubkey_generate): Add USE_E arg and pass it down.
|
||
|
(gcry_pk_genkey): Detect "rsa-use-e" parameter and pass it to generate.
|
||
|
|
||
|
* pubkey.c (sexp_to_enc): New arg RET_MODERN.
|
||
|
(gcry_pk_decrypt): Make use of it to return a real S-expression.
|
||
|
Return better error codes.
|
||
|
(gcry_pk_verify): Return better error codes.
|
||
|
|
||
|
2003-01-21 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c (gcry_random_add_bytes): Add QUALITY argument, let
|
||
|
function return an error code and disable its core for now.
|
||
|
|
||
|
2003-01-21 Timo Schulz <twoaday@freakmail.de>
|
||
|
|
||
|
* random.c (gcry_random_add_bytes): New. Function to add external
|
||
|
random to the pool.
|
||
|
|
||
|
2003-01-20 Simon Josefsson <jas@extundo.com>
|
||
|
|
||
|
* crc.c: New.
|
||
|
* Makefile.am (EXTRA_PROGRAMS, EXTRA_crc_SOURCES): Add crc.c.
|
||
|
* md.c (gcry_md_get_algo_dlen): Add values for CRC.
|
||
|
|
||
|
2003-01-20 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* sha256.c: New.
|
||
|
* bithelp.h (ror): New.
|
||
|
* Makfile.am: Add sha256.c.
|
||
|
* md.c (oid_table): Add values for SHA256 et al.
|
||
|
(gcry_md_get_algo_dlen): Likewise
|
||
|
|
||
|
2003-01-20 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c (gcry_pk_get_keygrip): Implemented keygrips for DSA
|
||
|
and ElGamal.
|
||
|
|
||
|
2003-01-17 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* cipher.c (gcry_cipher_encrypt): Reworked so that the output will
|
||
|
never contain the plaintext even if the caller did not checked the
|
||
|
return value.
|
||
|
|
||
|
* md.c (gcry_md_get_algo): Changed error code to GCRYERR_GENERAL
|
||
|
because we don't have an invalid md algo but no algorithm enabled.
|
||
|
|
||
|
* pubkey.c (gcry_pk_genkey): Changed error code for bounds check
|
||
|
of table parameters to GCRYERR_INTERNAL.
|
||
|
|
||
|
* md.c (gcry_md_open): Partly reverted Timo's change from
|
||
|
2002-10-10 by removing the check for the algorithm. An algorithm
|
||
|
of 0 is allowed and anyway we should not double check it or check
|
||
|
it using a different function. Also fixed the flags check.
|
||
|
|
||
|
* pubkey.c (gcry_pk_encrypt): Make sure that R_CIPH points to NULL
|
||
|
on error.
|
||
|
(gcry_pk_decrypt): Ditto for R_PLAIN.
|
||
|
(gcry_pk_sign): Ditto for R_SIG.
|
||
|
(gcry_pk_genkey): Ditto for R_KEY.
|
||
|
|
||
|
2003-01-16 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (gcry_md_write): Changed 2nd argument type to void*.
|
||
|
(gcry_md_hash_buffer): Changed type of boths buffers to void*.
|
||
|
(gcry_md_setkey): Changed 2nd argument type to void*.
|
||
|
|
||
|
2003-01-15 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c (sexp_data_to_mpi): New. This handles pkcs1 padding.
|
||
|
(gcry_pk_sign, gcry_pk_verify): Use it here.
|
||
|
(gcry_pk_encrypt): And here.
|
||
|
(pubkey_verify): Add debug code.
|
||
|
(sexp_to_enc): Handle flags in the input and return the pkcs1 flag
|
||
|
in a new parameter.
|
||
|
(gcry_pk_decrypt): Prepare for future pkcs1 handling.
|
||
|
|
||
|
2002-12-19 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c (_gcry_random_initialize): New.
|
||
|
|
||
|
2002-12-16 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* cipher.c: Added a Teletrust specific OID for 3DES.
|
||
|
|
||
|
2002-12-12 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c: Added another oddball OIW OID (sha-1WithRSAEncryption).
|
||
|
|
||
|
2002-11-23 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (load_digest_module): Enlarged checked_algos bitmap.
|
||
|
* md4.c (func_table): Fixed entry for md4.
|
||
|
Both by Simon Josephson.
|
||
|
(transform): Copy data to get the alignment straight. Tested only
|
||
|
on i386.
|
||
|
|
||
|
2002-11-10 Simon Josefsson <jas@extundo.com>
|
||
|
|
||
|
* cipher.c (gcry_cipher_open): Don't reject CTS flag.
|
||
|
(do_cbc_encrypt, do_cbc_decrypt, cipher_encrypt)
|
||
|
(gcry_cipher_encrypt, cipher_decrypt)
|
||
|
(gcry_cipher_decrypt): Support CTS flag.
|
||
|
(gcry_cipher_ctl): Toggle CTS flag.
|
||
|
|
||
|
2002-11-10 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md4.c: New. By Simon Josefsson.
|
||
|
* Makefile.am (EXTRA_PROGRAMS): Add md4.c.
|
||
|
* md.c (oid_table,gcry_md_get_algo_dlen): MD4 support.
|
||
|
|
||
|
2002-10-14 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* arcfour.c (do_encrypt_stream): Don't use increment op when
|
||
|
assigning to the same variable.
|
||
|
|
||
|
2002-10-10 Timo Schulz <ts@winpt.org>
|
||
|
|
||
|
* pubkey.c (gcry_pk_genkey): Check boundaries.
|
||
|
|
||
|
* md.c (gcry_md_open): Check that algo is available and only
|
||
|
valid flag values are used.
|
||
|
(gcry_md_get_algo): Add error handling.
|
||
|
|
||
|
2002-09-26 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c: Include an OID for TIGER.
|
||
|
* tiger.c (tiger_get_info): Use a regular OID.
|
||
|
|
||
|
2002-09-17 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c: Replaced mutex.h by the new ath.h. Changed all calls.
|
||
|
|
||
|
2002-09-16 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* arcfour.c (do_encrypt_stream): Use register modifier and modulo.
|
||
|
According to Nikos Mavroyanopoulos this increases perfromace on
|
||
|
i386 system noticable. And I always tought gcc is clever enough.
|
||
|
* md5.c (transform): Use register modifier.
|
||
|
* rmd160.c (transform): Ditto.
|
||
|
* sha1.c (transform): Ditto. We hope that there are 6 free registers.
|
||
|
* random.c (gcry_randomize): Rewrote to avoid malloc calls.
|
||
|
|
||
|
* rndlinux.c (gather_random): Replaced remaining fprintfs by log_*.
|
||
|
* arcfour.c (do_arcfour_setkey): Ditto.
|
||
|
* twofish.c (do_twofish_setkey): Ditto.
|
||
|
* rndegd.c (gather_random): Ditto.
|
||
|
* rijndael.c (do_setkey): Ditto.
|
||
|
* random.c (_gcry_random_dump_stats): Ditto.
|
||
|
* primegen.c (_gcry_generate_elg_prime): Ditto.
|
||
|
* des.c (_gcry_des_get_info): Ditto.
|
||
|
* cast5.c (do_cast_setkey): Ditto.
|
||
|
* blowfish.c (do_bf_setkey): Ditto.
|
||
|
|
||
|
2002-08-26 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* des.c (weak_keys): Fixed one entry in the table and compared
|
||
|
all entries against the literature.
|
||
|
(selftest): Checksum the weak key table.
|
||
|
|
||
|
2002-08-21 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c: Enable keygrip calculation for "openpgp-rsa".
|
||
|
|
||
|
2002-08-17 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* cipher.c (setup_cipher_table): Don't overwrite the DES entry
|
||
|
with the entry for DUMMY.
|
||
|
|
||
|
2002-08-14 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* des.c (do_des_setkey,do_des_encrypt, do_des_decrypt): New.
|
||
|
(_gcry_des_get_info): Support plain old DES.
|
||
|
* cipher.c (setup_cipher_table): Put DES into the table.
|
||
|
|
||
|
2002-07-25 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rndunix.c (_gcry_rndunix_constructor): Prefixed with _gcry_.
|
||
|
Noted by Stephan Austermuehle.
|
||
|
|
||
|
2002-07-08 Timo Schulz <ts@winpt.org>
|
||
|
|
||
|
* rndw32.c: Replaced the m_ memory functions with the real
|
||
|
gcry_ functions. Renamed all g10_ prefixed functions to log_.
|
||
|
|
||
|
2002-06-12 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rsa.c (generate): Use e = 65537 for now.
|
||
|
|
||
|
2002-06-11 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c (gcry_pk_get_keygrip): Allow a "protected-private-key".
|
||
|
|
||
|
2002-06-05 Timo Schulz <ts@winpt.org>
|
||
|
|
||
|
* cipher.c (gcry_cipher_encrypt, gcry_cipher_decrypt):
|
||
|
Check that the input size is a multiple of the blocksize.
|
||
|
|
||
|
2002-05-23 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (oid_table): Add an rsadsi OID for MD5.
|
||
|
|
||
|
2002-05-21 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* primegen.c, elgamal.c, dsa.c (progress): Do not print anything
|
||
|
by default. Pass an extra identifying string to the callback and
|
||
|
reserved 2 argumenst for current and total counters. Changed the
|
||
|
register function prototype.
|
||
|
|
||
|
2002-05-17 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rndegd.c (rndegd_constructor): Fixed name of register function
|
||
|
and prefixed the function name with _gcry_.
|
||
|
* rndw32.c (rndw32_constructor): Ditto.
|
||
|
* tiger.c (tiger_constructor): Ditto.
|
||
|
|
||
|
* Makefile.am: Removed all dynamic loading stuff.
|
||
|
* dynload.c: Ditto. Now only used for the constructor system.
|
||
|
|
||
|
2002-05-15 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c (gcry_random_bytes,gcry_random_bytes_secure)
|
||
|
(gcry_randomize): Make sure we are initialized.
|
||
|
|
||
|
2002-05-14 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
Changed license of most files to the LGPL.
|
||
|
|
||
|
2002-05-02 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c (_gcry_fast_random_poll): Initialize the module so the
|
||
|
mutex can be used.
|
||
|
|
||
|
* primegen.c (small_prime_numbers): Moved table from smallprime.c
|
||
|
* smallprime.c: File removed.
|
||
|
|
||
|
* des.c (leftkey_swap, rightkey_swap, working_memcmp): Made static.
|
||
|
|
||
|
* cipher.c (gcry_cipher_map_name): Map "RIJNDAEL" to "AES".
|
||
|
* rijndael.c (rijndael_get_info): We do only support a 128 bit
|
||
|
blocksize so it makes sense to change the algorithm strings to
|
||
|
AES.
|
||
|
|
||
|
* tiger.c (tiger_final): Removed superfluous token pasting operators.
|
||
|
* md5.c (md5_final): Ditto.
|
||
|
|
||
|
2002-04-30 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* cipher.c: Fixed list of copyright years.
|
||
|
|
||
|
2002-03-18 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c (initialize): Initialize the new pool lock mutex.
|
||
|
(_gcry_fast_random_poll): Add locking and moved main
|
||
|
code out to...
|
||
|
(do_fast_random_poll): new function.
|
||
|
(read_pool): Use the new function here.
|
||
|
(get_random_bytes): Add locking.
|
||
|
(_gcry_update_random_seed_file): Ditto.
|
||
|
|
||
|
2002-03-11 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c: Add rsaSignatureWithripemd160 to OID table.
|
||
|
|
||
|
2002-02-20 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* sha1.c: Removed a left over comment note. The code has been
|
||
|
rewritten from scratch in 1998. Thanks to Niels Möller for
|
||
|
reporting this misleading comment.
|
||
|
|
||
|
2002-02-18 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rndunix.c (rndunix_constructor): Use the the new prefixed
|
||
|
function name. Reported by Jordi Mallach.
|
||
|
|
||
|
2002-02-10 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c (mix_pool): Carry an extra failsafe_digest buffer
|
||
|
around to make the function more robust.
|
||
|
|
||
|
2002-02-08 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* random.c (add_randomness): Xor new data into the pool and not
|
||
|
just copy it. This avoids any choosen input attacks which are not
|
||
|
serious in our setting because an outsider won't be able to mix
|
||
|
data in and even then we keep going with a PRNG. Thanks to Stefan
|
||
|
Keller for pointing this out.
|
||
|
|
||
|
2002-01-04 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c (gcry_pk_genkey): Do not release skey - it is static.
|
||
|
|
||
|
* primegen.c (gen_prime): Of course we should use set_bit
|
||
|
and not set_highbit to set the second high bit.
|
||
|
|
||
|
2001-12-18 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rsa.c (generate): Loop until we find the exact modulus size.
|
||
|
Changed the exponent to 41.
|
||
|
(rsa_get_info): s/usage/r_usage/ to avoid shadow warnings.
|
||
|
* primegen.c (gen_prime): Set 2 high order bits for secret primes.
|
||
|
|
||
|
* Makefile.am (DISTCLEANFILES): Include construct.c.
|
||
|
|
||
|
2001-12-17 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c (gcry_pk_get_keygrip): New - experimental.
|
||
|
|
||
|
2001-12-11 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* cipher.c: Added OIDs for AES.
|
||
|
(gcry_cipher_mode_from_oid): New.
|
||
|
(gcry_cipher_map_name): Moved OID search code to ..
|
||
|
(search_oid): .. new function.
|
||
|
|
||
|
2001-12-10 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c (gcry_pk_encrypt): Find the signature algorithm by name
|
||
|
and not by number.
|
||
|
|
||
|
* pubkey.c (gcry_pk_encrypt,gcry_pk_decrypt,gcry_pk_sign)
|
||
|
(gcry_pk_verify,gcry_pk_testkey, gcry_pk_genkey)
|
||
|
(gcry_pk_get_nbits): Release the arrays. Noted by Nikos
|
||
|
Mavroyanopoulos.
|
||
|
|
||
|
2001-12-06 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* cipher.c (gcry_cipher_map_name): Look also for OIDs prefixed
|
||
|
with "oid." or "OID.".
|
||
|
|
||
|
2001-12-05 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c (algo_info_table): Fixed entry for openpgp-rsa.
|
||
|
|
||
|
2001-11-24 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* pubkey.c: Added the rsaEncryption OID to the tables.
|
||
|
(sexp_to_key): Add an arg to return the index of the algorithm,
|
||
|
changed all callers.
|
||
|
(gcry_pk_sign): Find the signature algorithm by name and not by
|
||
|
number.
|
||
|
(gcry_pk_get_nbits): Fixed so that we can now really pass a secret
|
||
|
key to get the result.
|
||
|
|
||
|
* md.c (gcry_md_map_name): Look also for OIDs prefixed with "oid."
|
||
|
or "OID." so that an OID string can be used as an S-Exp token.
|
||
|
|
||
|
2001-11-20 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (gcry_md_map_name): Lookup by OID if the the name begins
|
||
|
with a digit.
|
||
|
(oid_table): New.
|
||
|
|
||
|
2001-11-16 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (gcry_md_info): New operator GCRYCTL_IS_ALGO_ENABLED.
|
||
|
|
||
|
2001-11-07 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md.c (gcry_md_hash_buffer): Close the handle which was left open
|
||
|
for algorithms other than rmd160.
|
||
|
|
||
|
2001-08-08 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rndw32.c (gather_random): Use toolhelp in addition to the NT
|
||
|
gatherer for Windows2000. Suggested by Sami Tolvanen.
|
||
|
|
||
|
* random.c (read_pool): Fixed length check, this used to be one
|
||
|
byte to strict. Made an assert out of it because the caller has
|
||
|
already made sure that only poolsize bytes are requested.
|
||
|
Reported by Marcus Brinkmann.
|
||
|
|
||
|
2001-08-03 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* cipher.c (cipher_encrypt, cipher_decrypt): Prepare to return
|
||
|
errors. We have to change the interface to all ciphers to make
|
||
|
this really work but we should do so to prepare for hardware
|
||
|
encryption modules.
|
||
|
(gcry_cipher_encrypt, gcry_cipher_decrypt): Return the error and
|
||
|
set lasterr.
|
||
|
(gcry_cipher_ctl): Make sure that errors from setkey are returned.
|
||
|
|
||
|
2001-08-02 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rndlinux.c (gather_random): casted a size_t arg to int so that
|
||
|
the format string is correct. Casting is okay here and avoids
|
||
|
translation changes.
|
||
|
|
||
|
* random.c (fast_random_poll): Do not check the return code of
|
||
|
getrusage.
|
||
|
|
||
|
* rndunix.c: Add a signal.h header to avoid warnings on Solaris 7
|
||
|
and 8.
|
||
|
|
||
|
* tiger.c (print_abc,print_data): Removed.
|
||
|
|
||
|
* rijndael.c, des.c, blowfish.c, twofish.c, cast5.c, arcfour.c
|
||
|
(burn_stack): New. Add wrappers for most functions to be able to
|
||
|
call burn_stack after the function invocation. This methods seems
|
||
|
to be the most portable way to zeroise the stack used. It does
|
||
|
only work on stack frame based machines but it is highly portable
|
||
|
and has no side effects. Just setting the automatic variables at
|
||
|
the end of a function to zero does not work well because the
|
||
|
compiler will optimize them away - marking them as volatile would
|
||
|
be bad for performance.
|
||
|
* md5.c, sha1.c, rmd160.c, tiger.c (burn_stack): Likewise.
|
||
|
* random.c (burn_stack): New.
|
||
|
(mix_pool): Use it here to burn the stack of the mixblock function.
|
||
|
|
||
|
* primegen.c (_gcry_generate_elg_prime): Freed q at 3 places.
|
||
|
Thanks to Tommi Komulainen.
|
||
|
|
||
|
* arcfour.c (arcfour_setkey): Check the minimim keylength against
|
||
|
bytes and not bits.
|
||
|
(selftest): Must reset the key before decryption.
|
||
|
|
||
|
2001-05-31 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* sha1.c (sha1_init): Made static.
|
||
|
|
||
|
Changed all g10_ prefixed function names as well as some mpi_
|
||
|
function names to cope with the introduced naming changes.
|
||
|
|
||
|
* md.c (prepare_macpads): Made key const.
|
||
|
|
||
|
2001-05-28 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* rndegd.c (gather_random): Removed the use of tty_printf.
|
||
|
|
||
|
2001-03-29 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* md5.c (md5_final): Fixed calculation of hashed length. Thanks
|
||
|
to disastry@saiknes.lv for pointing out that it was horrible wrong
|
||
|
for more than 512MB of input.
|
||
|
* sha1.c (sha1_final): Ditto.
|
||
|
* rmd160.c (rmd160_final): Ditto.
|
||
|
* tiger.c (tiger_final): Ditto.
|
||
|
|
||
|
* blowfish.c (encrypt,do_encrypt): Changed name to do_encrypt to
|
||
|
avoid name clashes with an encrypt function in stdlib.h of
|
||
|
Dynix/PIX. Thanks to Gene Carter.
|
||
|
* elgamal.c (encrypt,do_encrypt): Ditto.
|
||
|
|
||
|
* twofish.c (gnupgext_enum_func): Use only when when compiled as a
|
||
|
module.
|
||
|
* rijndael.c (gnupgext_enum_func): Ditto.
|
||
|
|
||
|
* tiger.c (tiger_get_info): Return "TIGER192" and not just
|
||
|
"TIGER". By Edwin Woudt.
|
||
|
|
||
|
* random.c: Always include time.h - standard requirement. Thanks
|
||
|
to James Troup.
|
||
|
|
||
|
* rndw32.c: Fixes to the macros.
|
||
|
|
||
|
2001-01-11 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* cipher.c (cipher_encrypt,gcry_cipher_encrypt): Use blocksize and
|
||
|
not 8.
|
||
|
|
||
|
2000-12-19 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
Major change:
|
||
|
Removed all GnuPG stuff and renamed this piece of software
|
||
|
to gcrypt.
|
||
|
|
||
|
2000-11-14 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* dsa.c (test_keys): Replaced mpi_alloc by gcry_mpi_new and
|
||
|
mpi_free by gcry_mpi_release.
|
||
|
* elgamal.c (test_keys,generate): Ditto, also for mpi_alloc_secure.
|
||
|
* rsa.c (test_keys,generate,rsa_verify): Ditto.
|
||
|
* primegen.c (generate_elg_prime): Ditto.
|
||
|
(gen_prime): Ditto and removed nlimbs.
|
||
|
|
||
|
* rsa.c (generate): Allocate 2 more vars in secure memory.
|
||
|
|
||
|
* Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
|
||
|
problems.
|
||
|
|
||
|
2000-10-09 Werner Koch <wk@gnupg.org>
|
||
|
|
||
|
* arcfour.c, arcfour.h: New.
|
||
|
* cipher.c (cipher_encrypt, cipher_decrypt): Add stream mode.
|
||
|
(setup_cipher_table): Add Arcfour.
|
||
|
(gcry_cipher_open): Kludge to allow stream mode.
|
||
|
|
||
|
Wed Oct 4 13:16:18 CEST 2000 Werner Koch <wk@openit.de>
|
||
|
|
||
|
* sha1.c (transform): Use rol() macro. Actually this is not needed
|
||
|
for a newer gcc but there are still aoter compilers.
|
||
|
|
||
|
* rsa.c (test_keys): Use new random function.
|
||
|
|
||
|
* md.c (gcry_md_setkey): New function to overcome problems with
|
||
|
const conflics.
|
||
|
(gcry_md_ctl): Pass set key to the new functions.
|
||
|
|
||
|
* rijndael.c: New.
|
||
|
* cipher.c: Add Rijndael support.
|
||
|
|
||
|
Mon Sep 18 16:35:45 CEST 2000 Werner Koch <wk@openit.de>
|
||
|
|
||
|
* rndlinux.c (open_device): Loose random device checking.
|
||
|
By Nils Ellmenreich.
|
||
|
|
||
|
* random.c (fast_random_poll): Check ENOSYS for getrusage.
|
||
|
* rndunix.c: Add 2 sources for QNX. By Sam Roberts.
|
||
|
|
||
|
* pubkey.c (gcry_pk_algo_info): Add GCRYCTL_GET_ALGO_USAGE.
|
||
|
|
||
|
* rsa.c: Changed the comment about the patent.
|
||
|
(secret): Speed up by using the CRT. For a 2k keys this
|
||
|
is about 3 times faster.
|
||
|
(stronger_key_check): New but unused code to check the secret key.
|
||
|
* Makefile.am: Included rsa.[ch].
|
||
|
* pubkey.c: Enabled RSA support.
|
||
|
(pubkey_get_npkey): Removed RSA workaround.
|
||
|
|
||
|
Mon Jul 31 10:04:47 CEST 2000 Werner Koch <wk@openit.de>
|
||
|
|
||
|
* pubkey.c: Replaced all gcry_sexp_{car,cdr}_{data,mpi} by the new
|
||
|
gcry_sexp_nth_{data,mpi} functions.
|
||
|
|
||
|
Tue Jul 25 17:44:15 CEST 2000 Werner Koch <wk@openit.de>
|
||
|
|
||
|
* pubkey.c (exp_to_key,sexp_to_sig,sexp_to_enc,gcry_pk_encrypt,
|
||
|
gcry_pk_decrypt,gcry_pk_sign,gcry_pk_genkey): Changed to work with
|
||
|
the new S-Exp interface.
|
||
|
|
||
|
Mon Jul 17 16:35:47 CEST 2000 Werner Koch <wk@>
|
||
|
|
||
|
* random.c (gather_faked): Replaced make_timestamp by time(2) again.
|
||
|
|
||
|
Fri Jul 14 19:38:23 CEST 2000 Werner Koch <wk@>
|
||
|
|
||
|
* md.c (gcry_md_ctl): Support GCRYCTL_{START,STOP}_DUMP.
|
||
|
|
||
|
* Makefile.am: Never compile mingw32 as module.
|
||
|
|
||
|
* Makefile.am: Tweaked module build and removed libtool
|
||
|
|
||
|
* Makefile.am: Replaced -O1 by -O. Suggested by Alec Habig.
|
||
|
|
||
|
* elgamal.c (sign): Removed inactive code.
|
||
|
|
||
|
* rsa.c, rsa.h: New based on the old module version (only in CVS for now).
|
||
|
* pubkey.c (setup_pubkey_table): Added commented support for RSA.
|
||
|
|
||
|
* rndunix.c (waitpid): New. For UTS 2.1. All by Dave Dykstra.
|
||
|
(my_popen): Do the FD_CLOEXEC only if it is available
|
||
|
(start_gatherer): Cope with missing _SC_OPEN_MAX
|
||
|
|
||
|
* rndunix.c: Add some more headers for QNX. By Sam Roberts.
|
||
|
|
||
|
* rndegd.c (gather_random): Shortcut level 0.
|
||
|
* rndunix.c (gather_random): Ditto.
|
||
|
* rndw32.c (gather_random): Ditto.
|
||
|
|
||
|
* rndw32.c: Replaced with code from Cryptlib and commented the old stuff.
|
||
|
* rndw32.c: Add some debuging code enabled by an environment variable.
|
||
|
|
||
|
* random.c (read_seed_file): Binary open for DOSish system
|
||
|
(update_random_seed_file): Ditto.
|
||
|
* random.c [MINGW32]: Include process.h for getpid.
|
||
|
* random.c (fast_random_poll): Add clock_gettime() as fallback for
|
||
|
system which support this POSIX.4 fucntion. By Sam Roberts.
|
||
|
|
||
|
* random.c (read_seed_file): Removed the S_ISLNK test becuase it
|
||
|
is already covered by !S_ISREG and is not defined in Unixware.
|
||
|
Reported by Dave Dykstra.
|
||
|
(update_random_seed_file): Silently ignore update request when pool
|
||
|
is not filled.
|
||
|
|
||
|
* random.c (read_seed_file): New.
|
||
|
(set_random_seed_file): New.
|
||
|
(read_pool): Try to read the seeding file.
|
||
|
(update_random_seed_file): New.
|
||
|
|
||
|
(read_pool): Do an initial extra seeding when level 2 quality random
|
||
|
is requested the first time. This requestes at least POOLSIZE/2 bytes
|
||
|
of entropy. Compined with the seeding file this should make normal
|
||
|
random bytes cheaper and increase the quality of the random bytes
|
||
|
used for key generation.
|
||
|
|
||
|
* random.c (read_pool): Print a more friendly error message in
|
||
|
cases when too much random is requested in one call.
|
||
|
|
||
|
* random.c (fast_random_poll): Check whether RUSAGE_SELF is defined;
|
||
|
this is not the case for some ESIX and Unixware, although they have
|
||
|
getrusage().
|
||
|
|
||
|
* primegen.c (generate_elg_prime): All primes are now generated with
|
||
|
the lowest random quality level. Because they are public anyway we
|
||
|
don't need stronger random and by this we do not drain the systems
|
||
|
entropy so much.
|
||
|
|
||
|
* primegen.c (register_primegen_progress): New.
|
||
|
* dsa.c (register_pk_dsa_progress): New.
|
||
|
* elgamal.c (register_pk_elg_progress): New.
|
||
|
|
||
|
* elgamal.c (wiener_map): New.
|
||
|
(gen_k): Use a much smaller k.
|
||
|
(generate): Calculate the qbits using the wiener map and
|
||
|
choose an x at a size comparable to the one choosen in gen_k
|
||
|
|
||
|
* rmd160.c (rmd160_get_info): Moved casting to the left side due to a
|
||
|
problem with UTS4.3. Suggested by Dave Dykstra.
|
||
|
* sha1.c (sha1_get_info): Ditto.
|
||
|
* tiger.c (tiger_get_info): Ditto.
|
||
|
* md5.c (md5_get_info): Ditto
|
||
|
* des.c (des_get_info): Ditto.
|
||
|
* blowfish.c (blowfish_get_info): Ditto.
|
||
|
* cast5.c (cast5_get_info): Ditto.
|
||
|
* twofish.c (twofish_get_info): Ditto.
|
||
|
|
||
|
Fri Mar 24 11:25:45 CET 2000 Werner Koch <wk@openit.de>
|
||
|
|
||
|
* md.c (md_open): Add hmac arg and allocate space for the pads.
|
||
|
(md_finalize): Add HMAC support.
|
||
|
(md_copy): Ditto.
|
||
|
(md_close): Ditto.
|
||
|
(gcry_md_reset): Ditto.
|
||
|
(gcry_md_ctl): Ditto.
|
||
|
(prepare_macpdas): New.
|
||
|
|
||
|
Mon Mar 13 19:22:46 CET 2000 Werner Koch <wk@openit.de>
|
||
|
|
||
|
* md.c (gcry_md_hash_buffer): Add support for the other algorithms.
|
||
|
|
||
|
Mon Jan 31 16:37:34 CET 2000 Werner Koch <wk@gnupg.de>
|
||
|
|
||
|
* genprime.c (generate_elg_prime): Fixed returned factors which never
|
||
|
worked for non-DSA keys.
|
||
|
|
||
|
Thu Jan 27 18:00:44 CET 2000 Werner Koch <wk@gnupg.de>
|
||
|
|
||
|
* pubkey.c (sexp_to_key): Fixed mem leaks in case of errors.
|
||
|
|
||
|
Mon Jan 24 22:24:38 CET 2000 Werner Koch <wk@gnupg.de>
|
||
|
|
||
|
* pubkey.c (gcry_pk_decrypt): Implemented.
|
||
|
(gcry_pk_encrypt): Implemented.
|
||
|
(gcry_pk_testkey): New.
|
||
|
(gcry_pk_genkey): New.
|
||
|
(pubkey_decrypt): Made static.
|
||
|
(pubkey_encrypt): Ditto.
|
||
|
(pubkey_check_secret_key): Ditto.
|
||
|
(pubkey_generate): Ditto.
|
||
|
|
||
|
Mon Jan 24 13:04:28 CET 2000 Werner Koch <wk@gnupg.de>
|
||
|
|
||
|
* pubkey.c (pubkey_nbits): Removed and replaced by ...
|
||
|
(gcry_pk_get_nbits): this new one.
|
||
|
|
||
|
Wed Dec 8 21:58:32 CET 1999 Werner Koch <wk@gnupg.de>
|
||
|
|
||
|
* dsa.c: s/mpi_powm/gcry_mpi_powm/g
|
||
|
* elgamal.c: Ditto.
|
||
|
* primegen.c: Ditto.
|
||
|
|
||
|
* : Replaced g10_opt_verbose by g10_log_verbosity().
|
||
|
|
||
|
* Makefile.am (INCLUDES): removed intl, add ../gcrypt
|
||
|
|
||
|
Fri Nov 19 17:15:20 CET 1999 Werner Koch <wk@gnupg.de>
|
||
|
|
||
|
* dynload.c (cmp_filenames): New to replaced compare_filename() in
|
||
|
module.
|
||
|
(register_cipher_extension): Removed the tilde expansion stuff.
|
||
|
* rndeg.c (my_make_filename): New.
|
||
|
|
||
|
* : Replaced header util.h by g10lib.h
|
||
|
|
||
|
* random.c (gather_faked): Replaced make_timestamp by time(2).
|
||
|
Disabled wrning printed with tty_printf.
|
||
|
* rndlinux.c (gather_random): Always use fprintf instead of tty_xxx;
|
||
|
this should be replaced by a callback function.
|
||
|
|
||
|
* primegen.c (gen_prime): Use gcry_mpi_randomize.
|
||
|
(is_prime): Ditto.
|
||
|
* elgamal.c (test_keys): Ditto.
|
||
|
* dsa.c (test_keys): Ditto.
|
||
|
|
||
|
* cipher.c (gcry_cipher_close): Die on invalid handle.
|
||
|
|
||
|
Mon Nov 15 21:36:02 CET 1999 Werner Koch <wk@gnupg.de>
|
||
|
|
||
|
* elgamal.c (gen_k): Use the new random API.
|
||
|
(generate): Ditto.
|
||
|
* dsa.c (gen_k): Ditto.
|
||
|
(generate): Ditto.
|
||
|
|
||
|
Sat Nov 13 17:44:23 CET 1999 Werner Koch <wk@gnupg.de>
|
||
|
|
||
|
* pubkey.c (disable_pubkey_algo): Made static.
|
||
|
(gcry_pk_ctl): New.
|
||
|
|
||
|
* random.c (get_random_bits): Renamed to ...
|
||
|
(get_random_bytes): ... this and made static.
|
||
|
(gcry_random_bytes): New.
|
||
|
(gcry_random_bytes_secure): New.
|
||
|
(randomize_buffer): Renamed to ...
|
||
|
(gcry_randomize): ...this.
|
||
|
|
||
|
* md.c (gcry_md_hash_buffer): New.
|
||
|
|
||
|
* pubkey.c (gcry_pk_algo_info): 4 new commands.
|
||
|
(pubkey_get_npkey): Made static.
|
||
|
(pubkey_get_nskey): Made static.
|
||
|
(pubkey_get_nsig): Made static.
|
||
|
(pubkey_get_nenc): Made static.
|
||
|
|
||
|
* pubkey.c: Removed all G10ERR_xxx.
|
||
|
* cipher.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_CIPHER_ALGO.
|
||
|
* md.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_MD_ALGO.
|
||
|
* cast5.c (cast_setkey): Changed errocodes to GCRYERR_xxx.
|
||
|
* blowfish.c: Ditto.
|
||
|
* des.c: Ditto.
|
||
|
* twofish.c: Ditto.
|
||
|
* dsa.c: Ditto.
|
||
|
* elgamal.c: Ditto.
|
||
|
|
||
|
* g10c.c: Removed
|
||
|
|
||
|
* cipher.c (gcry_cipher_open): Replaced alloc functions and return NULL
|
||
|
if we are out of core.
|
||
|
* dynload.c: Replaced all memory allocation functions.
|
||
|
* md.c: Ditto.
|
||
|
* primegen.c: Ditto.
|
||
|
* pubkey.c: Ditto.
|
||
|
* random.c: Ditto.
|
||
|
* rndw32.c: Ditto.
|
||
|
* elgamal.c: Ditto.
|
||
|
* dsa.c: Ditto.
|
||
|
|
||
|
Tue Oct 26 14:10:21 CEST 1999 Werner Koch <wk@gnupg.de>
|
||
|
|
||
|
* elgamal.c (sign): Hugh found strange code here. Replaced by BUG().
|
||
|
|
||
|
* cipher.c: Merged with gcrypt/symapi.c.
|
||
|
|
||
|
* pubkey.c (string_to_pubkey_algo): Renamed function to ...
|
||
|
(gcry_pk_map_name): ... this.
|
||
|
(pubkey_algo_to_string): Renamed function to ...
|
||
|
(gcry_pk_algo_name): ... this.
|
||
|
(gcry_pk_algo_info): New.
|
||
|
* pubkey.c: Merged with gcrypt/pkapi.c.
|
||
|
|
||
|
* md.c (md_reset): Clear finalized; thanks to Ulf Moeller for
|
||
|
fixing this bug.
|
||
|
|
||
|
* md.c: Merged with gcrypt/mdapi.c
|
||
|
|
||
|
Wed Sep 15 14:39:59 CEST 1999 Michael Roth <mroth@nessie.de>
|
||
|
|
||
|
* des.c: Various speed improvements: One bit pre rotation
|
||
|
trick after initial permutation (Richard Outerbridge).
|
||
|
Finished test of SSLeay Tripple-DES patterns.
|
||
|
|
||
|
Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* rndw32.c: New.
|
||
|
|
||
|
Mon Sep 13 10:51:29 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* bithelp.h: New.
|
||
|
* rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h
|
||
|
|
||
|
Tue Sep 7 16:23:36 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* Makefile.am: Fixed seds for latest egcc. By Ollivier Robert.
|
||
|
|
||
|
Mon Sep 6 19:59:08 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* des.c (selftest): Add some testpattern
|
||
|
|
||
|
Mon Aug 30 20:38:33 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using
|
||
|
in place encryption. Pointed out by Frank Stajano.
|
||
|
|
||
|
Mon Jul 26 09:34:46 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* md5.c (md5_final): Fix for a SCO cpp bug.
|
||
|
|
||
|
Thu Jul 15 10:15:35 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* elgamal.c (elg_check_secret_key,elg_encrypt
|
||
|
elg_decrypt,elg_sign,elg_verify): Sanity check on the args.
|
||
|
* dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto.
|
||
|
|
||
|
* pubkey.c (disable_pubkey_algo): New.
|
||
|
(check_pubkey_algo2): Look at disabled algo table.
|
||
|
* cipher.c (disable_cipher_algo): New.
|
||
|
(check_cipher_algo): Look at disabled algo table.
|
||
|
|
||
|
Wed Jul 7 13:08:40 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* Makefile.am: Support for libtool.
|
||
|
|
||
|
Fri Jul 2 11:45:54 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* dsa.c (gen_k): Changed algorithm to consume less random bytes
|
||
|
* elgamal.c (gen_k): Ditto.
|
||
|
|
||
|
* random.c (random_dump_stats): New.
|
||
|
|
||
|
Thu Jul 1 12:47:31 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* primegen.c, elgamal.c, dsa.c (progess): New and replaced all
|
||
|
fputc with a call to this function.
|
||
|
|
||
|
Sat Jun 26 12:15:59 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* rndegd.c (do_write): s/ssize_t/int/ due to SunOS 4.1 probs.
|
||
|
|
||
|
* cipher.c (do_cbc_encrypt, do_cbc_decrypt): New.
|
||
|
|
||
|
* dynload.c (HAVE_DL_SHL_LOAD): Map hpux API to dlopen (Dave Dykstra).
|
||
|
* Makefile.am (install-exec-hook): Removed.
|
||
|
|
||
|
Sun May 23 14:20:22 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* cipher.c (setup_cipher_table): Enable Twofish
|
||
|
|
||
|
* random.c (fast_random_poll): Disable use of times() for mingw32.
|
||
|
|
||
|
Mon May 17 21:54:43 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* dynload.c (register_internal_cipher_extension): Minor init fix.
|
||
|
|
||
|
Tue May 4 15:47:53 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* primegen.c (gen_prime): Readded the Fermat test. Fixed the bug
|
||
|
that we didn't correct for step when passing the prime to the
|
||
|
Rabin-Miller test which led to bad performance (Stefan Keller).
|
||
|
(check_prime): Add a first Fermat test.
|
||
|
|
||
|
Sun Apr 18 10:11:28 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* cipher.c (cipher_setiv): Add ivlen arg, changed all callers.
|
||
|
|
||
|
* random.c (randomize_buffer): alway use secure memory because
|
||
|
we can't use m_is_secure() on a statically allocated buffer.
|
||
|
|
||
|
* twofish.c: Replaced some macros by a loop to reduce text size.
|
||
|
* Makefile.am (twofish): No more need for sed editing.
|
||
|
|
||
|
Fri Apr 9 12:26:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* cipher.c (cipher_open): Reversed the changes for AUTO_CFB.
|
||
|
|
||
|
* blowfish.c: Dropped the Blowfish 160 mode.
|
||
|
* cipher.c (cipher_open): Ditto.
|
||
|
(setup_cipher_table): Ditto. And removed support of twofish128
|
||
|
|
||
|
Wed Apr 7 20:51:39 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* random.c (get_random_bits): Can now handle requests > POOLSIZE
|
||
|
|
||
|
* cipher.c (cipher_open): Now uses standard CFB for automode if
|
||
|
the blocksize is gt 8 (according to rfc2440).
|
||
|
|
||
|
* twofish.c: Applied Matthew Skala's patches for 256 bit key.
|
||
|
|
||
|
Tue Apr 6 19:58:12 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* random.c (get_random_bits): Can now handle requests > POOLSIZE
|
||
|
|
||
|
* cipher.c (cipher_open): Now uses standard CFB for automode if
|
||
|
the blocksize is gt 8 (according to rfc2440).
|
||
|
|
||
|
Sat Mar 20 11:44:21 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* rndlinux.c (tty_printf) [IS_MODULE]: Removed.
|
||
|
|
||
|
* rndegd.c (gather_random): Some fixes.
|
||
|
|
||
|
Wed Mar 17 13:09:03 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* rndegd.c (do_read): New.
|
||
|
(gather_random): Changed the implementation.
|
||
|
|
||
|
Mon Mar 8 20:47:17 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* dynload.c (DLSYM_NEEDS_UNDERSCORE): Renamed.
|
||
|
|
||
|
Fri Feb 26 17:55:41 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* md.c: Nearly a total rewrote.
|
||
|
|
||
|
Wed Feb 24 11:07:27 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* cipher.c (context): Fixed alignment
|
||
|
* md.c: Ditto.
|
||
|
|
||
|
* rndegd.c: New
|
||
|
|
||
|
Mon Feb 22 20:04:00 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* rndegd.c: New.
|
||
|
|
||
|
Wed Feb 10 17:15:39 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* Makefile.am: Modules are now figured out by configure
|
||
|
* construct.c: New. Generated by configure. Changed all modules
|
||
|
to work with that.
|
||
|
* sha1.h: Removed.
|
||
|
* md5.h: Removed.
|
||
|
|
||
|
* twofish.c: Changed interface to allow Twofish/256
|
||
|
|
||
|
* rndunix.c (start_gatherer): Die on SIGPIPE.
|
||
|
|
||
|
Wed Jan 20 18:59:49 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* rndunix.c (gather_random): Fix to avoid infinite loop.
|
||
|
|
||
|
Sun Jan 17 11:04:33 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* des.c (is_weak_key): Replace system memcmp due to bugs
|
||
|
in SunOS's memcmp.
|
||
|
(des_get_info): Return error on failed selftest.
|
||
|
* twofish.c (twofish_setkey): Return error on failed selftest or
|
||
|
invalid keylength.
|
||
|
* cast5.c (cast_setkey): Ditto.
|
||
|
* blowfish.c (bf_setkey): Return error on failed selftest.
|
||
|
|
||
|
Tue Jan 12 11:17:18 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* random.c (random_is_faked): New.
|
||
|
|
||
|
* tiger.c: Only compile if we have the u64 type
|
||
|
|
||
|
Sat Jan 9 16:02:23 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* rndunix.c (gather_random): check for setuid.
|
||
|
|
||
|
* Makefile.am: Add a way to staically link random modules
|
||
|
|
||
|
Thu Jan 7 18:00:58 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* md.c (md_stop_debug): Do a flush first.
|
||
|
(md_open): size of buffer now depends on the secure parameter
|
||
|
|
||
|
Sun Jan 3 15:28:44 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* rndunix.c (start_gatherer): Fixed stupid ==/= bug
|
||
|
|
||
|
1998-12-31 Geoff Keating <geoffk@ozemail.com.au>
|
||
|
|
||
|
* des.c (is_weak_key): Rewrite loop end condition.
|
||
|
|
||
|
Tue Dec 29 14:41:47 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* random.c: add unistd.h for getpid().
|
||
|
(RAND_MAX): Fallback value for Sun.
|
||
|
|
||
|
Wed Dec 23 17:12:24 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* md.c (md_copy): Reset debug.
|
||
|
|
||
|
Mon Dec 14 21:18:49 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* random.c (read_random_source): Changed the interface to the
|
||
|
random gathering function.
|
||
|
(gather_faked): Use new interface.
|
||
|
* dynload.c (dynload_getfnc_fast_random_poll): Ditto.
|
||
|
(dynload_getfnc_gather_random): Ditto.
|
||
|
* rndlinux.c (gather_random): Ditto.
|
||
|
* rndunix.c (gather_random): Ditto.
|
||
|
|
||
|
Sat Dec 12 18:40:32 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* dynload.c (SYMBOL_VERSION): New to cope with system which needs
|
||
|
underscores.
|
||
|
|
||
|
* rndunix.c: Rewrote large parts
|
||
|
|
||
|
Thu Dec 10 20:15:36 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
|
||
|
|
||
|
* dynload.c (load_extension): increased needed verbosity level.
|
||
|
|
||
|
* random.c (fast_random_poll): Fallback to a default fast random
|
||
|
poll function.
|
||
|
(read_random_source): Always use the faked entroy gatherer if no
|
||
|
gather module is available.
|
||
|
* rndlinux.c (fast_poll): Removed.
|
||
|
* rndunix.c (fast_poll): Removed.
|
||
|
|
||
|
|
||
|
Wed Nov 25 12:33:41 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* rand-*.c: Removed.
|
||
|
* rndlinux.c : New.
|
||
|
* rndunix.c : New.
|
||
|
* random.c : Restructured the interface to the gather modules.
|
||
|
(intialize): Call constructor functions
|
||
|
(read_radnom_source): Moved to here.
|
||
|
* dynload.c (dynload_getfnc_gather_random): New.
|
||
|
(dynload_getfnc_fast_random_poll): New.
|
||
|
(register_internal_cipher_extension): New.
|
||
|
(register_cipher_extension): Support of internal modules.
|
||
|
|
||
|
Sun Nov 8 17:44:36 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* rand-unix.c (read_random_source): Removed the assert.
|
||
|
|
||
|
Mon Oct 19 18:34:30 1998 me,,, (wk@tobold)
|
||
|
|
||
|
* pubkey.c: Hack to allow us to give some info about RSA keys back.
|
||
|
|
||
|
Thu Oct 15 11:47:57 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* dynload.c: Support for DLD
|
||
|
|
||
|
Wed Oct 14 12:13:07 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* rand-unix.c: Now uses names from configure for /dev/random.
|
||
|
|
||
|
1998-10-10 SL Baur <steve@altair.xemacs.org>
|
||
|
|
||
|
* Makefile.am: fix sed -O substitutions to catch -O6, etc.
|
||
|
|
||
|
Tue Oct 6 10:06:32 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* rand-unix.c (HAVE_GETTIMEOFDAY): Fixed (was ..GETTIMEOFTIME :-)
|
||
|
* rand-dummy.c (HAVE_GETTIMEOFDAY): Ditto.
|
||
|
|
||
|
Mon Sep 28 13:23:09 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* md.c (md_digest): New.
|
||
|
(md_reset): New.
|
||
|
|
||
|
Wed Sep 23 12:27:02 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* tiger.c (TIGER_CONTEXT): moved "buf", so that it is 64 bit aligned.
|
||
|
|
||
|
Mon Sep 21 06:22:53 1998 Werner Koch (wk@(none))
|
||
|
|
||
|
* des.c: Some patches from Michael.
|
||
|
|
||
|
Thu Sep 17 19:00:06 1998 Werner Koch (wk@(none))
|
||
|
|
||
|
* des.c : New file from Michael Roth <mroth@nessie.de>
|
||
|
|
||
|
Mon Sep 14 11:10:55 1998 Werner Koch (wk@(none))
|
||
|
|
||
|
* blowfish.c (bf_setkey): Niklas Hernaeus patch to detect weak keys.
|
||
|
|
||
|
Mon Sep 14 09:19:25 1998 Werner Koch (wk@(none))
|
||
|
|
||
|
* dynload.c (RTLD_NOW): Now defined to 1 if it is undefined.
|
||
|
|
||
|
Mon Sep 7 17:04:33 1998 Werner Koch (wk@(none))
|
||
|
|
||
|
* Makefile.am: Fixes to allow a different build directory
|
||
|
|
||
|
Thu Aug 6 17:25:38 1998 Werner Koch,mobil,,, (wk@tobold)
|
||
|
|
||
|
* random.c (get_random_byte): Removed and changed all callers
|
||
|
to use get_random_bits()
|
||
|
|
||
|
Mon Jul 27 10:30:22 1998 Werner Koch (wk@(none))
|
||
|
|
||
|
* cipher.c : Support for other blocksizes
|
||
|
(cipher_get_blocksize): New.
|
||
|
* twofish.c: New.
|
||
|
* Makefile.am: Add twofish module.
|
||
|
|
||
|
Mon Jul 13 21:30:52 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* random.c (read_pool): Simple alloc if secure_alloc is not set.
|
||
|
(get_random_bits): Ditto.
|
||
|
|
||
|
Thu Jul 9 13:01:14 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* dynload.c (load_extension): Function now nbails out if
|
||
|
the program is run setuid.
|
||
|
|
||
|
Wed Jul 8 18:58:23 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* rmd160.c (rmd160_hash_buffer): New.
|
||
|
|
||
|
Thu Jul 2 10:50:30 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* cipher.c (cipher_open): algos >=100 use standard CFB
|
||
|
|
||
|
Thu Jun 25 11:18:25 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* Makefile.am: Support for extensions
|
||
|
|
||
|
Thu Jun 18 12:09:38 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* random.c (mix_pool): simpler handling for level 0
|
||
|
|
||
|
Mon Jun 15 14:40:48 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* tiger.c: Removed from dist, will reappear as dynload module
|
||
|
|
||
|
Sat Jun 13 14:16:57 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* pubkey.c: Major changes to allow extensions. Changed the inteface
|
||
|
of all public key ciphers and added the ability to load extensions
|
||
|
on demand.
|
||
|
|
||
|
* misc.c: Removed.
|
||
|
|
||
|
Wed Jun 10 07:52:08 1998 Werner Koch,mobil,,, (wk@tobold)
|
||
|
|
||
|
* dynload.c: New.
|
||
|
* cipher.c: Major changes to allow extensions.
|
||
|
|
||
|
Mon Jun 8 22:43:00 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* cipher.c: Major internal chnages to support extensions.
|
||
|
* blowfish.c (blowfish_get_info): New and made all internal
|
||
|
functions static, changed heder.
|
||
|
* cast5.c (cast5_get_info): Likewise.
|
||
|
|
||
|
Mon Jun 8 12:27:52 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* tiger.c (transform): Fix for big endian
|
||
|
|
||
|
* cipher.c (do_cfb_decrypt): Big endian fix.
|
||
|
|
||
|
Fri May 22 07:30:39 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* md.c (md_get_oid): Add a new one for TIGER.
|
||
|
|
||
|
Thu May 21 13:24:52 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* cipher.c: Add support for a dummy cipher
|
||
|
|
||
|
Thu May 14 15:40:36 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* rmd160.c (transform): fixed sigbus - I should better
|
||
|
add Christian von Roques's new implemenation of rmd160_write.
|
||
|
|
||
|
Fri May 8 18:07:44 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* rand-internal.h, rand-unix.c, rand-w32.c, rand_dummy.c: New
|
||
|
* random.c: Moved system specific functions to rand-****.c
|
||
|
|
||
|
Fri May 8 14:01:17 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* random.c (fast_random_poll): add call to gethrtime.
|
||
|
|
||
|
Tue May 5 21:28:55 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* elgamal.c (elg_generate): choosing x was not correct, could
|
||
|
yield 6 bytes which are not from the random pool, tsss, tsss..
|
||
|
|
||
|
Tue May 5 14:09:06 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* primegen.c (generate_elg_prime): Add arg mode, changed all
|
||
|
callers and implemented mode 1.
|
||
|
|
||
|
Mon Apr 27 14:41:58 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* cipher.c (cipher_get_keylen): New.
|
||
|
|
||
|
Sun Apr 26 14:44:52 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* tiger.c, tiger.h: New.
|
||
|
|
||
|
Wed Apr 8 14:57:11 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* misc.c (check_pubkey_algo2): New.
|
||
|
|
||
|
Tue Apr 7 18:46:49 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* cipher.c: New
|
||
|
* misc.c (check_cipher_algo): Moved to cipher.c
|
||
|
* cast5.c: Moved many functions to cipher.c
|
||
|
* blowfish.c: Likewise.
|
||
|
|
||
|
Sat Apr 4 19:52:08 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* cast5.c: Implemented and tested.
|
||
|
|
||
|
Wed Apr 1 16:38:27 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* elgamal.c (elg_generate): Faster generation of x in some cases.
|
||
|
|
||
|
Thu Mar 19 13:54:48 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* blowfish.c (blowfish_decode_cfb): changed XOR operation
|
||
|
(blowfish_encode_cfb): Ditto.
|
||
|
|
||
|
Thu Mar 12 14:04:05 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* sha1.c (transform): Rewrote
|
||
|
|
||
|
* blowfish.c (encrypt): Unrolled for rounds == 16
|
||
|
(decrypt): Ditto.
|
||
|
|
||
|
Tue Mar 10 16:32:08 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* rmd160.c (transform): Unrolled the loop.
|
||
|
|
||
|
Tue Mar 10 13:05:14 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* random.c (read_pool): Add pool_balance stuff.
|
||
|
(get_random_bits): New.
|
||
|
|
||
|
* elgamal.c (elg_generate): Now uses get_random_bits to generate x.
|
||
|
|
||
|
|
||
|
Tue Mar 10 11:33:51 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* md.c (md_digest_length): New.
|
||
|
|
||
|
Tue Mar 10 11:27:41 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* dsa.c (dsa_verify): Works.
|
||
|
|
||
|
Mon Mar 9 12:59:08 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* dsa.c, dsa.h: Removed some unused code.
|
||
|
|
||
|
Wed Mar 4 10:39:22 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* md.c (md_open): Add call to fast_random_poll.
|
||
|
blowfish.c (blowfish_setkey): Ditto.
|
||
|
|
||
|
Tue Mar 3 13:32:54 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* rmd160.c (rmd160_mixblock): New.
|
||
|
* random.c: Restructured to start with a new RNG implementation.
|
||
|
* random.h: New.
|
||
|
|
||
|
Mon Mar 2 19:21:46 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* gost.c, gost.h: Removed because they did only contain trash.
|
||
|
|
||
|
Sun Mar 1 16:42:29 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* random.c (fill_buffer): removed error message if n == -1.
|
||
|
|
||
|
Fri Feb 27 16:39:34 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* md.c (md_enable): No init if called twice.
|
||
|
|
||
|
Thu Feb 26 07:57:02 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* primegen.c (generate_elg_prime): Changed the progress printing.
|
||
|
(gen_prime): Ditto.
|
||
|
|
||
|
Tue Feb 24 12:28:42 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* md5.c, md.5 : Replaced by a modified version of md5.c from
|
||
|
GNU textutils 1.22.
|
||
|
|
||
|
Wed Feb 18 14:08:30 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* md.c, md.h : New debugging support
|
||
|
|
||
|
Mon Feb 16 10:08:47 1998 Werner Koch (wk@isil.d.shuttle.de)
|
||
|
|
||
|
* misc.c (cipher_algo_to_string): New
|
||
|
(pubkey_algo_to_string): New.
|
||
|
(digest_algo_to_string): New.
|
||
|
|
||
|
|
||
|
Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006
|
||
|
2007, 2008, 2009 Free Software Foundation, Inc.
|
||
|
|
||
|
This file is free software; as a special exception the author gives
|
||
|
unlimited permission to copy and/or distribute it, with or without
|
||
|
modifications, as long as this notice is preserved.
|
||
|
|
||
|
This file is distributed in the hope that it will be useful, but
|
||
|
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|