summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2020-05-08 14:42:17 +0000
committerDaiki Ueno <ueno@gnu.org>2020-05-08 14:42:17 +0000
commit4da53c4a4380e4fe0cf676f432c61f9c164971f0 (patch)
tree4a060983c481f4bbf139115548f45aae3b1d6b18 /src
parent61d4e7471f098832833a72ed9cd432b4e61a76b5 (diff)
parent6c652cb40861722fb3a469ab217cf20f7791f42d (diff)
downloadgnutls-4da53c4a4380e4fe0cf676f432c61f9c164971f0.tar.gz
Merge branch 'aesni-xts' into 'master'
accelerated: use AES-NI for AES-XTS when available See merge request gnutls/gnutls!1244
Diffstat (limited to 'src')
-rw-r--r--src/benchmark-cipher.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/benchmark-cipher.c b/src/benchmark-cipher.c
index 26d2c63c22..03e1d45fef 100644
--- a/src/benchmark-cipher.c
+++ b/src/benchmark-cipher.c
@@ -153,6 +153,12 @@ static void cipher_bench(int algo, int size, int aead)
return;
memset(_key, 0xf0, keysize);
+ /* For AES-XTS, the block and tweak key must be different */
+ if (algo == GNUTLS_CIPHER_AES_128_XTS ||
+ algo == GNUTLS_CIPHER_AES_256_XTS) {
+ memset((uint8_t *)_key + (keysize / 2), 0x0f, (keysize / 2));
+ }
+
_iv = malloc(ivsize);
if (_iv == NULL) {
free(_key);
@@ -303,6 +309,8 @@ void benchmark_cipher(int debug_level)
printf("\nChecking ciphers, payload size: %u\n", size * 1024);
cipher_bench(GNUTLS_CIPHER_3DES_CBC, size, 0);
cipher_bench(GNUTLS_CIPHER_AES_128_CBC, size, 0);
+ cipher_bench(GNUTLS_CIPHER_AES_128_XTS, size, 0);
+ cipher_bench(GNUTLS_CIPHER_AES_256_XTS, size, 0);
cipher_bench(GNUTLS_CIPHER_SALSA20_256, size, 0);
cipher_bench(GNUTLS_CIPHER_NULL, size, 1);
#ifdef ENABLE_GOST