aboutsummaryrefslogtreecommitdiff
path: root/src/exhaustive/exhaustive.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/exhaustive/exhaustive.c')
-rw-r--r--src/exhaustive/exhaustive.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/exhaustive/exhaustive.c b/src/exhaustive/exhaustive.c
index a8d0f22..4eba6bd 100644
--- a/src/exhaustive/exhaustive.c
+++ b/src/exhaustive/exhaustive.c
@@ -7,6 +7,7 @@
#include "arg.h"
#include "brainpool.h"
#include "brainpool_rfc.h"
+#include "nums.h"
#include "check.h"
#include "gen/curve.h"
#include "gen/equation.h"
@@ -114,6 +115,14 @@ static void exhaustive_ginit(gen_f *generators) {
generators[OFFSET_ORDER] = &order_gen_prime;
generators[OFFSET_GENERATORS] = &brainpool_gen_gens;
} break;
+ case SEED_NUMS: {
+ generators[OFFSET_SEED] = &gen_skip;
+ generators[OFFSET_FIELD] = &nums_gen_field;
+ generators[OFFSET_A] = &nums_gen_a;
+ generators[OFFSET_B] = &nums_gen_b; // TODO: Missing transformation from b -> -b.
+ generators[OFFSET_ORDER] = &nums_gen_order;
+ generators[OFFSET_GENERATORS] = &nums_gen_gens;
+ } break;
case SEED_FIPS:
break;
default:
@@ -227,12 +236,19 @@ static void exhaustive_cinit(check_t **validators) {
break;
case SEED_BRAINPOOL:
case SEED_BRAINPOOL_RFC: {
+ // TODO: Missing Brainpool CM disc check.
check_t *order_check = check_new(brainpool_check_order, NULL);
validators[OFFSET_ORDER] = order_check;
check_t *gens_check =
check_new(gens_check_anomalous, brainpool_check_gens, NULL);
validators[OFFSET_GENERATORS] = gens_check;
} break;
+ case SEED_NUMS: {
+ // TODO: Missing CM disc check.
+ check_t *gens_check =
+ check_new(gens_check_anomalous, brainpool_check_gens, NULL);
+ validators[OFFSET_GENERATORS] = gens_check;
+ } break;
case SEED_FIPS:
break;
default:
@@ -407,6 +423,7 @@ static void exhaustive_init(exhaustive_t *setup) {
static void exhaustive_quit(exhaustive_t *setup) {
field_quit();
equation_quit();
+ nums_quit();
exhaustive_clear(setup);
}