|
|
|
|
@ -255,6 +255,31 @@ static int testCrypto()
|
|
|
|
|
::free((void *)bb); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
std::cout << "[crypto] Benchmarking AES-GMAC-SIV... "; std::cout.flush(); |
|
|
|
|
{ |
|
|
|
|
uint64_t end,start = OSUtils::now(); |
|
|
|
|
uint64_t bytes = 0; |
|
|
|
|
AES k0,k1; |
|
|
|
|
k0.init(buf1); |
|
|
|
|
k1.init(buf2); |
|
|
|
|
AES::GMACSIVEncryptor enc(k0,k1); |
|
|
|
|
for (;;) { |
|
|
|
|
for(unsigned int i=0;i<10000;++i) { |
|
|
|
|
enc.init(i,buf2); |
|
|
|
|
enc.update1(buf1,sizeof(buf1)); |
|
|
|
|
enc.finish1(); |
|
|
|
|
enc.update2(buf1,sizeof(buf1)); |
|
|
|
|
enc.finish2(); |
|
|
|
|
buf1[0] = buf2[0]; |
|
|
|
|
bytes += sizeof(buf1); |
|
|
|
|
} |
|
|
|
|
end = OSUtils::now(); |
|
|
|
|
if ((end - start) >= 5000) |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
std::cout << (((double)bytes / 1048576.0) / ((double)(end - start) / 1024.0)) << " MiB/second" << std::endl; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
std::cout << "[crypto] Testing SHA-512... "; std::cout.flush(); |
|
|
|
|
SHA512(buf1,sha512TV0Input,(unsigned int)strlen(sha512TV0Input)); |
|
|
|
|
if (memcmp(buf1,sha512TV0Digest,64)) { |
|
|
|
|
|