diff options
author | WuKong <rebirthmonkey@gmail.com> | 2015-09-04 09:25:34 +0200 |
---|---|---|
committer | WuKong <rebirthmonkey@gmail.com> | 2015-09-04 09:25:34 +0200 |
commit | 3baeb11a8fbcfcdbc31976d421f17b85503b3ecd (patch) | |
tree | 04891d88c1127148f1b390b5a24414e85b270aee /moon-abe/pbc-0.5.14/guru/testindexcalculus.c | |
parent | 67c5b73910f5fc437429c356978081b252a59480 (diff) |
init attribute-based encryption
Change-Id: Iba1a3d722110abf747a0fba366f3ebc911d25b25
Diffstat (limited to 'moon-abe/pbc-0.5.14/guru/testindexcalculus.c')
-rw-r--r-- | moon-abe/pbc-0.5.14/guru/testindexcalculus.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/moon-abe/pbc-0.5.14/guru/testindexcalculus.c b/moon-abe/pbc-0.5.14/guru/testindexcalculus.c new file mode 100644 index 00000000..1bb36146 --- /dev/null +++ b/moon-abe/pbc-0.5.14/guru/testindexcalculus.c @@ -0,0 +1,29 @@ +#include <stdio.h> +#include <gmp.h> +#include "pbc.h" + +int main(int argc, char **argv) +{ + mpz_t x; + mpz_t g, h, q; + mpz_init(x); + mpz_init(g); + mpz_init(h); + mpz_init(q); + int bits = 40; + + if (argc == 2) { + bits = atoi(argv[1]); + } + mpz_setbit(q, bits); + pbc_mpz_random(q, q); + mpz_nextprime(q, q); + pbc_mpz_random(g, q); + pbc_mpz_random(h, q); + mpz_powm(h, g, h, q); + + element_dlog_index_calculus(x, g, h, q); + element_printf("%Zd^%Zd %% %Zd = %Zd\n", g, x, q, h); + + return 0; +} |