int main(int argc, char *argv[]) { ProtocolDesc pd; protocolIO io; int i, index = 0; if(argc < 3) { fprintf(stderr, "Not enough args\n"); return 1; } int party = (argv[1][0] == '1' ? 1 : 2); protocolUseStdio(&pd); if (party == 1) { loadList(&io); } else { io.n = strtol(argv[2], NULL, 10); } setCurrentParty(&pd, party); double lap = wallClock(); execYaoProtocol(&pd, linSearch, &io); fprintf(stderr,"Party: %d\n", party); fprintf(stderr,"Total time: %lf s\n", wallClock() - lap); if (io.res) { fprintf(stderr,"Item found.\n\n"); } else { fprintf(stderr,"Item not found.\n\n"); } cleanupProtocol(&pd); if (party == 1) { free(io.nList); } return 0; }
int main(int argc, char* argv[]) { ProtocolDesc pd; protocolIO io; if(argc<3) { if(argc<2) fprintf(stderr, "Party missing\n"); else fprintf(stderr, "data missing"); fprintf(stderr, "Usage: %s <1|2> <string>\n", argv[0]); return 1; } sscanf(argv[2], "%s[10]", io.data); protocolUseStdio(&pd); setCurrentParty(&pd, argv[1][0]=='1'?1:2); execYaoProtocol(&pd, hamming, &io); fprintf(stderr,"Gate Count: %u\n",yaoGateCount()); cleanupProtocol(&pd); fprintf(stderr, "Hamming Distance: %d\n", io.hammingDist); }