Software APIs
Data Fields
aes_key Struct Reference

Represents an AES key. More...

#include <sw/device/lib/crypto/drivers/aes.h>

Data Fields

aes_cipher_mode_t mode
 Block cipher mode for which the key is intended.
 
hardened_bool_t sideload
 Whether the key is sideloaded.
 
size_t key_len
 The length of the key (in 32-bit words).
 
const uint32_t * key_shares [2]
 The key, split into two shares. More...
 

Detailed Description

Represents an AES key.

The key may be provided by software as two shares, or it may be a sideloaded key that is produced by the keymgr and not visible to software.

Definition at line 51 of file aes.h.

Field Documentation

◆ key_len

size_t aes_key::key_len

The length of the key (in 32-bit words).

Definition at line 65 of file aes.h.

◆ key_shares

const uint32_t* aes_key::key_shares[2]

The key, split into two shares.

The actual key will be formed by XORing both keys together.

Neither entry may be null. If a non-shared key is desired, one of the two pointers should be pointed to an array of zero-valued words of sufficient length.

Definition at line 75 of file aes.h.

◆ mode

aes_cipher_mode_t aes_key::mode

Block cipher mode for which the key is intended.

Definition at line 55 of file aes.h.

◆ sideload

hardened_bool_t aes_key::sideload

Whether the key is sideloaded.

Definition at line 60 of file aes.h.