aboutsummaryrefslogtreecommitdiffstats
path: root/common/kem.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2025-05-23 01:42:44 +0000
committerNIIBE Yutaka <[email protected]>2025-05-23 01:42:44 +0000
commit37bec0df7bf1f964e41d890ec6c93936423fbe95 (patch)
treebe4dc42f9d30c30768bd8be0c4f153f9cccad2e4 /common/kem.c
parentgpg: Use ECC KEM interface for decryption. (diff)
downloadgnupg-37bec0df7bf1f964e41d890ec6c93936423fbe95.tar.gz
gnupg-37bec0df7bf1f964e41d890ec6c93936423fbe95.zip
common: Fix argument name of gnupg_ecc_kem_kdf.
* common/kem.c (gnupg_ecc_kem_kdf): Rename to kdf_params. -- It's KDF parameters composed by OpenPGP layer. Signed-off-by: NIIBE Yutaka <[email protected]>
Diffstat (limited to 'common/kem.c')
-rw-r--r--common/kem.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/common/kem.c b/common/kem.c
index fc5575f4f..6d1e2e442 100644
--- a/common/kem.c
+++ b/common/kem.c
@@ -145,15 +145,20 @@ compute_kmac256 (void *digest, size_t digestlen,
/* Compute KEK for ECC with HASHALGO, ECDH result, ciphertext in
- ECC_CT (which is an ephemeral key), and public key in ECC_PK. */
+ * ECC_CT (which is an ephemeral key), and public key in ECC_PK.
+ *
+ * For traditional ECC (of v4), KDF_PARAMS is specified by upper layer
+ * and an ephemeral key and public key are not used for the
+ * computation.
+ */
gpg_error_t
gnupg_ecc_kem_kdf (void *kek, size_t kek_len,
int hashalgo, const void *ecdh, size_t ecdh_len,
const void *ecc_ct, size_t ecc_ct_len,
const void *ecc_pk, size_t ecc_pk_len,
- gcry_buffer_t *fixed_info)
+ gcry_buffer_t *kdf_params)
{
- if (fixed_info)
+ if (kdf_params)
{
/* Traditional ECC */
gpg_error_t err;
@@ -163,8 +168,8 @@ gnupg_ecc_kem_kdf (void *kek, size_t kek_len,
param[0] = kek_len;
err = gcry_kdf_open (&hd, GCRY_KDF_ONESTEP_KDF, hashalgo, param, 1,
ecdh, ecdh_len, NULL, 0, NULL, 0,
- (char *)fixed_info->data+fixed_info->off,
- fixed_info->len);
+ (char *)kdf_params->data+kdf_params->off,
+ kdf_params->len);
if (!err)
{
gcry_kdf_compute (hd, NULL);