From cec78e1093fe42994dce51420a33966db4600e3a Mon Sep 17 00:00:00 2001 From: qqwang Date: Fri, 25 Jun 2021 17:39:08 +0800 Subject: [PATCH] [feat][sec] add sec trng driver --- drivers/bl702_driver/hal_drv/inc/hal_sec_ecdsa.h | 3 +++ drivers/bl702_driver/hal_drv/src/hal_sec_ecdsa.c | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/drivers/bl702_driver/hal_drv/inc/hal_sec_ecdsa.h b/drivers/bl702_driver/hal_drv/inc/hal_sec_ecdsa.h index f7e286d5..d8e1f987 100644 --- a/drivers/bl702_driver/hal_drv/inc/hal_sec_ecdsa.h +++ b/drivers/bl702_driver/hal_drv/inc/hal_sec_ecdsa.h @@ -55,5 +55,8 @@ int sec_ecdh_deinit(sec_ecdh_handle_t *handle); int sec_ecdh_get_encrypt_key(sec_ecdh_handle_t *handle, const uint32_t *pkX, const uint32_t *pkY, const uint32_t *private_key, const uint32_t *pRx, const uint32_t *pRy); int sec_ecdh_get_public_key(sec_ecdh_handle_t *handle, const uint32_t *private_key, const uint32_t *pRx, const uint32_t *pRy); int sec_ecc_get_random_value(uint32_t *randomData, uint32_t *maxRef, uint32_t size); +int sec_eng_trng_enable(void); +void sec_eng_trng_disable(void); +int sec_eng_trng_read(uint8_t data[32]); #endif \ No newline at end of file diff --git a/drivers/bl702_driver/hal_drv/src/hal_sec_ecdsa.c b/drivers/bl702_driver/hal_drv/src/hal_sec_ecdsa.c index 3a945c37..6965b488 100644 --- a/drivers/bl702_driver/hal_drv/src/hal_sec_ecdsa.c +++ b/drivers/bl702_driver/hal_drv/src/hal_sec_ecdsa.c @@ -1204,6 +1204,21 @@ int sec_ecc_get_random_value(uint32_t *randomData, uint32_t *maxRef, uint32_t si return -1; } +int sec_eng_trng_enable(void) +{ + return Sec_Eng_Trng_Enable(); +} + +void sec_eng_trng_disable(void) +{ + Sec_Eng_Trng_Disable(); +} + +int sec_eng_trng_read(uint8_t data[32]) +{ + return Sec_Eng_Trng_Read(data); +} + int sec_ecdh_init(sec_ecdh_handle_t *handle, sec_ecp_type id) { Sec_Eng_PKA_Reset();