diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/exhaustive/brainpool.c | 2 | ||||
| -rw-r--r-- | src/gen/curve.c | 2 | ||||
| -rw-r--r-- | src/gen/gens.c | 15 | ||||
| -rw-r--r-- | src/gen/gens.h | 1 | ||||
| -rw-r--r-- | src/gen/hex.c | 15 | ||||
| -rw-r--r-- | src/gen/order.c | 4 | ||||
| -rw-r--r-- | src/gen/point.c | 33 | ||||
| -rw-r--r-- | src/io/output.c | 24 | ||||
| -rw-r--r-- | src/math/subgroup.c | 64 | ||||
| -rw-r--r-- | src/math/twists.c | 2 | ||||
| -rw-r--r-- | src/misc/types.h | 4 | ||||
| -rw-r--r-- | src/util/str.c | 6 |
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); } - |
