|
Jetson Linux API Reference
|
35.1 Release
|
Go to the documentation of this file.
35 #ifndef __TEGRA_SE_H__
36 #define __TEGRA_SE_H__
38 #include <tegra_se_internal.h>
175 size_t fv_len, uint32_t keyslot);
187 int se_write_keyslot(uint8_t *key_in, uint32_t keylen, uint32_t key_quad_sel, uint32_t keyslot);
uint32_t se_derive_root_key(uint8_t *root_key, size_t root_key_len, uint8_t *fv, size_t fv_len, uint32_t keyslot)
void tegra_se_cmac_free(se_cmac_ctx *se_cmac)
Frees an SE CMAC context.
int tegra_se_cmac_final(se_cmac_ctx *se_cmac, uint8_t *out, uint32_t *poutlen)
Finalizes a SE CMAC.
int tegra_se_cmac_init(se_cmac_ctx *se_cmac, se_aes_keyslot_t keyslot, uint32_t keylen)
Initialize the SE CMAC from a user-provided key.
se_cmac_ctx * tegra_se_cmac_new(void)
Creates an SE CMAC context.
uint32_t se_acquire(void)
int se_write_keyslot(uint8_t *key_in, uint32_t keylen, uint32_t key_quad_sel, uint32_t keyslot)
struct tegra_se_cmac_context se_cmac_ctx
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)
A hardware-based NIST-SP-800-108 KDF; derives keys from the SE keyslot.
int tegra_se_cmac_update(se_cmac_ctx *se_cmac, void *data, uint32_t dlen)
Caches input data in an SE CMAC.
uint32_t se_clear_aes_keyslots(void)