diff options
| author | J08nY | 2017-09-19 19:24:21 +0200 |
|---|---|---|
| committer | J08nY | 2017-09-20 16:49:45 +0200 |
| commit | 79d34c9e7a42dc796ec02eb0e1fb4e84aa5340f7 (patch) | |
| tree | 01b529689c3b58bad7f257fd898e1a183fabe3a4 /src/exhaustive | |
| parent | 6b638ddf30cfc15a68c5421126a35ffe7f8f5854 (diff) | |
| download | ecgen-79d34c9e7a42dc796ec02eb0e1fb4e84aa5340f7.tar.gz ecgen-79d34c9e7a42dc796ec02eb0e1fb4e84aa5340f7.tar.zst ecgen-79d34c9e7a42dc796ec02eb0e1fb4e84aa5340f7.zip | |
Move some enums around, make a general seed_unroll.
Diffstat (limited to 'src/exhaustive')
| -rw-r--r-- | src/exhaustive/ansi.c | 5 | ||||
| -rw-r--r-- | src/exhaustive/ansi.h | 10 | ||||
| -rw-r--r-- | src/exhaustive/exhaustive.c | 35 |
3 files changed, 22 insertions, 28 deletions
diff --git a/src/exhaustive/ansi.c b/src/exhaustive/ansi.c index 444828e..bbdf24e 100644 --- a/src/exhaustive/ansi.c +++ b/src/exhaustive/ansi.c @@ -122,11 +122,6 @@ static bits_t *seed_process(seed_t *seed, const bits_t *first) { return result; } -UNROLL(ansi_unroll_seed) { - seed_free(&curve->seed); - return -1; -} - static GENERATOR(ansi_gen_equation_fp) { pari_sp ltop = avma; bits_t *c0 = bits_from_raw(curve->seed->hash20, 160); diff --git a/src/exhaustive/ansi.h b/src/exhaustive/ansi.h index fbe9a3f..7c6e7b7 100644 --- a/src/exhaustive/ansi.h +++ b/src/exhaustive/ansi.h @@ -41,16 +41,6 @@ GENERATOR(ansi_gen_seed_input); /** * @brief - * @param curve - * @param cfg - * @param from - * @param to - * @return - */ -UNROLL(ansi_unroll_seed); - -/** - * @brief * @param curve A curve_t being generated * @param cfg An application config * @param args unused diff --git a/src/exhaustive/exhaustive.c b/src/exhaustive/exhaustive.c index 22e4f6f..e1044f9 100644 --- a/src/exhaustive/exhaustive.c +++ b/src/exhaustive/exhaustive.c @@ -11,23 +11,32 @@ #include "gen/gens.h" #include "gen/order.h" #include "gen/point.h" +#include "gen/seed.h" #include "io/output.h" #include "util/memory.h" static void exhaustive_ginit(gen_t *generators, const config_t *cfg) { - if (cfg->ansi) { - // setup ANSI X9.62 generators - if (cfg->seed) { - generators[OFFSET_SEED] = &ansi_gen_seed_argument; - } else { - if (cfg->random) { - generators[OFFSET_SEED] = &ansi_gen_seed_random; - } else { - generators[OFFSET_SEED] = &ansi_gen_seed_input; + if (cfg->seed_algo) { + switch (cfg->seed_algo) { + case SEED_ANSI: { + // setup ANSI X9.62 generators + if (cfg->seed) { + generators[OFFSET_SEED] = &ansi_gen_seed_argument; + } else { + if (cfg->random) { + generators[OFFSET_SEED] = &ansi_gen_seed_random; + } else { + generators[OFFSET_SEED] = &ansi_gen_seed_input; + } + } + generators[OFFSET_A] = &gen_skip; + generators[OFFSET_B] = &ansi_gen_equation; } + case SEED_BRAINPOOL:break; + case SEED_BRAINPOOL_RFC:break; + case SEED_FIPS:break; + default:break; } - generators[OFFSET_A] = &gen_skip; - generators[OFFSET_B] = &ansi_gen_equation; generators[OFFSET_CURVE] = &curve_gen_nonzero; generators[OFFSET_ORDER] = &order_gen_any; } else { @@ -143,8 +152,8 @@ static void exhaustive_ainit(arg_t **argss, const config_t *cfg) { } void exhaustive_uinit(unroll_t *unrolls, const config_t *cfg) { - if (cfg->ansi) { - unrolls[OFFSET_SEED] = &ansi_unroll_seed; + if (cfg->seed_algo) { + unrolls[OFFSET_SEED] = &seed_unroll; } else { unrolls[OFFSET_SEED] = &unroll_skip; } |
