aboutsummaryrefslogtreecommitdiff
path: root/src/math/equation.h
blob: 4e0202e1c473423e51f0246be4120957a0ebb563 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*
 * ecgen, tool for generating Elliptic curve domain parameters
 * Copyright (C) 2017 J08nY
 */
/**
 * @file equation.h
 */
#ifndef ECGEN_EQUATION_H
#define ECGEN_EQUATION_H

#include "io/cli.h"
#include "types.h"

/**
 * GENERATOR(gen_t)
 * Creates a random a parameter by selecting a random field
 * element from the curve field.
 * Always succeeds.
 *
 * @param curve
 * @param config
 * @param args
 * @return state diff
 */
int a_random(curve_t *curve, config_t *config, arg_t *args);

/**
 * GENERATOR(gen_t)
 * Creates a parameter by reading from input.
 *
 * @param curve
 * @param config
 * @param args
 * @return state diff
 */
int a_input(curve_t *curve, config_t *config, arg_t *args);

/**
 * GENERATOR(gen_t)
 * Creates a parameter by reading once from input.
 *
 * @param curve
 * @param config
 * @param args
 * @return
 */
int a_once(curve_t *curve, config_t *config, arg_t *args);

/**
 * GENERATOR(gen_t)
 * Creates a parameter set to zero.
 *
 * @param curve
 * @param config
 * @param args
 * @return state diff
 */
int a_zero(curve_t *curve, config_t *config, arg_t *args);

/**
 * GENERATOR(gen_t)
 * Creates a parameter set to one.
 *
 * @param curve
 * @param config
 * @param args
 * @return state diff
 */
int a_one(curve_t *curve, config_t *config, arg_t *args);

int a_seed(curve_t *curve, config_t *config, arg_t *args);

/**
 * GENERATOR(gen_t)
 * Creates a random b parameter by selecting a random field
 * element from the curve field.
 *
 * @param curve
 * @param config
 * @param args
 * @return state diff
 */
int b_random(curve_t *curve, config_t *config, arg_t *args);

/**
 * GENERATOR(gen_t)
 * Creates b parameter by reading from input.
 *
 * @param curve
 * @param config
 * @param args
 * @return state diff
 */
int b_input(curve_t *curve, config_t *config, arg_t *args);

/**
 * GENERATOR(gen_t)
 * Creates b parameter by reading once from input.
 *
 * @param curve
 * @param config
 * @param args
 * @return
 */
int b_once(curve_t *curve, config_t *config, arg_t *args);

/**
 * GENERATOR(gen_t)
 * Creates b parameter set to zero.
 *
 * @param curve
 * @param config
 * @param args
 * @return state diff
 */
int b_zero(curve_t *curve, config_t *config, arg_t *args);

/**
 * GENERATOR(gen_t)
 * Creates b parameter set to one.
 *
 * @param curve
 * @param config
 * @param args
 * @return state diff
 */
int b_one(curve_t *curve, config_t *config, arg_t *args);

int b_seed(curve_t *curve, config_t *config, arg_t *args);

#endif  // ECGEN_EQUATION_H