summaryrefslogtreecommitdiff
path: root/cipher/elgamal.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2013-09-04 11:20:57 +0200
committerWerner Koch <wk@gnupg.org>2013-09-04 11:25:06 +0200
commitc47d4001033f68212d2847b3074a0bdda990342e (patch)
treed0517bc1be1a9ca2d73320030983fcc3065e0720 /cipher/elgamal.c
parentc26be7a337d0bf98193bc58e043209e46d0769bb (diff)
downloadlibgcrypt-c47d4001033f68212d2847b3074a0bdda990342e.tar.gz
Prepare support for EdDSA.
* src/cipher.h (PUBKEY_FLAG_EDDSA): New. * cipher/pubkey.c (pubkey_verify): Repalce args CMP and OPAQUEV by CTX. Pass flags and hash algo to the verify function. Change all verify functions to accept these args. (sexp_data_to_mpi): Implement new flag "eddsa". (gcry_pk_verify): Pass CTX instead of the compare function to pubkey_verify. * cipher/ecc.c (sign): Rename to sign_ecdsa. Change all callers. (verify): Rename to verify_ecdsa. Change all callers. (sign_eddsa, verify_eddsa): New stub functions. (ecc_sign): Divert to sign_ecdsa or sign_eddsa. (ecc_verify): Divert to verify_ecdsa or verify_eddsa.
Diffstat (limited to 'cipher/elgamal.c')
-rw-r--r--cipher/elgamal.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/cipher/elgamal.c b/cipher/elgamal.c
index 7540e3ff..d105cb46 100644
--- a/cipher/elgamal.c
+++ b/cipher/elgamal.c
@@ -789,7 +789,8 @@ elg_sign (int algo, gcry_mpi_t *resarr, gcry_mpi_t data, gcry_mpi_t *skey,
static gcry_err_code_t
elg_verify (int algo, gcry_mpi_t hash, gcry_mpi_t *data, gcry_mpi_t *pkey,
- int (*cmp) (void *, gcry_mpi_t), void *opaquev)
+ int (*cmp) (void *, gcry_mpi_t), void *opaquev,
+ int flags, int hashalgo)
{
gcry_err_code_t err = GPG_ERR_NO_ERROR;
ELG_public_key pk;
@@ -797,6 +798,8 @@ elg_verify (int algo, gcry_mpi_t hash, gcry_mpi_t *data, gcry_mpi_t *pkey,
(void)algo;
(void)cmp;
(void)opaquev;
+ (void)flags;
+ (void)hashalgo;
if (mpi_is_opaque (hash))
return GPG_ERR_INV_DATA;