From 3baeb11a8fbcfcdbc31976d421f17b85503b3ecd Mon Sep 17 00:00:00 2001 From: WuKong Date: Fri, 4 Sep 2015 09:25:34 +0200 Subject: init attribute-based encryption Change-Id: Iba1a3d722110abf747a0fba366f3ebc911d25b25 --- moon-abe/pbc-0.5.14/gen/gengparam.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 moon-abe/pbc-0.5.14/gen/gengparam.c (limited to 'moon-abe/pbc-0.5.14/gen/gengparam.c') diff --git a/moon-abe/pbc-0.5.14/gen/gengparam.c b/moon-abe/pbc-0.5.14/gen/gengparam.c new file mode 100644 index 00000000..064f2b76 --- /dev/null +++ b/moon-abe/pbc-0.5.14/gen/gengparam.c @@ -0,0 +1,33 @@ +// Generate Freeman curves with a given discriminant. +#include "pbc.h" + +int generate(pbc_cm_t cm, void *data) { + UNUSED_VAR(data); + pbc_param_t param; + + pbc_info("gengparam: computing Hilbert polynomial and finding roots..."); + pbc_param_init_g_gen(param, cm); + pbc_info("gengparam: bits in q = %zu", mpz_sizeinbase(cm->q, 2)); + pbc_param_out_str(stdout, param); + pbc_param_clear(param); + return 1; +} + +int main(int argc, char **argv) { + int D = 35707; + + if (argc > 1) { + int m; + D = atoi(argv[1]); + m = D % 120; + if (D <= 0 || (m != 43 && m != 67)) { + pbc_die("D must be 43 or 67 mod 120 and positive"); + } + } + pbc_info("Using D = %d", D); + + if (!pbc_cm_search_g(generate, NULL, D, 500)) { + pbc_die("No suitable curves for this D"); + } + return 0; +} -- cgit 1.2.3-korg