]>
git.siccegge.de Git - software/DIPE.git/blob - tests/testPBC.cpp
826ec1b16ce3d13c0d469c0bf4aa65e4d281737c
1 #include <gtest/gtest.h>
6 static pairing_t pairing
;
9 /* PBC is using multiplicative notion and ONE is indeed the neutral
10 * element wrt multiplication.
12 TEST(PbcTest
, PbcOneTest
) {
17 element_init_G1(g1
, pairing
);
18 element_init_Zr(z
, pairing
);
19 element_init_G1(g1z
, pairing
);
23 element_pow_zn(g1z
, g1
, z
);
25 EXPECT_EQ(element_cmp(g1
, g1z
), 0);
32 TEST(PbcTest
, PbcFromHash
) {
33 char test1
[] = "pbctest1";
34 char test2
[] = "pbctest2";
37 element_init_G2(a
, pairing
);
38 element_init_G2(b
, pairing
);
40 element_from_hash(a
, test1
, 8);
41 element_from_hash(b
, test1
, 8);
42 EXPECT_EQ(element_cmp(a
, b
), 0);
44 element_from_hash(a
, test1
, 8);
45 element_from_hash(b
, test2
, 8);
46 EXPECT_NE(element_cmp(a
, b
), 0);
52 int main(int argc
, char **argv
) {
54 ::testing::InitGoogleTest(&argc
, argv
);
57 fp
= fopen("../tests/a.param", "r");
59 perror("Reading Pairing Parameters");
62 size_t count
= fread(buffer
, 1, 2<<16, fp
);
64 pairing_init_set_buf(pairing
, buffer
, 2<<16);
67 int result
= RUN_ALL_TESTS();
68 pairing_clear(pairing
);