Bitcoin Core
31.1.0
P2P Digital Currency
Toggle main menu visibility
Loading...
Searching...
No Matches
src
secp256k1
include
secp256k1_recovery.h
Go to the documentation of this file.
1
#ifndef SECP256K1_RECOVERY_H
2
#define SECP256K1_RECOVERY_H
3
4
#include "
secp256k1.h
"
5
6
#ifdef __cplusplus
7
extern
"C"
{
8
#endif
9
24
typedef
struct
secp256k1_ecdsa_recoverable_signature
{
25
unsigned
char
data
[65];
26
}
secp256k1_ecdsa_recoverable_signature
;
27
36
SECP256K1_API
int
secp256k1_ecdsa_recoverable_signature_parse_compact
(
37
const
secp256k1_context
*ctx,
38
secp256k1_ecdsa_recoverable_signature
*sig,
39
const
unsigned
char
*input64,
40
int
recid
41
)
SECP256K1_ARG_NONNULL
(1)
SECP256K1_ARG_NONNULL
(2)
SECP256K1_ARG_NONNULL
(3);
42
50
SECP256K1_API
int
secp256k1_ecdsa_recoverable_signature_convert
(
51
const
secp256k1_context
*ctx,
52
secp256k1_ecdsa_signature
*sig,
53
const
secp256k1_ecdsa_recoverable_signature
*sigin
54
)
SECP256K1_ARG_NONNULL
(1)
SECP256K1_ARG_NONNULL
(2)
SECP256K1_ARG_NONNULL
(3);
55
64
SECP256K1_API
int
secp256k1_ecdsa_recoverable_signature_serialize_compact
(
65
const
secp256k1_context
*ctx,
66
unsigned
char
*output64,
67
int
*recid,
68
const
secp256k1_ecdsa_recoverable_signature
*sig
69
)
SECP256K1_ARG_NONNULL
(1)
SECP256K1_ARG_NONNULL
(2)
SECP256K1_ARG_NONNULL
(3)
SECP256K1_ARG_NONNULL
(4);
70
84
SECP256K1_API
int
secp256k1_ecdsa_sign_recoverable
(
85
const
secp256k1_context
*ctx,
86
secp256k1_ecdsa_recoverable_signature
*sig,
87
const
unsigned
char
*msghash32,
88
const
unsigned
char
*seckey,
89
secp256k1_nonce_function
noncefp,
90
const
void
*ndata
91
)
SECP256K1_ARG_NONNULL
(1)
SECP256K1_ARG_NONNULL
(2)
SECP256K1_ARG_NONNULL
(3)
SECP256K1_ARG_NONNULL
(4);
92
112
SECP256K1_API
SECP256K1_WARN_UNUSED_RESULT
int
secp256k1_ecdsa_recover
(
113
const
secp256k1_context
*ctx,
114
secp256k1_pubkey
*pubkey,
115
const
secp256k1_ecdsa_recoverable_signature
*sig,
116
const
unsigned
char
*msghash32
117
)
SECP256K1_ARG_NONNULL
(1)
SECP256K1_ARG_NONNULL
(2)
SECP256K1_ARG_NONNULL
(3)
SECP256K1_ARG_NONNULL
(4);
118
119
#ifdef __cplusplus
120
}
121
#endif
122
123
#endif
/* SECP256K1_RECOVERY_H */
secp256k1.h
SECP256K1_ARG_NONNULL
#define SECP256K1_ARG_NONNULL(_x)
Definition
secp256k1.h:188
secp256k1_context
struct secp256k1_context_struct secp256k1_context
Unless explicitly stated all pointer arguments must not be NULL.
Definition
secp256k1.h:50
SECP256K1_API
#define SECP256K1_API
Definition
secp256k1.h:172
secp256k1_nonce_function
int(* secp256k1_nonce_function)(unsigned char *nonce32, const unsigned char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data, unsigned int attempt)
A pointer to a function to deterministically generate a nonce.
Definition
secp256k1.h:94
SECP256K1_WARN_UNUSED_RESULT
#define SECP256K1_WARN_UNUSED_RESULT
Definition
secp256k1.h:183
secp256k1_ecdsa_recoverable_signature_serialize_compact
SECP256K1_API int secp256k1_ecdsa_recoverable_signature_serialize_compact(const secp256k1_context *ctx, unsigned char *output64, int *recid, const secp256k1_ecdsa_recoverable_signature *sig) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4)
Serialize an ECDSA signature in compact format (64 bytes + recovery id).
Definition
main_impl.h:60
secp256k1_ecdsa_recoverable_signature_parse_compact
SECP256K1_API int secp256k1_ecdsa_recoverable_signature_parse_compact(const secp256k1_context *ctx, secp256k1_ecdsa_recoverable_signature *sig, const unsigned char *input64, int recid) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3)
Parse a compact ECDSA signature (64 bytes + recovery id).
Definition
main_impl.h:38
secp256k1_ecdsa_sign_recoverable
SECP256K1_API int secp256k1_ecdsa_sign_recoverable(const secp256k1_context *ctx, secp256k1_ecdsa_recoverable_signature *sig, const unsigned char *msghash32, const unsigned char *seckey, secp256k1_nonce_function noncefp, const void *ndata) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4)
Create a recoverable ECDSA signature.
Definition
main_impl.h:123
secp256k1_ecdsa_recoverable_signature_convert
SECP256K1_API int secp256k1_ecdsa_recoverable_signature_convert(const secp256k1_context *ctx, secp256k1_ecdsa_signature *sig, const secp256k1_ecdsa_recoverable_signature *sigin) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3)
Convert a recoverable signature into a normal signature.
Definition
main_impl.h:74
secp256k1_ecdsa_recover
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_recover(const secp256k1_context *ctx, secp256k1_pubkey *pubkey, const secp256k1_ecdsa_recoverable_signature *sig, const unsigned char *msghash32) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4)
Recover an ECDSA public key from a signature.
Definition
main_impl.h:137
secp256k1_ecdsa_recoverable_signature
Opaque data structure that holds a parsed ECDSA signature, supporting pubkey recovery.
Definition
secp256k1_recovery.h:24
secp256k1_ecdsa_recoverable_signature::data
unsigned char data[65]
Definition
secp256k1_recovery.h:25
secp256k1_ecdsa_signature
Opaque data structure that holds a parsed ECDSA signature.
Definition
secp256k1.h:74
secp256k1_pubkey
Opaque data structure that holds a parsed and valid public key.
Definition
secp256k1.h:61
Generated on
for Bitcoin Core by
1.17.0