mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
gpg,agent: Clean up around using ECC KEM.
* common/util.h (gnupg_ecc_kem_kdf): Change the last two args. * common/kem.c (gnupg_ecc_kem_kdf): The last arguments are KDF_PARAMS and its length. * agent/pkdecrypt.c (composite_pgp_kem_decrypt): Follow the change. * g10/pkglue.c (do_encrypt_kem): Follow the change. * g10/ecdh.c (extract_secret_x, derive_kek): Remove. (gnupg_ecc_6637_kdf): Remove. (ecc_build_kdf_params): Rename from build_kdf_params, changing arguments. * g10/pkglue.c (do_encrypt_ecdh): Refactor by ecc_build_kdf_params and gnupg_ecc_kem_kdf. * g10/pkglue.h (pk_ecdh_decrypt, gnupg_ecc_6637_kdf): Remove. (ecc_build_kdf_params): New. * g10/pubkey-enc.c (ecdh_sexp_build): Use ecc_build_kdf_params. -- GnuPG-bug-id: 7649 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
37bec0df7b
commit
681d754043
7 changed files with 93 additions and 496 deletions
10
g10/pkglue.h
10
g10/pkglue.h
|
@ -38,12 +38,10 @@ int pk_check_secret_key (pubkey_algo_t algo, gcry_mpi_t *skey);
|
|||
|
||||
/*-- ecdh.c --*/
|
||||
gcry_mpi_t pk_ecdh_default_params (unsigned int qbits);
|
||||
int pk_ecdh_decrypt (gcry_mpi_t *result, const byte sk_fp[MAX_FINGERPRINT_LEN],
|
||||
gcry_mpi_t data,
|
||||
const byte *frame, size_t nframe,
|
||||
gcry_mpi_t * skey);
|
||||
|
||||
gpg_error_t gnupg_ecc_6637_kdf (void *kek, size_t kek_len, int hashalgo,
|
||||
const void *ecdh, size_t ecdh_len, PKT_public_key *pk);
|
||||
gpg_error_t ecc_build_kdf_params (unsigned char **r_kdf_params, size_t *r_len,
|
||||
const unsigned char **r_kdf_params_spec,
|
||||
gcry_mpi_t *pkey,
|
||||
const byte fp[MAX_FINGERPRINT_LEN]);
|
||||
|
||||
#endif /*GNUPG_G10_PKGLUE_H*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue