diff options
| author | J08nY | 2018-01-18 18:37:44 +0100 |
|---|---|---|
| committer | J08nY | 2018-01-18 18:40:06 +0100 |
| commit | cf074191532caef918fb9f502b37697094da317a (patch) | |
| tree | 9826a5f436aba9fcbfbba8dfd5e615267213123f /src/gen | |
| parent | f940f80a2cb69ffcd1f0d608cbb1b0f06e0854d6 (diff) | |
| download | ecgen-cf074191532caef918fb9f502b37697094da317a.tar.gz ecgen-cf074191532caef918fb9f502b37697094da317a.tar.zst ecgen-cf074191532caef918fb9f502b37697094da317a.zip | |
Add curve twists to CLI and update options in README.
Diffstat (limited to 'src/gen')
| -rw-r--r-- | src/gen/curve.c | 11 | ||||
| -rw-r--r-- | src/gen/curve.h | 11 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/gen/curve.c b/src/gen/curve.c index 4996c28..f89044a 100644 --- a/src/gen/curve.c +++ b/src/gen/curve.c @@ -3,6 +3,7 @@ * Copyright (C) 2017-2018 J08nY */ #include "curve.h" +#include "math/twists.h" #include "point.h" #include "seed.h" #include "util/memory.h" @@ -116,6 +117,16 @@ GENERATOR(curve_gen_any) { } } +GENERATOR(curve_gen_any_twist) { + int result = curve_gen_any(curve, args, state); + if (result != 1) { + return result; + } else { + twist_rand(curve); + return 1; + } +} + CHECK(curve_check_nonzero) { if (gequal0(ell_get_disc(curve->curve))) { return -3; diff --git a/src/gen/curve.h b/src/gen/curve.h index 8b82fa9..e2316c6 100644 --- a/src/gen/curve.h +++ b/src/gen/curve.h @@ -18,11 +18,22 @@ * * @param curve A curve_t being generated * @param args unused + * @param state * @return state diff */ GENERATOR(curve_gen_any); /** + * GENERATOR(gen_f) + * + * @param curve + * @param args + * @param state + * @return state diff + */ +GENERATOR(curve_gen_any_twist); + +/** * CHECK(check_f) * Checks that the curve has non-zero discriminant. * |
