Jetson Linux API Reference

32.7.4 Release
tegra_se.h File Reference

Detailed Description

AES-256 hardware key definition functions

Description: This file specifies AES-256 hardware key definition functions.

There are two groups of functions:

  • Hardware-based AES-CMAC functions, for use only at boot time
  • NIST-SP 800-108 key definition functions, for use (with the respective function) at either boot time or run time.

Definition in file tegra_se.h.

Go to the source code of this file.

Typedefs

typedef struct tegra_se_cmac_context se_cmac_ctx
 

Functions

uint32_t se_acquire (void)
 
void se_release (void)
 
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)
 
int se_write_keyslot (uint8_t *key_in, uint32_t keylen, uint32_t key_quad_sel, uint32_t keyslot)
 
uint32_t se_clear_aes_keyslots (void)
 
se_cmac_ctxtegra_se_cmac_new (void)
 Creates an SE CMAC context. More...
 
void tegra_se_cmac_free (se_cmac_ctx *se_cmac)
 Frees an SE CMAC context. More...
 
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. More...
 
int tegra_se_cmac_update (se_cmac_ctx *se_cmac, void *data, uint32_t dlen)
 Caches input data in an SE CMAC. More...
 
int tegra_se_cmac_final (se_cmac_ctx *se_cmac, uint8_t *out, uint32_t *poutlen)
 Finalizes a SE CMAC. More...
 
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. More...