Exemple #1
0
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;
}
Exemple #3
0
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;
}