diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/exhaustive/brainpool.c | 22 | ||||
| -rw-r--r-- | src/exhaustive/brainpool.h | 19 | ||||
| -rw-r--r-- | src/exhaustive/exhaustive.c | 24 |
3 files changed, 59 insertions, 6 deletions
diff --git a/src/exhaustive/brainpool.c b/src/exhaustive/brainpool.c new file mode 100644 index 0000000..bf7bcda --- /dev/null +++ b/src/exhaustive/brainpool.c @@ -0,0 +1,22 @@ +/* + * ecgen, tool for generating Elliptic curve domain parameters + * Copyright (C) 2017 J08nY + */ + +#include "brainpool.h" + +GENERATOR(brainpool_gen_seed_random) { + return INT_MIN; +} + +GENERATOR(brainpool_gen_seed_argument) { + return INT_MIN; +} + +GENERATOR(brainpool_gen_seed_input) { + return INT_MIN; +} + +GENERATOR(brainpool_gen_equation) { + return INT_MIN; +}
\ No newline at end of file diff --git a/src/exhaustive/brainpool.h b/src/exhaustive/brainpool.h new file mode 100644 index 0000000..ff52ff7 --- /dev/null +++ b/src/exhaustive/brainpool.h @@ -0,0 +1,19 @@ +/* + * ecgen, tool for generating Elliptic curve domain parameters + * Copyright (C) 2017 J08nY + */ + +#ifndef ECGEN_BRAINPOOL_H +#define ECGEN_BRAINPOOL_H + +#include "misc/types.h" + +GENERATOR(brainpool_gen_seed_random); + +GENERATOR(brainpool_gen_seed_argument); + +GENERATOR(brainpool_gen_seed_input); + +GENERATOR(brainpool_gen_equation); + +#endif //ECGEN_BRAINPOOL_H diff --git a/src/exhaustive/exhaustive.c b/src/exhaustive/exhaustive.c index ea1dc63..f1b6b8b 100644 --- a/src/exhaustive/exhaustive.c +++ b/src/exhaustive/exhaustive.c @@ -6,6 +6,7 @@ #include "anomalous.h" #include "ansi.h" #include "check.h" +#include "brainpool.h" #include "gen/curve.h" #include "gen/equation.h" #include "gen/field.h" @@ -53,15 +54,26 @@ static void exhaustive_ginit(gen_f *generators) { 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: + case SEED_BRAINPOOL: { + if (cfg->seed) { + generators[OFFSET_SEED] = &brainpool_gen_seed_argument; + } else { + if (cfg->random) { + generators[OFFSET_SEED] = &brainpool_gen_seed_random; + } else { + generators[OFFSET_SEED] = &brainpool_gen_seed_input; + } + } + generators[OFFSET_A] = &gen_skip; + generators[OFFSET_B] = &brainpool_gen_equation; + } break; + case SEED_BRAINPOOL_RFC:break; + case SEED_FIPS:break; + default:break; } + if (cfg->prime) { generators[OFFSET_ORDER] = &order_gen_prime; } else if (cfg->cofactor) { |
