nrfxlib API 0.1.0
Loading...
Searching...
No Matches
nrf_cc3xx_platform kmu APIs

The nrf_cc3xx_platform_kmu APIs provides RTOS integration for storing keys in KMU hardware peripherals. More...

Data Structures

union  nrf_cc3xx_platform_key_buff_t
 Union type holding the key material to be loaded in the CryptoCell. More...
 

Macros

#define NRF_CC3XX_PLATFORM_KMU_DEFAULT_PERMISSIONS   (0xFFFFFFFCUL)
 Constant value representing the default permission to use when writing a key to KMU.
 
#define NRF_CC3XX_PLATFORM_KMU_IDENTITY_KEY_PERMISSIONS   (0xFFFFFFFAUL)
 Constant value representing the permission to use when writing an indentity_key to KMU.
 
#define NRF_CC3XX_PLATFORM_KMU_AES_ADDR   (0x50845400UL)
 
#define NRF_CC3XX_PLATFORM_KMU_AES_ADDR_1   (0x50845400UL)
 
#define NRF_CC3XX_PLATFORM_KMU_AES_ADDR_2   (0x50845410UL)
 
#define NRF_CC3XX_PLATFORM_KMU_CHACHAPOLY_ADDR   (0x50845388UL)
 Address of the ChaChaPoly key register in CryptoCell for 128 bit keys.
 
#define NRF_CC3XX_PLATFORM_KMU_CHACHAPOLY_ADDR1   (0x50845388UL)
 
#define NRF_CC3XX_PLATFORM_KMU_CHACHAPOLY_ADDR2   (0x50845398UL)
 

Enumerations

enum  nrf_cc3xx_platform_key_type_t { NRF_CC3XX_PLATFORM_KEY_TYPE_KDR_AES_128_BIT = 0 , NRF_CC3XX_PLATFORM_KEY_TYPE_CHACHAPOLY_256_BIT = 1 , NRF_CC3XX_PLATFORM_KEY_TYPE_AES_128_BIT = 2 , NRF_CC3XX_PLATFORM_KEY_TYPE_AES_256_BIT = 3 }
 Enumeration type listing the key types which support the CryptoCell push operation. More...
 

Functions

int nrf_cc3xx_platform_kmu_write_key (uint32_t slot_id, nrf_cc3xx_platform_key_type_t key_type, nrf_cc3xx_platform_key_buff_t key_buff)
 Write a key into the KMU.
 
int nrf_cc3xx_platform_kmu_write_key_slot (uint32_t slot_id, uint32_t key_addr, uint32_t key_perm, const uint8_t key[16])
 Write a 128 bit key into a KMU slot.
 
int nrf_cc3xx_platform_kdr_load_key (uint8_t key[16])
 Load a unique 128 bit root key into CryptoCell KDR registers and set CryptoCell LCS state to secure.
 
int nrf_cc3xx_platform_kmu_shadow_key_derive (uint32_t slot_id, unsigned int keybits, uint8_t const *label, size_t label_size, uint8_t const *context, size_t context_size, uint8_t *output, size_t output_size)
 Function to use CMAC to derive a key stored in KMU/KDR.
 

Detailed Description

The nrf_cc3xx_platform_kmu APIs provides RTOS integration for storing keys in KMU hardware peripherals.