Jetson Linux API 参考

32.7.4 版本
NIST 800-108 密钥定义函数

详细描述

指定用于 NIST 800-108 密钥定义函数的 API。

Jetson Linux 提供了两个函数来实现 NIST-SP 800-108 中定义的计数器模式 KDF。一个是基于硬件的,另一个是基于软件的。两者都仅在运行时使用,这与仅在启动时使用的 AES-CMAC 函数形成对比。

有关 NIST-SP 800-108 的架构及其使用的概念的更多信息,请参阅 NIST 特别出版物 800-108,《使用伪随机函数的密钥派生建议》。

函数

int se_nist_sp_800_108_with_cmac (se_aes_keyslot_t keyslot, uint32_t key_len, char const *context, char const *label, uint32_t dk_len, uint8_t *out_dk)
 基于硬件的 NIST-SP-800-108 KDF;从 SE 密钥槽派生密钥。更多...
 

函数文档

◆ se_nist_sp_800_108_with_cmac()

int se_nist_sp_800_108_with_cmac ( se_aes_keyslot_t  keyslot,
uint32_t  key_len,
char const *  context,
char const *  label,
uint32_t  dk_len,
uint8_t *  out_dk 
)

基于硬件的 NIST-SP-800-108 KDF;从 SE 密钥槽派生密钥。

注意
仅在启动时(设备启动阶段)的 Trusty 初始化期间使用此函数。要在运行时从密钥缓冲区派生密钥,请使用 nist_sp_800_with_cmac()。
参数
[输入]keyslot指向 128 位输入密钥(SE 密钥槽)的指针。
[输入]key_len输入密钥的长度(字节)。
[输入]*context指向 NIST-SP-800-108 上下文字符串的指针。
[输入]*label指向 NIST-SP-800-108 标签字符串的指针。
[输入]dk_len派生密钥的长度(字节);可以是 16(128 位)或 16 的任意倍数。
[输出]*out_dk指向派生密钥的指针。函数将其结果存储在此位置。
返回值
如果成功,则返回 NO_ERROR;如果内存不足,则返回 ERR_NO_MEMORY。

key_mgnt_derive_root_keys()tegra_se_nist_800_108_kdf_self_test() 引用。

. All rights reserved.