diff options
| author | J08nY | 2017-04-10 23:47:46 +0200 |
|---|---|---|
| committer | J08nY | 2017-04-10 23:56:03 +0200 |
| commit | 2cf2eec873cb11f2f0767aac41da0f56dbd27cb9 (patch) | |
| tree | 9b9a52548ccc7c9e54c500e4b587560ce18a017c /src/invalid/invalid.c | |
| parent | c1de68ff1e47dfbb1b85671e4fadcce1c49c8967 (diff) | |
| download | ecgen-2cf2eec873cb11f2f0767aac41da0f56dbd27cb9.tar.gz ecgen-2cf2eec873cb11f2f0767aac41da0f56dbd27cb9.tar.zst ecgen-2cf2eec873cb11f2f0767aac41da0f56dbd27cb9.zip | |
Added unroll functions, to generalize going back in exhaustive generation
Diffstat (limited to 'src/invalid/invalid.c')
| -rw-r--r-- | src/invalid/invalid.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/invalid/invalid.c b/src/invalid/invalid.c index e01a49c..e6715b7 100644 --- a/src/invalid/invalid.c +++ b/src/invalid/invalid.c @@ -101,7 +101,7 @@ static size_t invalid_curves(curve_t *curve, config_t *cfg, pari_ulong *primes, while (ncurves < nprimes) { pari_sp btop = avma; // generate a curve with random b - exhaustive_gen(invalid, cfg, invalid_gen, NULL, OFFSET_B, + exhaustive_gen(invalid, cfg, invalid_gen, NULL, NULL, OFFSET_B, OFFSET_GENERATORS); // does some small prime from our array divide the curve order? @@ -140,7 +140,7 @@ static size_t invalid_curves(curve_t *curve, config_t *cfg, pari_ulong *primes, // generate prime order points, this is expensive (order needs to be // factorised, so only do it if we want the curve) - exhaustive_gen(invalid, cfg, invalid_gen, invalid_argss, + exhaustive_gen(invalid, cfg, invalid_gen, invalid_argss, NULL, OFFSET_GENERATORS, OFFSET_END); size_t count = 0; @@ -269,14 +269,16 @@ int invalid_do(config_t *cfg) { gen_t gen[OFFSET_END]; arg_t *argss[OFFSET_END]; + unroll_t unrolls[OFFSET_END]; invalid_original_ginit(gen, cfg); + exhaustive_uinit(unrolls, cfg); // create the curve to invalidate // Either from input or random with - curve_t *curve = curve_new(); // actually generate the curve - if (!exhaustive_gen_retry(curve, cfg, gen, argss, OFFSET_FIELD, - OFFSET_POINTS, 1)) { + if (!exhaustive_gen(curve, cfg, gen, argss, NULL, OFFSET_FIELD, + OFFSET_POINTS)) { curve_free(&curve); return 1; } |
