Преглед на файлове

Add an AES benchmark to 1.6 (backport)

Adam Ierymenko преди 4 години
родител
ревизия
c7dcbba442
променени са 1 файла, в които са добавени 25 реда и са изтрити 0 реда
  1. 25 0
      selftest.cpp

+ 25 - 0
selftest.cpp

@@ -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)) {