blob: 7c56cb62c5a2a65e4293858d0962315c2bfe5d3f [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
#include "sw/device/lib/base/macros.h"
#include "sw/device/lib/runtime/log.h"
#include "sw/device/lib/testing/test_framework/ottf_main.h"
#include "sw/device/tests/crypto/aes_gcm_testutils.h"
#include "sw/device/tests/crypto/aes_gcm_testvectors.h"
OTTF_DEFINE_TEST_CONFIG();
bool test_main(void) {
for (size_t i = 0; i < ARRAYSIZE(kAesGcmTestvectors); i++) {
LOG_INFO("Starting AES-GCM test %d of %d...", i + 1,
ARRAYSIZE(kAesGcmTestvectors));
const aes_gcm_test_t test = kAesGcmTestvectors[i];
// Call AES-GCM encrypt.
uint32_t cycles = call_aes_gcm_encrypt(test);
// Call AES-GCM decrypt.
cycles = call_aes_gcm_decrypt(test, /*tag_valid=*/true);
LOG_INFO("Finished AES-GCM test %d.", i + 1);
}
return true;
}