diff options
author | Daiki Ueno <ueno@gnu.org> | 2020-05-08 14:42:17 +0000 |
---|---|---|
committer | Daiki Ueno <ueno@gnu.org> | 2020-05-08 14:42:17 +0000 |
commit | 4da53c4a4380e4fe0cf676f432c61f9c164971f0 (patch) | |
tree | 4a060983c481f4bbf139115548f45aae3b1d6b18 /src | |
parent | 61d4e7471f098832833a72ed9cd432b4e61a76b5 (diff) | |
parent | 6c652cb40861722fb3a469ab217cf20f7791f42d (diff) | |
download | gnutls-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.c | 8 |
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 |