int main(int c, char **a) { OE oe = OperatingEnvironment_LinuxNew(); init_polynomial(); if (oe) { MR mr = 0; int i = 0; MiniMacs mm = setup_generic_minimacs(oe, a[1]); if (!mm) return -42; mm->get_id(); mr = mm->connect("127.0.0.1",2020); mm->init_heap(6); C(mm->secret_input(0,0,0)); C(mm->open(0)); C(mm->secret_input(0,1,Data_shallow("\001\001",1))); C(mm->secret_input(0,2,Data_shallow("\002\002",1))); for(i = 0; i < 256;++i) C(mm->mul(3,2,1)); C(mm->add(3,3,3)); C(mm->open(3)); oe->p(mm->heap_get(0)->codeword); _p("Mul res", mm->heap_get(3)->codeword,8,8); } failure: return 0; }
int main(int c, char **a) { OE oe = OperatingEnvironment_New(); InitStats(oe); init_polynomial(); if (oe) { MR mr = 0; int i = 0; MiniMacs mm = setup_generic_minimacs(oe, a[1]); if (mm == 0) { printf("Uable to create MiniMacs Instance, leaving\n"); return 42; } printf("Inviting 1 party to computate on port 2020\n"); mm->invite(1,2020); mm->init_heap(6); C(mm->secret_input(0,0,Data_shallow("Rasmus",7))); C(mm->open(0)); C(mm->secret_input(0,1,Data_shallow("\001",1))); C(mm->secret_input(0,2,Data_shallow("\001",1))); C(mm->mul(3,1,2)); C(mm->open(3)); SymmetricMiniMacs_destroy( & mm ); } PrintMeasurements(oe); failure: return 0; }
int main(int c, char **a) { OE oe = (OE)OperatingEnvironment_LinuxNew(); MiniMacs mm = 0; Data input = 0; uint count=0,i=0; init_polynomial(); mm = GenericMiniMacs_DefaultLoadNew(oe,a[1]); InitStats(oe); if (!mm) { oe->p("Error could not create instance of MiniMacs"); OperatingEnvironment_LinuxDestroy(&oe); return -1; } { CliArg arg = (CliArg)oe->getmem(sizeof(*arg)); arg->file = a[2]; arg->oe = oe; oe->newthread(client,arg); } mm->init_heap(2); mm->invite(1,8080); printf("Got client ... \n"); input = Data_new(oe, mm->get_ltext()); for(i = 0; i < mm->get_ltext(); ++i) { input->data[i] = 'r'; } mm->secret_input(0,0,input); for(count = 0; count < COUNT; ++count) { CHECK_POINT_S("Mul server"); mm->mul(1,0,0); CHECK_POINT_E("Mul server"); } usleep(5); PrintMeasurements(oe); return 0; }
static inline replica_private_input(byte val, uint dst, MiniMacs mm) { uint rep = mm->get_ltext(); uint i = 0; byte * r = malloc(rep); uint player = 0; uint nplayers = mm->get_no_peers()+1; printf("ltext = %u\n", mm->get_ltext()); for(i = 0;i < rep;++i) { r[i] = val; } for(player = 0; player < nplayers;++player) { mm->secret_input(player,128,Data_shallow(r,rep)); mm->add(dst,128,dst); } free(r); }
static void * client(void * a) { CliArg arg = (CliArg)a; OE oe = arg->oe; MiniMacs mm = GenericMiniMacs_DefaultLoadNew(oe,arg->file); uint count = 0; if (!mm) { oe->p("Client: Error could not create instance of MiniMacs"); return 0; } mm->init_heap(2); mm->connect("127.0.0.1",8080); mm->secret_input(0,0,0); for(count = 0; count < COUNT; ++count) { CHECK_POINT_S("\033[01mMul Client\033[00m"); mm->mul(1,0,0); CHECK_POINT_E("\033[01mMul Client\033[00m"); } }
int main(int c, char **a) { OE oe = OperatingEnvironment_LinuxNew(); init_polynomial(); if (oe) { MR mr = 0; MiniMacs mm = setup_generic_minimacs(oe, a[1]); printf("Inviting 1 party to computate on port 2020\n"); mm->invite(1,2020); mm->init_heap(6); // test secret input and open { MiniMacsRep rep = 0; byte data[85] = {0}; uint i = 0; for(i = 0;i < 85;++i) { data[i] = (byte)((i*101+65537)%255); } C(mm->secret_input(0,0,Data_shallow(data,85))); C(mm->open(0)); rep = mm->heap_get(0); if (!rep) { printf("Nothing to open\n"); return -1; } for(i = 0;i < 85;++i) { if (rep->codeword[i] != data[i]) { printf("Failure at possition %u\n",i); return -1; } } printf("Secret Input Done\n"); } // test multiply { byte data1[85] = {0}; byte data2[85] = {0}; byte p[85] = {0}; MiniMacsRep rep = 0; uint i = 0; for(i = 0; i < 85;++i) { data1[i] = (i*101+65537) % 255; data2[i] = (i*31+257) % 255; p[i] = multiply(multiply(data1[i], data2[i]), 42); } C(mm->secret_input(0,0,Data_shallow(data1,85))); C(mm->secret_input(0,1,Data_shallow(data2,85))); memset(data1,42,85); C(mm->secret_input(0,2,Data_shallow(data1,85))); C(mm->mul(3,0,1)); C(mm->mul(4,2,3)); C(mm->open(4)); rep = mm->heap_get(4); if (!rep) { printf("Rep is null.\n"); return -1; } for(i = 0;i < 85;++i) { if (rep->codeword[i] != p[i]) { printf("Failed at pos %u expected 0x04 got %u\n",i,rep->codeword[i]); return -1; } } } GenericMiniMacs_destroy( & mm ); } failure: return 0; }