| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| |
| #ifndef OPENTITAN_SW_DEVICE_TESTS_ENTROPY_SRC_KAT_IMPL_H_ |
| #define OPENTITAN_SW_DEVICE_TESTS_ENTROPY_SRC_KAT_IMPL_H_ |
| |
| #include <stdbool.h> |
| |
| #include "sw/device/lib/dif/dif_entropy_src.h" |
| |
| /** |
| * Runs known answer test for the entropy_src SHA-3 conditioner. |
| * |
| * This test uses the following SHA3 CAVP test vector: |
| * |
| * Msg=a90d2aa5b241e1ca9dab5b6dc05c3e2c93fc5a2210a6315d60f9b791b36b560d70e135ef8e7dba9441b74e53dab0606b |
| * MD=4a16881ce156f45fdfdb45088e3f23be1b4c5a7a6a35315d36c51c75f275733319aca185d4ab33130ffe45f751f1bbc5 |
| * |
| * See: |
| * https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program/secure-hashing |
| * |
| * This test stops all the entropy blocks (entropy_src, csrng, edn0, edn1), and |
| * configures the entropy_src in firmware override mode to inject data into the |
| * conditioner and inspect its output. The test throws a test assertion on any |
| * failures. |
| * |
| * The caller should use one of the functions from the entropy_testutils module |
| * to configure the entropy blocks after running this test. |
| * |
| * @param entropy_src Entropy source handle. |
| */ |
| void entropy_src_kat_test(dif_entropy_src_t *entropy_src); |
| |
| #endif // OPENTITAN_SW_DEVICE_TESTS_ENTROPY_SRC_KAT_IMPL_H_ |