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