]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
benchmark: enable AES-XTS cipher
authorAnderson Toshiyuki Sasaki <ansasaki@redhat.com>
Tue, 5 May 2020 17:27:59 +0000 (19:27 +0200)
committerAnderson Toshiyuki Sasaki <ansasaki@redhat.com>
Wed, 6 May 2020 08:12:32 +0000 (10:12 +0200)
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
src/benchmark-cipher.c

index 26d2c63c223965720c4059bb87ff39b27924a456..03e1d45fef55556f0f3e21bb530d35a933441ebf 100644 (file)
@@ -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