security_trng
TRNG (True Random Number Generator) 提供硬件随机数生成功能,支持获取 uint32_t 类型随机数和指定字节长度的随机数。
头文件清单
接口清单
| 接口名称 | 功能简述 |
|---|---|
| uapi_drv_cipher_trng_get_random | 获取硬件随机数 |
| uapi_drv_cipher_trng_get_random_bytes | 获取指定大小的硬件随机数 |
Functions
uapi_drv_cipher_trng_get_random
头文件清单
功能说明
- 获取硬件随机数
- 生成 uint32_t 类型大小的随机数
- 生成其他大小的随机数需要循环调用该接口
前置条件
- 调用时序约束:当前接口必须在 TRNG 模块初始化完成后调用
- 依赖关系:当前接口依赖 CONFIG_SECURITY_UNIFIED_SUPPORT_TRNG 配置已开启
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| randnum | uint32_t * | 由调用方分配内存,函数填充生成的 uint32_t 类型随机数,不可为 NULL |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 获取硬件随机数成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_SECURITY_UNIFIED_SUPPORT_TRNG | 功能宏 | 支持 TRNG 接口功能 | n |
uapi_drv_cipher_trng_get_random_bytes
头文件清单
功能说明
- 获取指定大小的硬件随机数
- 通过 size 参数指定需要生成的随机数字节长度
- 随机数写入 randnum 指向的缓冲区
前置条件
- 调用时序约束:当前接口必须在 TRNG 模块初始化完成后调用
- 依赖关系:当前接口依赖 CONFIG_SECURITY_UNIFIED_SUPPORT_TRNG 配置已开启
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| size | uint32_t | 生成随机数的大小 | 1 ~ 4294967295 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| randnum | uint8_t * | 由调用方分配内存,函数填充生成的指定字节长度随机数,缓冲区大小不小于 size,不可为 NULL |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 获取硬件随机数成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_SECURITY_UNIFIED_SUPPORT_TRNG | 功能宏 | 支持 TRNG 接口功能 | n |
Type definitions
errcode_t
使用说明
作为 uapi_drv_cipher_trng_get_random 和 uapi_drv_cipher_trng_get_random_bytes 的返回值类型 [SDK公共基础类型]