aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2017-09-20 16:48:47 +0200
committerJ08nY2017-11-08 12:05:08 +0100
commit757db3175fdf15efca3e83b70e86976762cb897e (patch)
tree55b8c6c6ef4f86732711c93d9d9aeb9b668ca809
parent3c526d8962d475943c405439d193539e73fae085 (diff)
downloadecgen-757db3175fdf15efca3e83b70e86976762cb897e.tar.gz
ecgen-757db3175fdf15efca3e83b70e86976762cb897e.tar.zst
ecgen-757db3175fdf15efca3e83b70e86976762cb897e.zip
-rw-r--r--src/exhaustive/brainpool.c22
-rw-r--r--src/exhaustive/brainpool.h19
-rw-r--r--src/exhaustive/exhaustive.c24
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) {