diff options
| author | J08nY | 2018-06-30 17:25:24 +0200 |
|---|---|---|
| committer | J08nY | 2018-06-30 17:41:20 +0200 |
| commit | e6e0fb4ebd895db39ae9ac19c0e04a0c3201cbf5 (patch) | |
| tree | 121c1b56b86a6978b9839e254a0fe5e4ea4a0431 | |
| parent | a1062c93da92e518b2faefdb4827a3f62646edb1 (diff) | |
| download | ecgen-e6e0fb4ebd895db39ae9ac19c0e04a0c3201cbf5.tar.gz ecgen-e6e0fb4ebd895db39ae9ac19c0e04a0c3201cbf5.tar.zst ecgen-e6e0fb4ebd895db39ae9ac19c0e04a0c3201cbf5.zip | |
| -rw-r--r-- | src/exhaustive/exhaustive.c | 2 | ||||
| -rw-r--r-- | src/gen/metadata.c | 8 | ||||
| -rw-r--r-- | src/gen/metadata.h | 2 | ||||
| -rw-r--r-- | src/gen/order.c | 2 | ||||
| -rw-r--r-- | src/io/output.c | 14 | ||||
| -rw-r--r-- | src/misc/types.c | 5 | ||||
| -rw-r--r-- | src/misc/types.h | 2 | ||||
| -rwxr-xr-x | util/csv.sh | 9 |
8 files changed, 27 insertions, 17 deletions
diff --git a/src/exhaustive/exhaustive.c b/src/exhaustive/exhaustive.c index 15b299a..dbc1125 100644 --- a/src/exhaustive/exhaustive.c +++ b/src/exhaustive/exhaustive.c @@ -13,9 +13,9 @@ #include "gen/field.h" #include "gen/gens.h" #include "gen/hex.h" +#include "gen/metadata.h" #include "gen/order.h" #include "gen/point.h" -#include "gen/metadata.h" #include "gen/seed.h" #include "io/output.h" #include "misc/config.h" diff --git a/src/gen/metadata.c b/src/gen/metadata.c index 512c30c..382aa1c 100644 --- a/src/gen/metadata.c +++ b/src/gen/metadata.c @@ -2,9 +2,9 @@ * ecgen, tool for generating Elliptic curve domain parameters * Copyright (C) 2017-2018 J08nY */ -#include "gens.h" -#include "field.h" #include "metadata.h" +#include "field.h" +#include "gens.h" GENERATOR(metadata_gen) { GEN j = field_elementi(ell_get_j(curve->curve)); @@ -14,7 +14,7 @@ GENERATOR(metadata_gen) { if (typ(curve->field) == t_INT) { embedding_degree = gens_get_embedding(curve->field, curve->order); q = curve->field; - } else if (typ(curve->field) == t_FFELT){ + } else if (typ(curve->field) == t_FFELT) { embedding_degree = NULL; q = int2n(degree(FF_mod(curve->field))); } else { @@ -24,7 +24,7 @@ GENERATOR(metadata_gen) { GEN cm_disc; if (typ(curve->field) == t_INT) { cm_disc = core(subii(mulis(q, 4), sqri(frobenius))); - } else if (typ(curve->field) == t_FFELT){ + } else if (typ(curve->field) == t_FFELT) { cm_disc = NULL; } else { return -7; diff --git a/src/gen/metadata.h b/src/gen/metadata.h index 914828c..393ff20 100644 --- a/src/gen/metadata.h +++ b/src/gen/metadata.h @@ -16,4 +16,4 @@ */ GENERATOR(metadata_gen); -#endif //ECGEN_GEN_METADATA_H +#endif // ECGEN_GEN_METADATA_H diff --git a/src/gen/order.c b/src/gen/order.c index 549879c..0bbac77 100644 --- a/src/gen/order.c +++ b/src/gen/order.c @@ -2,9 +2,9 @@ * ecgen, tool for generating Elliptic curve domain parameters * Copyright (C) 2017-2018 J08nY */ -#include "field.h" #include "order.h" #include "exhaustive/arg.h" +#include "field.h" #include "io/input.h" #include "math/koblitz.h" diff --git a/src/io/output.c b/src/io/output.c index 8ad4ab0..0913f04 100644 --- a/src/io/output.c +++ b/src/io/output.c @@ -5,8 +5,6 @@ #include "output.h" #include <parson/parson.h> -#include <misc/config.h> -#include <misc/types.h> #include "gen/field.h" #include "util/bits.h" #include "util/memory.h" @@ -137,8 +135,10 @@ static JSON_Value *output_jjson(curve_t *curve) { } debug_log("here"); if (curve->meta.embedding_degree != NULL) { - char *embedding_degree = pari_sprintf("%Pi", curve->meta.embedding_degree); - json_object_dotset_string(root_object, "meta.embedding_degree", embedding_degree); + char *embedding_degree = + pari_sprintf("%Pi", curve->meta.embedding_degree); + json_object_dotset_string(root_object, "meta.embedding_degree", + embedding_degree); pari_free(embedding_degree); } debug_log("here"); @@ -149,8 +149,10 @@ static JSON_Value *output_jjson(curve_t *curve) { } debug_log("here"); if (curve->meta.cm_discriminant != NULL) { - char *cm_discriminant = pari_sprintf("%Pi", curve->meta.cm_discriminant); - json_object_dotset_string(root_object, "meta.cm_discriminant", cm_discriminant); + char *cm_discriminant = + pari_sprintf("%Pi", curve->meta.cm_discriminant); + json_object_dotset_string(root_object, "meta.cm_discriminant", + cm_discriminant); pari_free(cm_discriminant); } debug_log("here"); diff --git a/src/misc/types.c b/src/misc/types.c index ca287a0..6ed728c 100644 --- a/src/misc/types.c +++ b/src/misc/types.c @@ -4,8 +4,9 @@ */ #include "types.h" -const char* offset_s[OFFSET_END] = {"SEED", "FIELD", "A", "B", - "CURVE", "ORDER", "GENERATORS", "POINTS", "METADATA"}; +const char* offset_s[OFFSET_END] = {"SEED", "FIELD", "A", + "B", "CURVE", "ORDER", + "GENERATORS", "POINTS", "METADATA"}; GENERATOR(gen_skip) { return 1; } diff --git a/src/misc/types.h b/src/misc/types.h index 89544f4..4f39a39 100644 --- a/src/misc/types.h +++ b/src/misc/types.h @@ -113,8 +113,6 @@ typedef struct { metadata_t meta; } curve_t; - - /** * @brief */ diff --git a/util/csv.sh b/util/csv.sh new file mode 100755 index 0000000..3b357cf --- /dev/null +++ b/util/csv.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# Transform the JSON output of ecgen into CSV. +# For F_p curves: +# p, a, b, G.x, G.y, G.order, G.cofactor +# For F_2^m curves: +# m, e1, e2, e3, a, b, G.x, G.y, G.order, G.cofactor +# +# Where G is the first subgroup in "subgroups". +jq -r -M ".[0] | (if (.field | has(\"p\")) then [.field.p] else [.field.m, .field.\"e1\", .field.\"e2\", .field.\"e3\"] end + [.a, .b, .subgroups[0].x, .subgroups[0].y, .subgroups[0].order, .subgroups[0].cofactor]) | join(\",\")"
\ No newline at end of file |
