Bitcoin Core  0.20.99
P2P Digital Currency
secp256k1_ecdh.h
Go to the documentation of this file.
1 #ifndef SECP256K1_ECDH_H
2 #define SECP256K1_ECDH_H
3 
4 #include "secp256k1.h"
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
22  unsigned char *output,
23  const unsigned char *x32,
24  const unsigned char *y32,
25  void *data
26 );
27 
31 
35 
50  const secp256k1_context* ctx,
51  unsigned char *output,
52  const secp256k1_pubkey *pubkey,
53  const unsigned char *seckey,
55  void *data
57 
58 #ifdef __cplusplus
59 }
60 #endif
61 
62 #endif /* SECP256K1_ECDH_H */
#define SECP256K1_WARN_UNUSED_RESULT
Warning attributes NONNULL is not used if SECP256K1_BUILD is set to avoid the compiler optimizing out...
Definition: secp256k1.h:150
SECP256K1_API const secp256k1_ecdh_hash_function secp256k1_ecdh_hash_function_sha256
An implementation of SHA256 hash function that applies to compressed public key.
Definition: main_impl.h:26
SECP256K1_API const secp256k1_ecdh_hash_function secp256k1_ecdh_hash_function_default
A default ECDH hash function (currently equal to secp256k1_ecdh_hash_function_sha256).
Definition: main_impl.h:27
static secp256k1_context * ctx
Definition: tests.c:36
#define SECP256K1_ARG_NONNULL(_x)
Definition: secp256k1.h:155
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdh(const secp256k1_context *ctx, unsigned char *output, const secp256k1_pubkey *pubkey, const unsigned char *seckey, secp256k1_ecdh_hash_function hashfp, void *data) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4)
Compute an EC Diffie-Hellman secret in constant time.
Definition: main_impl.h:29
int(* secp256k1_ecdh_hash_function)(unsigned char *output, const unsigned char *x32, const unsigned char *y32, void *data)
A pointer to a function that hashes an EC point to obtain an ECDH secret.
#define SECP256K1_API
Definition: secp256k1.h:140
Opaque data structure that holds a parsed and valid public key.
Definition: secp256k1.h:67