diff options
author | Ruan HE <ruan.he@orange.com> | 2015-09-04 07:35:06 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2015-09-04 07:35:06 +0000 |
commit | ca6aa8198d2335f8c326c3dd4d26bf5899064214 (patch) | |
tree | 6274a2d971fc0cac0896efe8583927d0190e3d20 /moon-abe/pbc-0.5.14/benchmark/ellnet.c | |
parent | 92fd2dbfb672d7b2b1cdfd5dd5cf89f7716b3e12 (diff) | |
parent | 3baeb11a8fbcfcdbc31976d421f17b85503b3ecd (diff) |
Merge "init attribute-based encryption"
Diffstat (limited to 'moon-abe/pbc-0.5.14/benchmark/ellnet.c')
-rw-r--r-- | moon-abe/pbc-0.5.14/benchmark/ellnet.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/moon-abe/pbc-0.5.14/benchmark/ellnet.c b/moon-abe/pbc-0.5.14/benchmark/ellnet.c new file mode 100644 index 00000000..8a866a65 --- /dev/null +++ b/moon-abe/pbc-0.5.14/benchmark/ellnet.c @@ -0,0 +1,65 @@ +#include <pbc.h> +#include "pbc_test.h" + +void time_pairing(pairing_ptr pairing) { + int i, n; + double t0, t1, ttotal, ttotalpp; + pairing_pp_t pp; + element_t x, y, r, r2; + element_init_G1(x, pairing); + element_init_G2(y, pairing); + element_init_GT(r, pairing); + element_init_GT(r2, pairing); + + n = 10; + ttotal = 0.0; + ttotalpp = 0.0; + for (i=0; i<n; i++) { + element_random(x); + element_random(y); + + pairing_pp_init(pp, x, pairing); + t0 = pbc_get_time(); + pairing_pp_apply(r, y, pp); + t1 = pbc_get_time(); + ttotalpp += t1 - t0; + pairing_pp_clear(pp); + + t0 = pbc_get_time(); + element_pairing(r2, x, y); + t1 = pbc_get_time(); + ttotal += t1 - t0; + + //element_printf("x = %B\n", x); + //element_printf("y = %B\n", y); + //element_printf("e(x,y) = %B\n", r); + if (element_cmp(r, r2)) { + printf("BUG!\n"); + exit(1); + } + } + printf("average pairing time = %f\n", ttotal / n); + printf("average pairing time (preprocessed) = %f\n", ttotalpp / n); + + element_clear(x); + element_clear(y); + element_clear(r); + element_clear(r2); +} + +int main(int argc, char **argv) { + pairing_t pairing; + + pbc_demo_pairing_init(pairing, argc, argv); + + printf("Miller's algorithm\n"); + time_pairing(pairing); + + pairing_option_set(pairing, "method", "shipsey-stange"); + printf("Shipsey-Stange algorithm\n"); + time_pairing(pairing); + + pairing_clear(pairing); + + return 0; +} |