Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
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);
}