aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/exhaustive/brainpool.c2
-rw-r--r--src/gen/curve.c2
-rw-r--r--src/gen/gens.c15
-rw-r--r--src/gen/gens.h1
-rw-r--r--src/gen/hex.c15
-rw-r--r--src/gen/order.c4
-rw-r--r--src/gen/point.c33
-rw-r--r--src/io/output.c24
-rw-r--r--src/math/subgroup.c64
-rw-r--r--src/math/twists.c2
-rw-r--r--src/misc/types.h4
-rw-r--r--src/util/str.c6
12 files changed, 85 insertions, 87 deletions
diff --git a/src/exhaustive/brainpool.c b/src/exhaustive/brainpool.c
index 62a3352..68d7966 100644
--- a/src/exhaustive/brainpool.c
+++ b/src/exhaustive/brainpool.c
@@ -3,8 +3,8 @@
* Copyright (C) 2017-2018 J08nY
*/
-#include <misc/types.h>
#include "brainpool.h"
+#include <misc/types.h>
#include "gen/gens.h"
#include "gen/point.h"
#include "gen/seed.h"
diff --git a/src/gen/curve.c b/src/gen/curve.c
index 8c7d4c9..da4a630 100644
--- a/src/gen/curve.c
+++ b/src/gen/curve.c
@@ -3,8 +3,8 @@
* Copyright (C) 2017-2018 J08nY
*/
#include "curve.h"
-#include "math/twists.h"
#include "math/subgroup.h"
+#include "math/twists.h"
#include "seed.h"
#include "util/memory.h"
diff --git a/src/gen/gens.c b/src/gen/gens.c
index 9d870e7..e303ce4 100644
--- a/src/gen/gens.c
+++ b/src/gen/gens.c
@@ -3,11 +3,10 @@
* Copyright (C) 2017-2018 J08nY
*/
#include "gens.h"
-#include "math/subgroup.h"
#include "exhaustive/arg.h"
+#include "math/subgroup.h"
#include "point.h"
-
static subgroup_t *gens_point(GEN point, const curve_t *curve) {
subgroup_t *sub = subgroup_new();
point_t *p = point_new();
@@ -19,8 +18,8 @@ static subgroup_t *gens_point(GEN point, const curve_t *curve) {
}
static int gens_put(curve_t *curve, GEN generators, long len) {
- curve->generators = subgroups_new((size_t) len);
- curve->ngens = (size_t) len;
+ curve->generators = subgroups_new((size_t)len);
+ curve->ngens = (size_t)len;
for (long i = 1; i <= len; ++i) {
curve->generators[i - 1] = gens_point(gel(generators, i), curve);
@@ -47,7 +46,7 @@ GENERATOR(gens_gen_one) {
GENERATOR(gens_gen_cofactor) {
HAS_ARG(args);
- pari_ulong cofactor = *(pari_ulong *) args->args;
+ pari_ulong cofactor = *(pari_ulong *)args->args;
pari_sp ltop = avma;
GEN order = diviuexact(curve->order, cofactor);
@@ -76,7 +75,7 @@ GENERATOR(gens_gen_cofactor) {
}
if (p) {
- curve->ngens = (size_t) (len + 1);
+ curve->ngens = (size_t)(len + 1);
curve->generators = subgroups_new(curve->ngens);
for (long i = 1; i <= len; ++i) {
curve->generators[i] = gens_point(gel(generators, i), curve);
@@ -114,8 +113,8 @@ CHECK(gens_check_embedding) {
GEN mind = strtoi(min_degree);
for (size_t i = 0; i < curve->ngens; ++i) {
- GEN power =
- gens_get_embedding(curve->field, curve->generators[i]->generator->order);
+ GEN power = gens_get_embedding(curve->field,
+ curve->generators[i]->generator->order);
if (mpcmp(power, mind) <= 0) {
avma = ltop;
diff --git a/src/gen/gens.h b/src/gen/gens.h
index 4d1ea88..a1ab63c 100644
--- a/src/gen/gens.h
+++ b/src/gen/gens.h
@@ -31,7 +31,6 @@ GENERATOR(gens_gen_any);
*/
GENERATOR(gens_gen_one);
-
/**
* GENERATOR(gen_f)
*
diff --git a/src/gen/hex.c b/src/gen/hex.c
index 08c280f..4752b7e 100644
--- a/src/gen/hex.c
+++ b/src/gen/hex.c
@@ -2,8 +2,8 @@
* ecgen, tool for generating Elliptic curve domain parameters
* Copyright (C) 2017-2018 J08nY
*/
-#include <misc/types.h>
#include "hex.h"
+#include <misc/types.h>
#include "exhaustive/arg.h"
#include "field.h"
#include "util/bits.h"
@@ -46,7 +46,7 @@ CHECK(hex_check_param) {
char *search_hex = try_strdup(args->args);
char *p = search_hex;
- for (; *p; ++p) *p = (char) tolower(*p);
+ for (; *p; ++p) *p = (char)tolower(*p);
char *params[OFFSET_END] = {NULL};
bool pari[OFFSET_END] = {false};
@@ -60,7 +60,7 @@ CHECK(hex_check_param) {
if (state >= OFFSET_FIELD) {
if (cfg->field == FIELD_PRIME) {
params[OFFSET_FIELD] =
- pari_sprintf("%P0#*x", cfg->hex_digits, curve->field);
+ pari_sprintf("%P0#*x", cfg->hex_digits, curve->field);
pari[OFFSET_FIELD] = true;
} else if (cfg->field == FIELD_BINARY) {
}
@@ -68,19 +68,19 @@ CHECK(hex_check_param) {
if (state >= OFFSET_A) {
params[OFFSET_A] =
- pari_sprintf("%P0#*x", cfg->hex_digits, field_elementi(curve->a));
+ pari_sprintf("%P0#*x", cfg->hex_digits, field_elementi(curve->a));
pari[OFFSET_A] = true;
}
if (state >= OFFSET_B) {
params[OFFSET_B] =
- pari_sprintf("%P0#*x", cfg->hex_digits, field_elementi(curve->b));
+ pari_sprintf("%P0#*x", cfg->hex_digits, field_elementi(curve->b));
pari[OFFSET_B] = true;
}
if (state >= OFFSET_ORDER) {
params[OFFSET_ORDER] =
- pari_sprintf("%P0#*x", cfg->hex_digits, curve->order);
+ pari_sprintf("%P0#*x", cfg->hex_digits, curve->order);
pari[OFFSET_ORDER] = true;
}
@@ -98,7 +98,8 @@ CHECK(hex_check_param) {
if (state >= OFFSET_POINTS) {
char *subgroups[curve->ngens];
for (size_t i = 0; i < curve->ngens; ++i) {
- subgroups[i] = hex_points(curve->generators[i]->points, curve->generators[i]->npoints);
+ subgroups[i] = hex_points(curve->generators[i]->points,
+ curve->generators[i]->npoints);
}
params[OFFSET_POINTS] = str_join(",", subgroups, curve->ngens);
for (size_t i = 0; i < curve->ngens; ++i) {
diff --git a/src/gen/order.c b/src/gen/order.c
index 0c0779c..5f7620e 100644
--- a/src/gen/order.c
+++ b/src/gen/order.c
@@ -52,11 +52,11 @@ GENERATOR(order_gen_cofactor) {
GEN res = cgeti(DEFAULTPREC);
if (!dvdiiz(order, utoi(cofactor), res)) {
avma = ltop;
- return -4;
+ return -4;
}
if (!isprime(res)) {
avma = ltop;
- return -4;
+ return -4;
}
verbose_log("cofactor");
diff --git a/src/gen/point.c b/src/gen/point.c
index 1f17d0f..2d307f3 100644
--- a/src/gen/point.c
+++ b/src/gen/point.c
@@ -110,7 +110,7 @@ GENERATOR(point_gen_random) {
GENERATOR(points_gen_random) {
HAS_ARG(args);
- size_t npoints = *(size_t *) args->args;
+ size_t npoints = *(size_t *)args->args;
size_t npoints_per_gen[curve->ngens];
for (size_t i = 0; i < curve->ngens; ++i) {
@@ -140,7 +140,7 @@ GENERATOR(points_gen_random) {
}
static point_t **points_from_orders(GEN curve, point_t *generator, GEN orders) {
- size_t norders = (size_t) glength(orders);
+ size_t norders = (size_t)glength(orders);
point_t **result = points_new(norders);
for (long i = 0; i < norders; ++i) {
@@ -156,8 +156,7 @@ static point_t **points_from_orders(GEN curve, point_t *generator, GEN orders) {
}
if (point) {
- debug_log("VERIFY %Ps %Ps", num,
- ellorder(curve, point, NULL));
+ debug_log("VERIFY %Ps %Ps", num, ellorder(curve, point, NULL));
result[i] = point_new();
gerepileall(ftop, 1, &point);
result[i]->point = point;
@@ -171,7 +170,7 @@ static point_t **points_from_orders(GEN curve, point_t *generator, GEN orders) {
GENERATOR(points_gen_trial) {
HAS_ARG(args);
- pari_ulong *primes = (pari_ulong *) args->args;
+ pari_ulong *primes = (pari_ulong *)args->args;
size_t nprimes = args->nargs;
GEN orders = gtovec0(gen_0, nprimes);
@@ -205,8 +204,9 @@ GENERATOR(points_gen_trial) {
for (size_t i = 0; i < curve->ngens; ++i) {
subgroup_t *subgroup = curve->generators[i];
if (orders_per_gen[i] != gen_0) {
- subgroup->npoints = (size_t) glength(orders_per_gen[i]);
- subgroup->points = points_from_orders(curve->curve, subgroup->generator, orders_per_gen[i]);
+ subgroup->npoints = (size_t)glength(orders_per_gen[i]);
+ subgroup->points = points_from_orders(
+ curve->curve, subgroup->generator, orders_per_gen[i]);
}
}
@@ -216,8 +216,9 @@ GENERATOR(points_gen_trial) {
GENERATOR(points_gen_prime) {
for (size_t i = 0; i < curve->ngens; ++i) {
GEN primes = subgroups_prime(curve->generators[i]->generator->order);
- curve->generators[i]->npoints = (size_t) glength(primes);
- curve->generators[i]->points = points_from_orders(curve->curve, curve->generators[i]->generator, primes);
+ curve->generators[i]->npoints = (size_t)glength(primes);
+ curve->generators[i]->points = points_from_orders(
+ curve->curve, curve->generators[i]->generator, primes);
}
return 1;
@@ -226,8 +227,9 @@ GENERATOR(points_gen_prime) {
GENERATOR(points_gen_allgroups) {
for (size_t i = 0; i < curve->ngens; ++i) {
GEN primes = subgroups_all(curve->generators[i]->generator->order);
- curve->generators[i]->npoints = (size_t) glength(primes);
- curve->generators[i]->points = points_from_orders(curve->curve, curve->generators[i]->generator, primes);
+ curve->generators[i]->npoints = (size_t)glength(primes);
+ curve->generators[i]->points = points_from_orders(
+ curve->curve, curve->generators[i]->generator, primes);
}
return 1;
@@ -237,8 +239,9 @@ GENERATOR(points_gen_nonprime) {
for (size_t i = 0; i < curve->ngens; ++i) {
GEN primes = subgroups_nonprime(curve->generators[i]->generator->order);
if (primes) {
- curve->generators[i]->npoints = (size_t) glength(primes);
- curve->generators[i]->points = points_from_orders(curve->curve, curve->generators[i]->generator, primes);
+ curve->generators[i]->npoints = (size_t)glength(primes);
+ curve->generators[i]->points = points_from_orders(
+ curve->curve, curve->generators[i]->generator, primes);
}
}
@@ -248,9 +251,9 @@ GENERATOR(points_gen_nonprime) {
UNROLL(points_unroll) {
if (curve->generators) {
for (size_t i = 0; i < curve->ngens; ++i) {
- points_free_deep(&curve->generators[i]->points, curve->generators[i]->npoints);
+ points_free_deep(&curve->generators[i]->points,
+ curve->generators[i]->npoints);
}
-
}
return -1;
}
diff --git a/src/io/output.c b/src/io/output.c
index 6fb82d3..2130614 100644
--- a/src/io/output.c
+++ b/src/io/output.c
@@ -19,27 +19,23 @@ char *output_malloc(const char *what) {
return s;
}
-
static JSON_Value *output_json_point(point_t *point) {
JSON_Value *point_value = json_value_init_object();
JSON_Object *point_object = json_value_get_object(point_value);
- char *x = pari_sprintf(
- "%P0#*x", cfg->hex_digits,
- field_elementi(gel(point->point, 1)));
+ char *x = pari_sprintf("%P0#*x", cfg->hex_digits,
+ field_elementi(gel(point->point, 1)));
json_object_set_string(point_object, "x", x);
pari_free(x);
- char *y = pari_sprintf(
- "%P0#*x", cfg->hex_digits,
- field_elementi(gel(point->point, 2)));
+ char *y = pari_sprintf("%P0#*x", cfg->hex_digits,
+ field_elementi(gel(point->point, 2)));
json_object_set_string(point_object, "y", y);
pari_free(y);
char *p_order = pari_sprintf("%P#x", point->order);
json_object_set_string(point_object, "order", p_order);
pari_free(p_order);
if (point->cofactor) {
- char *cofactor =
- pari_sprintf("%P#x", point->cofactor);
+ char *cofactor = pari_sprintf("%P#x", point->cofactor);
json_object_set_string(point_object, "cofactor", cofactor);
pari_free(cofactor);
}
@@ -105,14 +101,18 @@ static JSON_Value *output_jjson(curve_t *curve) {
JSON_Array *gens_array = json_value_get_array(gens_value);
for (size_t i = 0; i < curve->ngens; ++i) {
- JSON_Value *gen_value = output_json_point(curve->generators[i]->generator);
+ JSON_Value *gen_value =
+ output_json_point(curve->generators[i]->generator);
JSON_Object *gen_object = json_value_get_object(gen_value);
if (curve->generators[i]->npoints) {
JSON_Value *gens_points_value = json_value_init_array();
- JSON_Array *gens_points_array = json_value_get_array(gens_points_value);
+ JSON_Array *gens_points_array =
+ json_value_get_array(gens_points_value);
for (size_t j = 0; j < curve->generators[i]->npoints; ++j) {
- json_array_append_value(gens_points_array, output_json_point(curve->generators[i]->points[j]));
+ json_array_append_value(
+ gens_points_array,
+ output_json_point(curve->generators[i]->points[j]));
}
json_object_set_value(gen_object, "points", gens_points_value);
}
diff --git a/src/math/subgroup.c b/src/math/subgroup.c
index 3d78db5..90b795a 100644
--- a/src/math/subgroup.c
+++ b/src/math/subgroup.c
@@ -2,17 +2,14 @@
* ecgen, tool for generating Elliptic curve domain parameters
* Copyright (C) 2017-2018 J08nY
*/
-#include "gen/point.h"
#include "subgroup.h"
+#include "gen/point.h"
#include "util/memory.h"
-subgroup_t *subgroup_new(void) {
- return try_calloc(sizeof(subgroup_t));
-}
+subgroup_t *subgroup_new(void) { return try_calloc(sizeof(subgroup_t)); }
subgroup_t *subgroup_copy(const subgroup_t *src, subgroup_t *dst) {
- if (src->generator)
- dst->generator = point_new_copy(src->generator);
+ if (src->generator) dst->generator = point_new_copy(src->generator);
if (src->points) {
dst->points = points_new_copy(src->points, src->npoints);
dst->npoints = src->npoints;
@@ -26,8 +23,7 @@ subgroup_t *subgroup_new_copy(const subgroup_t *src) {
}
subgroup_t *subgroup_clone(const subgroup_t *src, subgroup_t *dst) {
- if (src->generator)
- dst->generator = point_new_clone(src->generator);
+ if (src->generator) dst->generator = point_new_clone(src->generator);
if (src->points) {
dst->points = points_new_clone(src->points, src->npoints);
dst->npoints = src->npoints;
@@ -61,7 +57,8 @@ subgroup_t **subgroups_new(size_t num) {
return try_calloc(num * sizeof(subgroup_t *));
}
-subgroup_t **subgroups_copy(subgroup_t **const src, subgroup_t **dest, size_t num) {
+subgroup_t **subgroups_copy(subgroup_t **const src, subgroup_t **dest,
+ size_t num) {
for (size_t i = 0; i < num; ++i) {
dest[i] = subgroup_new_copy(src[i]);
}
@@ -73,7 +70,8 @@ subgroup_t **subgroups_new_copy(subgroup_t **const src, size_t num) {
return subgroups_copy(src, result, num);
}
-subgroup_t **subgroups_clone(subgroup_t **const src, subgroup_t **dest, size_t num) {
+subgroup_t **subgroups_clone(subgroup_t **const src, subgroup_t **dest,
+ size_t num) {
for (size_t i = 0; i < num; ++i) {
dest[i] = subgroup_new_clone(src[i]);
}
@@ -146,12 +144,12 @@ static GEN subgroups_2n_factors(GEN factors, size_t min_bits) {
GEN groups = gtovec0(gen_0, itos(amount) - (min_bits * nprimes) - 1);
size_t i = 0;
- for (size_t count = 1; count < (size_t) (1) << nprimes; ++count) {
+ for (size_t count = 1; count < (size_t)(1) << nprimes; ++count) {
pari_sp btop = avma;
GEN result = gen_1;
size_t bits = 0;
for (long bit = 0; bit < nprimes; ++bit) {
- size_t mask = (size_t) (1) << bit;
+ size_t mask = (size_t)(1) << bit;
if (count & mask) {
result = mulii(result, gel(factors, bit + 1));
bits++;
@@ -196,25 +194,25 @@ GEN subgroups_all(GEN order) {
*/
/*
static GEN subgroups_2n_gens(const curve_t *curve, size_t min_bits) {
- GEN one_factors = subgroups_divisors(curve->generators[0]->order);
- GEN one = subgroups_2n_factors(one_factors, min_bits);
- GEN other_factors = subgroups_divisors(curve->generators[1]->order);
- GEN other = subgroups_2n_factors(other_factors, min_bits);
- if (!one) {
- return other;
- }
- if (!other) {
- return one;
- }
- GEN result = gtovec0(gen_0, glength(one) + glength(other));
- for (long i = 1; i <= glength(result); ++i) {
- if (i <= glength(one)) {
- gel(result, i) = gel(one, i);
- } else {
- gel(result, i) = gel(other, i - glength(one));
- }
- }
- return result;
+ GEN one_factors = subgroups_divisors(curve->generators[0]->order);
+ GEN one = subgroups_2n_factors(one_factors, min_bits);
+ GEN other_factors = subgroups_divisors(curve->generators[1]->order);
+ GEN other = subgroups_2n_factors(other_factors, min_bits);
+ if (!one) {
+ return other;
+ }
+ if (!other) {
+ return one;
+ }
+ GEN result = gtovec0(gen_0, glength(one) + glength(other));
+ for (long i = 1; i <= glength(result); ++i) {
+ if (i <= glength(one)) {
+ gel(result, i) = gel(one, i);
+ } else {
+ gel(result, i) = gel(other, i - glength(one));
+ }
+ }
+ return result;
}
*/
@@ -227,8 +225,8 @@ static GEN subgroups_2n_gens(const curve_t *curve, size_t min_bits) {
/*
static GEN subgroups_2n(const curve_t *curve, size_t min_bits) {
if (curve->ngens == 1) {
- GEN factors = subgroups_divisors(curve->order);
- return subgroups_2n_factors(factors, min_bits);
+ GEN factors = subgroups_divisors(curve->order);
+ return subgroups_2n_factors(factors, min_bits);
}
return subgroups_2n_gens(curve, min_bits);
diff --git a/src/math/twists.c b/src/math/twists.c
index a6bb06d..992b7cf 100644
--- a/src/math/twists.c
+++ b/src/math/twists.c
@@ -3,8 +3,8 @@
* Copyright (C) 2017-2018 J08nY
*/
#include "twists.h"
-#include "math/subgroup.h"
#include "gen/seed.h"
+#include "math/subgroup.h"
void twist_rand_to(curve_t *to, const curve_t *of) {
to->field = gcopy(of->field);
diff --git a/src/misc/types.h b/src/misc/types.h
index f2e5ae2..0471fc9 100644
--- a/src/misc/types.h
+++ b/src/misc/types.h
@@ -134,7 +134,7 @@ typedef struct {
* @return state diff
*/
#define GENERATOR(gen_name) \
- int gen_name(curve_t *curve, arg_t *args, offset_e state)
+ int gen_name(curve_t *curve, arg_t *args, offset_e state)
typedef GENERATOR((*gen_f));
@@ -146,7 +146,7 @@ typedef GENERATOR((*gen_f));
* @return
*/
#define UNROLL(unroll_name) \
- int unroll_name(curve_t *curve, pari_sp from, pari_sp to)
+ int unroll_name(curve_t *curve, pari_sp from, pari_sp to)
typedef UNROLL((*unroll_f));
diff --git a/src/util/str.c b/src/util/str.c
index 8b1bf92..7293538 100644
--- a/src/util/str.c
+++ b/src/util/str.c
@@ -4,8 +4,8 @@
*/
#include "str.h"
#include <ctype.h>
-#include <string.h>
#include <stdarg.h>
+#include <string.h>
#include "util/memory.h"
const char *str_is_hex(const char *hex_str) {
@@ -28,8 +28,7 @@ char *str_join(char *separator, char **strings, size_t len) {
for (size_t i = 0; i < len; ++i) {
if (strings[i]) total += strlen(strings[i]);
}
- if (separator)
- total += (len - 1) * strlen(separator);
+ if (separator) total += (len - 1) * strlen(separator);
char *result = try_calloc(total);
for (size_t i = 0; i < len; ++i) {
if (strings[i]) {
@@ -66,4 +65,3 @@ char *str_joinv(char *separator, ...) {
char *str_concat(char **strings, size_t len) {
return str_join(NULL, strings, len);
}
-