#include "emp-tool/emp-tool.h" #include #include #include #include using namespace std; using namespace emp; int main() { Group G; BigInt ia, ib, ic, id; G.get_rand_bn(ia); G.get_rand_bn(ib); G.get_rand_bn(ic); G.get_rand_bn(id); Point * a = new Point(); Point b; *a = G.mul_gen(ia);//g^a b = G.mul_gen(ib);//g^a ic = ia.add_mod(ib, G.order, G.bn_ctx); Point c = G.mul_gen(ic);//g^{a+b} Point d = a->add(b); int res = (d == c); cout << res<mul(ib);//c=a^ib = g^ab d = b.mul(ia);//c=a^ib = g^ab res = (d == c); cout << res<size(); unsigned char * tmp = new unsigned char[size]; a->to_bin(tmp, size); b.from_bin(&G, tmp, size); res = (*a==b); cout << res<