mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-11 11:16:09 -05:00
![Gregory Maxwell](/assets/img/avatar_default.png)
The use of static makes this somewhat redundant currently, though if we later have multiple compilation units it will be needed. This also sets the dllexport needed for shared libraries on win32.
30 lines
934 B
C
30 lines
934 B
C
#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: point: pointer to a public point
|
|
* scalar: 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 *point,
|
|
const unsigned char *scalar
|
|
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4);
|
|
|
|
# ifdef __cplusplus
|
|
}
|
|
# endif
|
|
|
|
#endif
|