aboutsummaryrefslogtreecommitdiff
path: root/src/secp256k1/include/secp256k1_ecdh.h
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2015-11-13 16:47:16 +0100
committerPieter Wuille <pieter.wuille@gmail.com>2015-11-13 16:51:44 +0100
commit4f09b77c7fa50afc19d4458c9dd05219c82a298d (patch)
tree9cb1a44ee881f4daa00f07876b18ba76c92f0b8d /src/secp256k1/include/secp256k1_ecdh.h
parentd2e987aa19295e5da40b843aad7970f781a96ccd (diff)
parent48edf5746af84e352a5619c44fb1bc4cf565875c (diff)
downloadbitcoin-4f09b77c7fa50afc19d4458c9dd05219c82a298d.tar.xz
Merge pull request #6983
48edf57 Update key.cpp to new secp256k1 API (Pieter Wuille) 1d84107 Squashed 'src/secp256k1/' changes from 22f60a6..2bfb82b (Pieter Wuille)
Diffstat (limited to 'src/secp256k1/include/secp256k1_ecdh.h')
-rw-r--r--src/secp256k1/include/secp256k1_ecdh.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/secp256k1/include/secp256k1_ecdh.h b/src/secp256k1/include/secp256k1_ecdh.h
new file mode 100644
index 0000000000..4b84d7a963
--- /dev/null
+++ b/src/secp256k1/include/secp256k1_ecdh.h
@@ -0,0 +1,31 @@
+#ifndef _SECP256K1_ECDH_
+# define _SECP256K1_ECDH_
+
+# include "secp256k1.h"
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+/** Compute an EC Diffie-Hellman secret in constant time
+ * Returns: 1: exponentiation was successful
+ * 0: scalar was invalid (zero or overflow)
+ * Args: ctx: pointer to a context object (cannot be NULL)
+ * Out: result: a 32-byte array which will be populated by an ECDH
+ * secret computed from the point and scalar
+ * In: pubkey: a pointer to a secp256k1_pubkey containing an
+ * initialized public key
+ * privkey: a 32-byte scalar with which to multiply the point
+ */
+SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdh(
+ const secp256k1_context* ctx,
+ unsigned char *result,
+ const secp256k1_pubkey *pubkey,
+ const unsigned char *privkey
+) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4);
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif