| // 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_LIB_CRYPTO_IMPL_INTEGRITY_CHECK_H_ | |
| #define OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_INTEGRITY_CHECK_H_ | |
| #include <stddef.h> | |
| #include <stdint.h> | |
| #include "sw/device/lib/base/hardened.h" | |
| #include "sw/device/lib/base/macros.h" | |
| #include "sw/device/lib/crypto/include/datatypes.h" | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif // __cplusplus | |
| /** | |
| * Perform an integrity check on the unblinded key. | |
| * | |
| * Returns `kHardenedBoolTrue` if the check passed and `kHardenedBoolFalse` | |
| * otherwise. | |
| * | |
| * @param key Unblinded key. | |
| * @returns Whether the integrity check passed. | |
| */ | |
| OT_WARN_UNUSED_RESULT | |
| hardened_bool_t unblinded_key_integrity_check( | |
| const crypto_unblinded_key_t *key); | |
| /** | |
| * Perform an integrity check on the blinded key. | |
| * | |
| * Returns `kHardenedBoolTrue` if the check passed and `kHardenedBoolFalse` | |
| * otherwise. | |
| * | |
| * @param key Blinded key. | |
| * @returns Whether the integrity check passed. | |
| */ | |
| OT_WARN_UNUSED_RESULT | |
| hardened_bool_t blinded_key_integrity_check(const crypto_blinded_key_t *key); | |
| #ifdef __cplusplus | |
| } // extern "C" | |
| #endif // __cplusplus | |
| #endif // OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_INTEGRITY_CHECK_H_ |