summaryrefslogtreecommitdiff
path: root/src/ec-context.h
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2013-09-07 10:06:46 +0200
committerWerner Koch <wk@gnupg.org>2013-09-25 17:06:05 +0200
commitd6683d2a6065986a9198d2d2eaa02c005b68cea4 (patch)
tree20d4f5b0c7512ba955a5e6f9c97d962c989b0a49 /src/ec-context.h
parent9a4447ccd1b90bcd701941e80a7f484a1825fcea (diff)
downloadlibgcrypt-d6683d2a6065986a9198d2d2eaa02c005b68cea4.tar.gz
ecc: Allow the name "q@eddsa" to get/set the public key.
* cipher/ecc-curves.c (_gcry_ecc_get_mpi): Support "q@eddsa". (_gcry_ecc_set_mpi): Support "q". * cipher/ecc.c (eddsa_encodepoint): Rename to ... (_gcry_ecc_eddsa_encodepoint): this and make global. Remove arg MINLEN and take from context. (eddsa_decodepoint): Rename to (_gcry_ecc_eddsa_decodepoint): this and make global. Remove arg LEN and take from context. (sign_eddsa, verify_eddsa): Take B from context. (ecc_sign, ecc_verify): Add hack to set DIALECT. (_gcry_pk_ecc_get_sexp): Use _gcry_ecc_compute_public. Handle EdDSA. * src/ec-context.h (mpi_ec_ctx_s): Add field NBITS. * mpi/ec.c (ec_p_init): Init NBITS. * tests/t-mpi-point.c (test_curve): Add Ed25519. (sample_ed25519_q): New. (context_param): Check new sample key. (hex2buffer, hex2mpiopa): New. (cmp_mpihex): Take care of opaque MPIs. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'src/ec-context.h')
-rw-r--r--src/ec-context.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/ec-context.h b/src/ec-context.h
index fdfbc0a3..8dce7a7c 100644
--- a/src/ec-context.h
+++ b/src/ec-context.h
@@ -27,6 +27,8 @@ struct mpi_ec_ctx_s
enum ecc_dialects dialect; /* The ECC dialect used with the curve. */
+ unsigned int nbits; /* Number of bits. */
+
/* Domain parameters. Note that they may not all be set and if set
the MPIs may be flaged as constant. */
gcry_mpi_t p; /* Prime specifying the field GF(p). */