main(int argc, char *argv[]){ /** Check the number of parameters */ if (argc < 3) { /** Tell the user how to run the program */ cerr << "Usage: " << argv[0] << " num_col key_file" << endl; return 1; } mr_init_threading(); PFC pfc(AES_SECURITY); SecureSelect *db=NULL; int m=atoi(argv[1]); string key_name(argv[2]); db = new SecureSelect(m,&pfc,pfc.order()); #ifdef VERBOSE int start = getMilliCount(); #endif db->KeyGen(key_name); #ifdef VERBOSE int milliSecondsElapsed = getMilliSpan(start); cout << "\texec time " << milliSecondsElapsed << endl; #endif }
main(int argc, char *argv[]){ /** Check the number of parameters */ if (argc < 5) { /** Tell the user how to run the program */ cerr << "Usage: " << argv[0] << " token encrows results num_threads" << endl; return 1; } mr_init_threading(); PFC pfc(AES_SECURITY); SecureSelect *db=NULL; int m=0; string query_name(argv[1]); string enctable_name(argv[2]); string results_name(argv[3]); int num_threads = atoi(argv[4]); db = new SecureSelect(&pfc,pfc.order()); if (!ifstream(query_name+"_ptok")){ cout << "Query file doesn't exist" << endl; return 0; } if (!ifstream(enctable_name+"_enc_msgs")){ cout << "Enctable file doesn't exist" << endl; return 0; } #ifdef VERBOSE int start = getMilliCount(); #endif int res_num = db->ApplyPTokenMT(query_name, enctable_name, results_name, num_threads); //int res_num = db->ApplyPToken(query_name, enctable_name, results_name); #ifdef VERBOSE int milliSecondsElapsed = getMilliSpan(start); cout << "\texec time " << milliSecondsElapsed << endl; #endif if(res_num >=0){ cout << res_num << " result(s) found" << endl; return 1; } else return 0; }
main(int argc, char *argv[]){ /** Check the number of parameters */ if (argc < 6) { /** Tell the user how to run the program */ cerr << "Usage: " << argv[0] << " key_file rows encrows noise num_threads" << endl; return 1; } /** Set the random seed for noise parameter generation */ srand(time(NULL)); mr_init_threading(); PFC pfc(AES_SECURITY); SecureSelect *db=NULL; int m=0; string key_file(argv[1]); string table_name(argv[2]); string enctable_name(argv[3]); int rand_lim = atoi(argv[4]); int num_threads = atoi(argv[5]); db = new SecureSelect(&pfc,pfc.order()); if(!db->LoadKey(key_file)) return 0; if(rand_lim<1){ cout << "Random paramter < 1, it has to be >= 1" << endl; return 0; } #ifdef VERBOSE int start = getMilliCount(); #endif db->EncryptRowsMT(table_name,enctable_name,rand_lim, num_threads); // db->EncryptRows(table_name,enctable_name,rand_lim); #ifdef VERBOSE int milliSecondsElapsed = getMilliSpan(start); cout << "\texec time " << milliSecondsElapsed << endl; #endif }
int main(int argc, char *argv[]) { mr_init_threading(); /************************************************* * Get the public parameters from the PKGs * **************************************************/ // Initialise a strong random number generator char raw[256]; FILE *fp; fp = fopen("/dev/urandom", "r"); fread(&raw, 1, 256, fp); fclose(fp); time_t seed; csprng rng; time(&seed); strong_init(&rng,strlen(raw),raw,(long)seed); // Make sure all random PFC elements rely on strong random number generator PFC pfc(AES_SECURITY, &rng); miracl *mip = get_mip(); int bytes_per_big=(MIRACL/8)*(get_mip()->nib-1); mip->IOBASE=64; ThreadParams *myParams = new ThreadParams; G2 P; G2 Ppub; G1 Qpriv, Qid; G1 D; /************************************************* * Initialise client side socket for Scramble * **************************************************/ cout << "Socket is ready for Firefox requests. Listening:" << endl; int sockfd, newsockfd; socklen_t clilen; struct sockaddr_in serv_addr, cli_addr; // Initialise the socket descriptor. sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) error("ERROR opening socket"); // Bind socket to port serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = INADDR_ANY; serv_addr.sin_port = htons(PORT_NB); if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) error("ERROR on binding"); // Listen to socket and accept incoming connections listen(sockfd,5); clilen = sizeof(cli_addr); *closeSocket = false; //mr_init_threading(); //TODO: make encryption multithreaded paramsInitialised = false; while(!(*closeSocket) ){ newsockfd = accept(sockfd, (struct sockaddr *) &cli_addr, &clilen); if (newsockfd < 0) error("ERROR on accept"); if(paramsInitialised == false) { myParams->pfc = &pfc; bool extractionSucceeded = extractPrivateKey(myParams); if(extractionSucceeded == false) { cout << "Some DKGs were dishonest. Please select other DKGs." << endl; return 0; } P = myParams->P; D = myParams->D; Ppub = myParams->Ppub; paramsInitialised = true; } // Initialise new thread //pthread_t sniffer_thread; //pthread_attr_t attributes; ThreadParams *params = new ThreadParams; // params is a pointer to a threadParams struct //params = myParams; params->sockfd = newsockfd; params->pfc = &pfc; params->P = myParams->P; params->Ppub = myParams->Ppub; params->D = myParams->D; processXmlRequest(params); } //mr_end_threading(); sleep(5); return 0; }