diff options
| author | J08nY | 2017-12-13 14:06:54 +0100 |
|---|---|---|
| committer | J08nY | 2017-12-13 14:06:54 +0100 |
| commit | 629ba8254039945dbf1fe7126611ac8b72010429 (patch) | |
| tree | f6598c3977910c81337b43c02bac443a1d0e8696 /test | |
| parent | 61b04bd5ce59c2419c19b52031e04cf3aeb51ba0 (diff) | |
| download | ecgen-629ba8254039945dbf1fe7126611ac8b72010429.tar.gz ecgen-629ba8254039945dbf1fe7126611ac8b72010429.tar.zst ecgen-629ba8254039945dbf1fe7126611ac8b72010429.zip | |
Diffstat (limited to 'test')
| -rw-r--r-- | test/src/exhaustive/test_ansi.c | 22 | ||||
| -rw-r--r-- | test/src/exhaustive/test_brainpool.c | 83 | ||||
| -rw-r--r-- | test/src/gen/test_point.c | 4 | ||||
| -rw-r--r-- | test/src/util/test_bits.c | 13 |
4 files changed, 107 insertions, 15 deletions
diff --git a/test/src/exhaustive/test_ansi.c b/test/src/exhaustive/test_ansi.c index 5b58102..bbbe37a 100644 --- a/test/src/exhaustive/test_ansi.c +++ b/test/src/exhaustive/test_ansi.c @@ -16,7 +16,7 @@ TestSuite(ansi, .init = io_setup, .fini = io_teardown); -Test(ansi, test_seed_random) { +Test(ansi, test_ansi_seed_random) { curve_t curve = {0}; cfg->bits = 256; int ret = ansi_gen_seed_random(&curve, NULL, OFFSET_SEED); @@ -27,7 +27,7 @@ Test(ansi, test_seed_random) { seed_free(&curve.seed); } -Test(ansi, test_seed_argument) { +Test(ansi, test_ansi_seed_argument) { curve_t curve = {0}; char *seed = "abcdefabcdefabcdefabcdefabcdefabcdefabcd"; cfg->seed = seed; @@ -43,7 +43,7 @@ Test(ansi, test_seed_argument) { seed_free(&curve.seed); } -Test(ansi, test_seed_argument_hex) { +Test(ansi, test_ansi_seed_argument_hex) { curve_t curve = {0}; char *seed = "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd"; cfg->seed = seed; @@ -59,7 +59,7 @@ Test(ansi, test_seed_argument_hex) { seed_free(&curve.seed); } -Test(ansi, test_seed_input) { +Test(ansi, test_ansi_seed_input) { curve_t curve = {0}; char *seed = "abcdefabcdefabcdefabcdefabcdefabcdefabcd"; cfg->bits = 256; @@ -75,7 +75,7 @@ Test(ansi, test_seed_input) { seed_free(&curve.seed); } -Test(ansi, test_seed_input_short) { +Test(ansi, test_ansi_seed_input_short) { curve_t curve = {0}; char *seed = "abcdef"; fprintf(write_in, "%s\n", seed); @@ -102,7 +102,7 @@ void prime_params_cleanup(struct criterion_test_params *ctp) { cr_free(params->b); } -ParameterizedTestParameters(ansi, test_seed_prime_examples) { +ParameterizedTestParameters(ansi, test_ansi_seed_prime_examples) { static struct prime_params params[7] = {{0}}; // Taken from ANSI X9.62 J.5.1 - J.5.3; p. 115 - 117 // clang-format off @@ -153,7 +153,7 @@ ParameterizedTestParameters(ansi, test_seed_prime_examples) { size_t nb_params = sizeof(params) / sizeof(struct prime_params); return cr_make_param_array(struct prime_params, params, nb_params, NULL); } -ParameterizedTest(struct prime_params *param, ansi, test_seed_prime_examples) { +ParameterizedTest(struct prime_params *param, ansi, test_ansi_seed_prime_examples) { cfg->bits = param->bits; cfg->field = FIELD_PRIME; cfg->seed = param->seed; @@ -164,7 +164,7 @@ ParameterizedTest(struct prime_params *param, ansi, test_seed_prime_examples) { int ret = ansi_gen_seed_argument(&curve, NULL, OFFSET_SEED); cr_assert_eq(ret, 1, ); - ret = ansi_gen_equation(&curve, NULL, OFFSET_SEED); + ret = ansi_gen_equation(&curve, NULL, OFFSET_B); cr_assert_eq(ret, 1, ); GEN expected_r = bits_to_i(bits_from_hex(param->r)); cr_assert(gequal(curve.seed->ansi.r, expected_r), ); @@ -188,7 +188,7 @@ void binary_params_cleanup(struct criterion_test_params *ctp) { cr_free(params->b); } -ParameterizedTestParameters(ansi, test_seed_binary_examples) { +ParameterizedTestParameters(ansi, test_ansi_seed_binary_examples) { static struct binary_params params[10] = {{0}}; // Taken from ANSI X9.62 J.4.1, J.4.3, J.4.5 and J.4.8; p. 107 - 113 // clang-format off @@ -253,7 +253,7 @@ ParameterizedTestParameters(ansi, test_seed_binary_examples) { binary_params_cleanup); } ParameterizedTest(struct binary_params *param, ansi, - test_seed_binary_examples) { + test_ansi_seed_binary_examples) { cfg->bits = param->bits; cfg->field = FIELD_BINARY; cfg->seed = param->seed; @@ -266,7 +266,7 @@ ParameterizedTest(struct binary_params *param, ansi, int ret = ansi_gen_seed_argument(&curve, NULL, OFFSET_SEED); cr_assert_eq(ret, 1, ); - ret = ansi_gen_equation(&curve, NULL, OFFSET_SEED); + ret = ansi_gen_equation(&curve, NULL, OFFSET_B); cr_assert_eq(ret, 1, ); GEN curve_b = field_elementi(curve.b); cr_assert(gequal(curve_b, expected_b), ); diff --git a/test/src/exhaustive/test_brainpool.c b/test/src/exhaustive/test_brainpool.c new file mode 100644 index 0000000..912d286 --- /dev/null +++ b/test/src/exhaustive/test_brainpool.c @@ -0,0 +1,83 @@ +/* + * ecgen, tool for generating Elliptic curve domain parameters + * Copyright (C) 2017 J08nY + */ + +#include <criterion/criterion.h> +#include <criterion/parameterized.h> +#include "exhaustive/brainpool.h" +#include "test/io.h" +#include "gen/seed.h" +#include "util/bits.h" +#include "util/memory.h" + +TestSuite(brainpool, .init = io_setup, .fini = io_teardown); + +Test(brainpool, test_brainpool_seed_random) { + curve_t curve = {0}; + cfg->bits = 256; + int ret = brainpool_gen_seed_random(&curve, NULL, OFFSET_SEED); + + cr_assert_eq(ret, 1, ); + cr_assert_not_null(curve.seed, ); + + seed_free(&curve.seed); +} + +Test(brainpool, test_brainpool_seed_argument) { + curve_t curve = {0}; + char *seed = "abcdefabcdefabcdefabcdefabcdefabcdefabcd"; + cfg->seed = seed; + cfg->bits = 256; + int ret = brainpool_gen_seed_argument(&curve, NULL, OFFSET_SEED); + + cr_assert_eq(ret, 1, ); + cr_assert_not_null(curve.seed, ); + char *hex = bits_to_hex(curve.seed->seed); + cr_assert_str_eq(hex, seed, ); + + try_free(hex); + seed_free(&curve.seed); +} + +Test(brainpool, test_brainpool_seed_input) { + curve_t curve = {0}; + char *seed = "abcdefabcdefabcdefabcdefabcdefabcdefabcd"; + cfg->bits = 256; + fprintf(write_in, "%s\n", seed); + int ret = brainpool_gen_seed_input(&curve, NULL, OFFSET_SEED); + + cr_assert_eq(ret, 1, ); + cr_assert_not_null(curve.seed, ); + char *hex = bits_to_hex(curve.seed->seed); + cr_assert_str_eq(hex, seed, ); + + try_free(hex); + seed_free(&curve.seed); +} + +Test(brainpool, test_brainpool_seed_input_short) { + curve_t curve = {0}; + char *seed = "abcdef"; + fprintf(write_in, "%s\n", seed); + int ret = brainpool_gen_seed_input(&curve, NULL, OFFSET_SEED); + + cr_assert_eq(ret, 0, ); +} + +Test(brainpool, test_brainpool_equation) { + curve_t curve = {0}; + char *seed = "abcdefabcdefabcdefabcdefabcdefabcdefabcd"; + cfg->seed = seed; + cfg->bits = 256; + + brainpool_gen_seed_argument(&curve, NULL, OFFSET_SEED); + + char *prime = "caa002c44829499e8239f049bddcaca373258a175fa337a82e0521744392cff1"; + bits_t *prime_bits = bits_from_hex(prime); + curve.field = bits_to_i(prime_bits); + bits_free(&prime_bits); + + int ret = brainpool_gen_equation(&curve, NULL, OFFSET_B); + cr_assert_eq(ret, 1, ); +}
\ No newline at end of file diff --git a/test/src/gen/test_point.c b/test/src/gen/test_point.c index e90bf9b..19869c5 100644 --- a/test/src/gen/test_point.c +++ b/test/src/gen/test_point.c @@ -5,7 +5,6 @@ #include <criterion/criterion.h> #include "gen/point.h" -#include "test/default.h" #include "test/io.h" TestSuite(point, .init = io_setup, .fini = io_teardown); @@ -115,9 +114,7 @@ Test(point, test_points_all) { .order = stoi(27), .curve = e, .ngens = 1, .generators = gens}; GEN orders = mkvec3s(3, 9, 27); size_t npoints = 3; - printf("allgroups\n"); int ret = points_gen_allgroups(&curve, NULL, OFFSET_POINTS); - printf("after\n"); cr_assert_eq(ret, 1, "Points weren't generated."); cr_assert_eq(curve.npoints, npoints, "Incorrect number of points."); @@ -129,7 +126,6 @@ Test(point, test_points_all) { "Point has wrong order set."); cr_assert(gequal(point->order, gel(orders, i + 1)), "Point has wrong order."); - printf("%lu\n", i); } points_free_deep(&curve.points, 1); diff --git a/test/src/util/test_bits.c b/test/src/util/test_bits.c index 27da58b..8a356b0 100644 --- a/test/src/util/test_bits.c +++ b/test/src/util/test_bits.c @@ -40,6 +40,19 @@ Test(bits, test_bits_new_rand) { bits_free(&bits); } +Test(bits, test_bits_cpy) { + bits_t *bits = bits_new(10); + bits->bits[0] = 0b10101010; + bits->bits[1] = 0b11000000; + + bits_t *other = bits_new(5); + bits_cpy(other, bits); + cr_assert_eq(other->bitlen, bits->bitlen, ); + cr_assert_eq(other->allocated, bits->allocated, ); + cr_assert_eq(other->bits[0], bits->bits[0], ); + cr_assert_eq(other->bits[1], bits->bits[1], ); +} + Test(bits, test_bits_copy) { bits_t *bits = bits_new(10); bits->bits[0] = 0b10101010; |
