11#ifdef ENABLE_MODULE_SCHNORR
18 unsigned char msg[32];
19 unsigned char key[32];
26 for (i = 0; i < 32; i++) {
29 for (i = 0; i < 32; i++) {
30 data->
key[i] = i + 65;
38 unsigned char sig[74];
39 for (i = 0; i < iters; i++) {
45 for (j = 0; j < 32; j++) {
47 data->
key[j] =
sig[j + 32];
52#ifdef ENABLE_MODULE_SCHNORR
53static void bench_schnorr_sign_run(
void* arg,
int iters) {
57 unsigned char sig[64];
58 for (i = 0; i < iters; i++) {
60 for (j = 0; j < 32; j++) {
62 data->
key[j] =
sig[j + 32];
76#ifdef ENABLE_MODULE_SCHNORR
static void bench_sign_setup(void *arg)
static void bench_sign_run(void *arg, int iters)
int get_iters(int default_iters)
void run_benchmark(char *name, void(*benchmark)(void *, int), void(*setup)(void *), void(*teardown)(void *, int), void *data, int count, int iter)
#define SECP256K1_CONTEXT_SIGN
SECP256K1_API secp256k1_context * secp256k1_context_create(unsigned int flags) SECP256K1_WARN_UNUSED_RESULT
Create a secp256k1 context object (in dynamically allocated memory).
SECP256K1_API int secp256k1_ecdsa_sign(const secp256k1_context *ctx, secp256k1_ecdsa_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 an ECDSA signature.
SECP256K1_API int secp256k1_ecdsa_signature_serialize_der(const secp256k1_context *ctx, unsigned char *output, size_t *outputlen, const secp256k1_ecdsa_signature *sig) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4)
Serialize an ECDSA signature in DER format.
SECP256K1_API void secp256k1_context_destroy(secp256k1_context *ctx)
Destroy a secp256k1 context object (created in dynamically allocated memory).
SECP256K1_API int secp256k1_schnorr_sign(const secp256k1_context *ctx, unsigned char *sig64, 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 signature using a custom EC-Schnorr-SHA256 construction.
Opaque data structured that holds a parsed ECDSA signature.