| /* |
| * Copyright (c) 2024 Nuvoton Technology Corporation. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef _NUVOTON_NPCX_SOC_NCL_H_ |
| #define _NUVOTON_NPCX_SOC_NCL_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* The status code returns from Nuvoton Cryptographic Library ROM APIs */ |
| enum ncl_status { |
| NCL_STATUS_OK = 0xA5A5, |
| NCL_STATUS_FAIL = 0x5A5A, |
| NCL_STATUS_INVALID_PARAM = 0x02, |
| NCL_STATUS_PARAM_NOT_SUPPORTED = 0x03, |
| NCL_STATUS_SYSTEM_BUSY = 0x04, |
| NCL_STATUS_AUTHENTICATION_FAIL = 0x05, |
| NCL_STATUS_NO_RESPONSE = 0x06, |
| NCL_STATUS_HARDWARE_ERROR = 0x07 |
| }; |
| |
| enum ncl_sha_type { |
| NCL_SHA_TYPE_2_256 = 0, |
| NCL_SHA_TYPE_2_384 = 1, |
| NCL_SHA_TYPE_2_512 = 2, |
| NCL_SHA_TYPE_NUM |
| }; |
| |
| /* |
| * This enum defines the security strengths supported by this DRBG mechanism. |
| * The internally generated entropy and nonce sizes are derived from these |
| * values. The supported actual sizes: |
| * Security strength (bits) 112 128 192 256 128_Test 256_Test |
| * |
| * Entropy size (Bytes) 32 48 64 96 111 128 |
| * Nonce size (Bytes) 16 16 24 32 16 0 |
| */ |
| enum ncl_drbg_security_strength { |
| NCL_DRBG_SECURITY_STRENGTH_112B = 0, |
| NCL_DRBG_SECURITY_STRENGTH_128B, |
| NCL_DRBG_SECURITY_STRENGTH_192B, |
| NCL_DRBG_SECURITY_STRENGTH_256B, |
| NCL_DRBG_SECURITY_STRENGTH_128B_TEST, |
| NCL_DRBG_SECURITY_STRENGTH_256B_TEST, |
| NCL_DRBG_MAX_SECURITY_STRENGTH |
| }; |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* _NUVOTON_NPCX_SOC_NCL_H_ */ |