diff options
Diffstat (limited to 'src/curve.h')
| -rw-r--r-- | src/curve.h | 87 |
1 files changed, 21 insertions, 66 deletions
diff --git a/src/curve.h b/src/curve.h index 5002f45..e4e973c 100644 --- a/src/curve.h +++ b/src/curve.h @@ -6,110 +6,65 @@ #define ECGEN_CURVE_H #include <pari/pari.h> -#include "field.h" -#include "point.h" - -typedef struct curve_t { - GEN seed; - GEN field; - GEN a; - GEN b; - GEN curve; - GEN order; - point_t **points; - size_t npoints; -} curve_t; - -/** - * - * @param field - * @return - */ -curve_t *curve_random(GEN field); - -/** - * - * @param t - * @param bits - * @return - */ -curve_t *curve_randomf(enum field_e t, long bits); - -/** - * - * @param field - * @return - */ -curve_t *curve_nonzero(GEN field); +#include "cli.h" +#include "types.h" /** * - * @param t - * @param bits - * @return - */ -curve_t *curve_nonzerof(enum field_e t, long bits); - -/** - * - * @param field + * @param curve + * @param config * @return */ -curve_t *curve_prime(GEN field); +int curve_init(curve_t *curve, config_t *config); /** * - * @param t - * @param bits + * @param curve + * @param config * @return */ -curve_t *curve_primef(enum field_e t, long bits); +int curve_nonzero(curve_t *curve, config_t *config); /** - * ANSI X9.62 Verifiable random curve over field with seed. * - * @param field - * @param seed + * @param curve + * @param config * @return */ -curve_t *curve_seed(GEN field, GEN seed); +int curve_prime(curve_t *curve, config_t *config); /** * - * @param field + * @param curve + * @param config * @return */ -curve_t *curve_seedr(GEN field); +int curve_seed(curve_t *curve, config_t *config); /** * - * @param seed - * @param t - * @param bits + * @param curve + * @param config * @return */ -curve_t *curve_seedf(GEN seed, enum field_e t, long bits); +int curve_g(curve_t *curve, config_t *config); /** - * - * @param t - * @param bits + * @param curve * @return */ -curve_t *curve_seedrf(enum field_e t, long bits); +GEN curve_params(curve_t *curve); /** * - * @param curve * @return */ -GEN curve_params(curve_t *curve); +curve_t *curve_new(); /** * * @param curve */ -void free_curve(curve_t **curve); - +void curve_free(curve_t **curve); #endif // ECGEN_CURVE_H |
