Bitcoin Core  0.19.99
P2P Digital Currency
Classes | Macros | Functions
tests_exhaustive.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "include/secp256k1.h"
#include "group.h"
#include "secp256k1.c"
#include "testrand_impl.h"
Include dependency graph for tests_exhaustive.c:

Go to the source code of this file.

Classes

struct  ecmult_multi_data
 

Macros

#define EXHAUSTIVE_TEST_ORDER   13
 
#define EXHAUSTIVE_TEST_LAMBDA   9 /* cube root of 1 mod 13 */
 

Functions

void ge_equals_ge (const secp256k1_ge *a, const secp256k1_ge *b)
 stolen from tests.c More...
 
void ge_equals_gej (const secp256k1_ge *a, const secp256k1_gej *b)
 
void random_fe (secp256k1_fe *x)
 
int secp256k1_nonce_function_smallint (unsigned char *nonce32, const unsigned char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data, unsigned int attempt)
 END stolen from tests.c. More...
 
void test_exhaustive_addition (const secp256k1_ge *group, const secp256k1_gej *groupj, int order)
 
void test_exhaustive_ecmult (const secp256k1_context *ctx, const secp256k1_ge *group, const secp256k1_gej *groupj, int order)
 
static int ecmult_multi_callback (secp256k1_scalar *sc, secp256k1_ge *pt, size_t idx, void *cbdata)
 
void test_exhaustive_ecmult_multi (const secp256k1_context *ctx, const secp256k1_ge *group, int order)
 
void r_from_k (secp256k1_scalar *r, const secp256k1_ge *group, int k)
 
void test_exhaustive_verify (const secp256k1_context *ctx, const secp256k1_ge *group, int order)
 
void test_exhaustive_sign (const secp256k1_context *ctx, const secp256k1_ge *group, int order)
 
int main (void)
 

Macro Definition Documentation

◆ EXHAUSTIVE_TEST_LAMBDA

#define EXHAUSTIVE_TEST_LAMBDA   9 /* cube root of 1 mod 13 */

Definition at line 21 of file tests_exhaustive.c.

◆ EXHAUSTIVE_TEST_ORDER

#define EXHAUSTIVE_TEST_ORDER   13

Definition at line 20 of file tests_exhaustive.c.

Function Documentation

◆ ecmult_multi_callback()

static int ecmult_multi_callback ( secp256k1_scalar sc,
secp256k1_ge pt,
size_t  idx,
void *  cbdata 
)
static

Definition at line 190 of file tests_exhaustive.c.

Here is the caller graph for this function:

◆ ge_equals_ge()

void ge_equals_ge ( const secp256k1_ge a,
const secp256k1_ge b 
)

stolen from tests.c

Definition at line 35 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ge_equals_gej()

void ge_equals_gej ( const secp256k1_ge a,
const secp256k1_gej b 
)

Definition at line 44 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ main()

int main ( void  )

Definition at line 454 of file tests_exhaustive.c.

Here is the call graph for this function:

◆ r_from_k()

void r_from_k ( secp256k1_scalar r,
const secp256k1_ge group,
int  k 
)

Definition at line 225 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ random_fe()

void random_fe ( secp256k1_fe x)

Definition at line 61 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ secp256k1_nonce_function_smallint()

int secp256k1_nonce_function_smallint ( unsigned char *  nonce32,
const unsigned char *  msg32,
const unsigned char *  key32,
const unsigned char *  algo16,
void *  data,
unsigned int  attempt 
)

END stolen from tests.c.

Definition at line 72 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_exhaustive_addition()

void test_exhaustive_addition ( const secp256k1_ge group,
const secp256k1_gej groupj,
int  order 
)

Definition at line 103 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_exhaustive_ecmult()

void test_exhaustive_ecmult ( const secp256k1_context ctx,
const secp256k1_ge group,
const secp256k1_gej groupj,
int  order 
)

Definition at line 163 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_exhaustive_ecmult_multi()

void test_exhaustive_ecmult_multi ( const secp256k1_context ctx,
const secp256k1_ge group,
int  order 
)

Definition at line 197 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_exhaustive_sign()

void test_exhaustive_sign ( const secp256k1_context ctx,
const secp256k1_ge group,
int  order 
)

Definition at line 285 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_exhaustive_verify()

void test_exhaustive_verify ( const secp256k1_context ctx,
const secp256k1_ge group,
int  order 
)

Definition at line 235 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function: