指定用于 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 密钥槽派生密钥。更多... | |
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 密钥槽派生密钥。
[输入] | keyslot | 指向 128 位输入密钥(SE 密钥槽)的指针。 |
[输入] | key_len | 输入密钥的长度(字节)。 |
[输入] | *context | 指向 NIST-SP-800-108 上下文字符串的指针。 |
[输入] | *label | 指向 NIST-SP-800-108 标签字符串的指针。 |
[输入] | dk_len | 派生密钥的长度(字节);可以是 16(128 位)或 16 的任意倍数。 |
[输出] | *out_dk | 指向派生密钥的指针。函数将其结果存储在此位置。 |
被 key_mgnt_derive_root_keys() 和 tegra_se_nist_800_108_kdf_self_test() 引用。