aboutsummaryrefslogtreecommitdiff
path: root/src/secp256k1/include/secp256k1_ecdh.h
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2015-11-13 00:12:43 +0100
committerPieter Wuille <pieter.wuille@gmail.com>2015-11-13 00:12:43 +0100
commit9e475d5a4d169e758cfb0c9f0633ed476e176b0e (patch)
tree356207f0a2f3f2fff39f71a342cb224c8062aa05 /src/secp256k1/include/secp256k1_ecdh.h
parent38ed190eefccf8865d984e08f4dfe4063ed8a55b (diff)
parent1d84107924ab36e38092cae43f6ad50dd5ead9ed (diff)
downloadbitcoin-9e475d5a4d169e758cfb0c9f0633ed476e176b0e.tar.xz
Update libsecp256k1
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