Adjust length of some strncpy() calls
[openssl.git] / test / modes_internal_test.c
index 3fd0498b8b71f1375b29ec4368de5924e5b42135..dd0a35956fc06372a75d4e1d4cd665f06d0815ae 100644 (file)
@@ -1,7 +1,7 @@
 /*
- * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
  *
- * Licensed under the OpenSSL license (the "License").  You may not use
+ * Licensed under the Apache License 2.0 (the "License").  You may not use
  * this file except in compliance with the License.  You can obtain a copy
  * in the file LICENSE in the source distribution or at
  * https://www.openssl.org/source/license.html
@@ -9,14 +9,20 @@
 
 /* Internal tests for the modes module */
 
+/*
+ * This file uses the low level AES functions (which are deprecated for
+ * non-internal use) in order to test the modes code
+ */
+#include "internal/deprecated.h"
+
 #include <stdio.h>
 #include <string.h>
 
 #include <openssl/aes.h>
 #include <openssl/modes.h>
-#include "../crypto/modes/modes_lcl.h"
 #include "testutil.h"
-#include <internal/nelem.h>
+#include "crypto/modes.h"
+#include "internal/nelem.h"
 
 typedef struct {
     size_t size;
@@ -99,7 +105,7 @@ static const SIZED_DATA aes_cts128_vectors[] = {
     CTS128_TEST_VECTOR(64),
 };
 
-static AES_KEY *cts128_encrypt_key_schedule()
+static AES_KEY *cts128_encrypt_key_schedule(void)
 {
     static int init_key = 1;
     static AES_KEY ks;
@@ -111,7 +117,7 @@ static AES_KEY *cts128_encrypt_key_schedule()
     return &ks;
 }
 
-static AES_KEY *cts128_decrypt_key_schedule()
+static AES_KEY *cts128_decrypt_key_schedule(void)
 {
     static int init_key = 1;
     static AES_KEY ks;
@@ -883,75 +889,10 @@ static int test_gcm128(int idx)
     return 1;
 }
 
-static void benchmark_gcm128(const unsigned char *K, size_t Klen,
-                             const unsigned char *IV, size_t IVlen)
-{
-#ifdef OPENSSL_CPUID_OBJ
-    GCM128_CONTEXT ctx;
-    AES_KEY key;
-    size_t start, gcm_t, ctr_t, OPENSSL_rdtsc();
-    union {
-        u64 u;
-        u8 c[1024];
-    } buf;
-
-    AES_set_encrypt_key(K, Klen * 8, &key);
-    CRYPTO_gcm128_init(&ctx, &key, (block128_f) AES_encrypt);
-    CRYPTO_gcm128_setiv(&ctx, IV, IVlen);
-
-    CRYPTO_gcm128_encrypt(&ctx, buf.c, buf.c, sizeof(buf));
-    start = OPENSSL_rdtsc();
-    CRYPTO_gcm128_encrypt(&ctx, buf.c, buf.c, sizeof(buf));
-    gcm_t = OPENSSL_rdtsc() - start;
-
-    CRYPTO_ctr128_encrypt(buf.c, buf.c, sizeof(buf),
-                          &key, ctx.Yi.c, ctx.EKi.c, &ctx.mres,
-                          (block128_f) AES_encrypt);
-    start = OPENSSL_rdtsc();
-    CRYPTO_ctr128_encrypt(buf.c, buf.c, sizeof(buf),
-                          &key, ctx.Yi.c, ctx.EKi.c, &ctx.mres,
-                          (block128_f) AES_encrypt);
-    ctr_t = OPENSSL_rdtsc() - start;
-
-    printf("%.2f-%.2f=%.2f\n",
-           gcm_t / (double)sizeof(buf),
-           ctr_t / (double)sizeof(buf),
-           (gcm_t - ctr_t) / (double)sizeof(buf));
-# ifdef GHASH
-    {
-        void (*gcm_ghash_p) (u64 Xi[2], const u128 Htable[16],
-                             const u8 *inp, size_t len) = ctx.ghash;
-
-        GHASH((&ctx), buf.c, sizeof(buf));
-        start = OPENSSL_rdtsc();
-        for (i = 0; i < 100; ++i)
-            GHASH((&ctx), buf.c, sizeof(buf));
-        gcm_t = OPENSSL_rdtsc() - start;
-        printf("%.2f\n", gcm_t / (double)sizeof(buf) / (double)i);
-    }
-# endif
-#else
-    fprintf(stderr,
-            "Benchmarking of modes isn't available on this platform\n");
-#endif
-}
-
 int setup_tests(void)
 {
-    if (test_has_option("-h")) {
-        printf("-h\tThis help\n");
-        printf("-b\tBenchmark gcm128 in addition to the tests\n");
-        return 1;
-    }
-
     ADD_ALL_TESTS(test_aes_cts128, OSSL_NELEM(aes_cts128_vectors));
     ADD_ALL_TESTS(test_aes_cts128_nist, OSSL_NELEM(aes_cts128_vectors));
     ADD_ALL_TESTS(test_gcm128, OSSL_NELEM(gcm128_vectors));
     return 1;
 }
-
-void cleanup_tests(void)
-{
-    if (test_has_option("-b"))
-        benchmark_gcm128(K1, sizeof(K1), IV1, sizeof(IV1));
-}