25int main(
int argc,
char* argv[]) {
31 std::string arg(argv[1]);
32 if ( arg ==
"-c" ) doCheck =
true;
35 nChecks = atoi(argv[2]);
42 std::pair<std::string, std::string> keys = senc.
genKeyPair();
44 std::cout <<
"\nBlinding keys generated:\n";
45 std::cout <<
" Private key: " << keys.first <<
"\n";
46 std::cout <<
" Public key: " << keys.second <<
"\n";
47 std::cout << std::endl;
51 srand(
static_cast<unsigned>(time(0)));
53 std::cout <<
"Encryption test:\n";
57 for (
int i=0; i<nChecks; ++i) {
60 float val = 10000.*
static_cast <float>(rand())/(
static_cast <float> (RAND_MAX));
64 if ( dec == val ) ++nOK;
65 if ( i == 0 || dec != val ) {
66 std::cout <<
" Test # " << i <<
"\n";
67 std::cout <<
" val = " << val <<
"\n";
68 std::cout <<
" enc = " << enc <<
"\n";
69 std::cout <<
" dec = " << dec <<
"\n";
71 std::cout <<
" => worked!\n";
73 std::cout <<
" => FAILED!\n";
77 std::cout << std::endl;
78 std::cout <<
"Summary:\n";
79 std::cout <<
" nChecks: " << std::setw(12) << nChecks <<
"\n";
80 std::cout <<
" nOK : " << std::setw(12) << nOK <<
"\n";
81 std::cout <<
" nFailed: " << std::setw(12) << nChecks - nOK << std::endl;
Provide simple asymmetric encryption for blinding of float values.
Provide simple asymmetric encryption for blinding of float values.
virtual ULLI_t encrypt(ULLI_t x)
Encrypt a positive integer value.
virtual ULLI_t decrypt(ULLI_t x)
Decrypt a positive integer value.
virtual std::pair< std::string, std::string > genKeyPair()
Generate private and public keys.