security_pal.c File Reference
#include "security_pal.h"
#include "device_registers.h"

Go to the source code of this file.

Functions

static status_t SecurityAllocateInstance (bool *isAllocated, security_instance_t *instList, security_instance_t instId, uint32_t numberOfInst)
 
static status_t SecurityFreeInstance (bool *isAllocated, const security_instance_t *instList, security_instance_t instId, uint32_t numberOfInst)
 
static status_t SecurityGetInstance (const bool *isAllocated, const security_instance_t *instList, security_instance_t instId, uint32_t numberOfInst, uint32_t *retInstId)
 
status_t SECURITY_Init (security_instance_t instance, const security_user_config_t *config)
 Initializes the SECURITY module. More...
 
status_t SECURITY_Deinit (security_instance_t instance)
 De-initializes the SECURITY module. More...
 
status_t SECURITY_EncryptEcbBlocking (security_instance_t instance, security_key_id_t keyId, const uint8_t *plainText, uint32_t msgLen, uint8_t *cipherText, uint32_t timeout)
 ECB Encryption. More...
 
status_t SECURITY_DecryptEcbBlocking (security_instance_t instance, security_key_id_t keyId, const uint8_t *cipherText, uint32_t msgLen, uint8_t *plainText, uint32_t timeout)
 ECB Decryption. More...
 
status_t SECURITY_EncryptCbcBlocking (security_instance_t instance, security_key_id_t keyId, const uint8_t *plainText, uint32_t msgLen, const uint8_t *iv, uint8_t *cipherText, uint32_t timeout)
 CBC Decryption. More...
 
status_t SECURITY_DecryptCbcBlocking (security_instance_t instance, security_key_id_t keyId, const uint8_t *cipherText, uint32_t msgLen, const uint8_t *iv, uint8_t *plainText, uint32_t timeout)
 CBC Decryption. More...
 
status_t SECURITY_GenerateMacBlocking (security_instance_t instance, security_key_id_t keyId, const uint8_t *msg, uint64_t msgLen, uint8_t *cmac, uint32_t timeout)
 MAC Generation. More...
 
status_t SECURITY_VerifyMacBlocking (security_instance_t instance, security_key_id_t keyId, const uint8_t *msg, uint64_t msgLen, const uint8_t *mac, uint16_t macLen, bool *verifStatus, uint32_t timeout)
 MAC Verification. More...
 
status_t SECURITY_LoadKey (security_instance_t instance, security_key_id_t keyId, const uint8_t *m1, const uint8_t *m2, const uint8_t *m3, uint8_t *m4, uint8_t *m5, uint32_t timeout)
 Load Key. More...
 
status_t SECURITY_LoadPlainKey (security_instance_t instance, const uint8_t *plainKey, uint32_t timeout)
 Load Plain Key. More...
 
status_t SECURITY_ExportRamKey (security_instance_t instance, uint8_t *m1, uint8_t *m2, uint8_t *m3, uint8_t *m4, uint8_t *m5, uint32_t timeout)
 Export RAM key. More...
 
status_t SECURITY_ExtendSeed (security_instance_t instance, const uint8_t *entropy, uint32_t timeout)
 Initialize Random Number Generator. More...
 
status_t SECURITY_InitRng (security_instance_t instance, uint32_t timeout)
 Initialize Random Number Generator. More...
 
status_t SECURITY_GenerateRnd (security_instance_t instance, uint8_t *rnd, uint32_t timeout)
 Generate RND. More...
 
status_t SECURITY_GetId (security_instance_t instance, const uint8_t *challenge, uint8_t *uid, uint8_t *sreg, uint8_t *mac, uint32_t timeout)
 Get ID. More...
 
status_t SECURITY_SecureBoot (security_instance_t instance, uint32_t bootImageSize, const uint8_t *bootImagePtr, uint32_t timeout)
 Secure boot. More...
 
status_t SECURITY_BootFailure (security_instance_t instance, uint32_t timeout)
 Boot Failure. More...
 
status_t SECURITY_BootOk (security_instance_t instance, uint32_t timeout)
 Boot Ok. More...
 
status_t SECURITY_BootDefine (security_instance_t instance, uint32_t bootSize, security_boot_flavor_t bootFlavor, uint32_t timeout)
 Boot Define. More...
 
status_t SECURITY_DbgChal (security_instance_t instance, uint8_t *challenge, uint32_t timeout)
 Debug Challenge. More...
 
status_t SECURITY_DbgAuth (security_instance_t instance, const uint8_t *authorization, uint32_t timeout)
 Debug Authentification. More...
 
status_t SECURITY_MPCompress (security_instance_t instance, const uint8_t *msg, uint32_t msgLen, uint8_t *mpCompress, uint32_t timeout)
 Miyaguchi-Prenell Compression. More...
 
status_t SECURITY_GenerateTrnd (security_instance_t instance, uint8_t *trnd, uint32_t timeout)
 Generate True Random Number. More...
 
status_t SECURITY_CancelCommand (security_instance_t instance)
 Cancel Command. More...
 
status_t SECURITY_GetAsyncCmdStatus (security_instance_t instance)
 Get asynchronous command status. More...
 
status_t SECURITY_EncryptEcb (security_instance_t instance, security_key_id_t keyId, const uint8_t *plainText, uint32_t msgLen, uint8_t *cipherText)
 Encrypt ECB. More...
 
status_t SECURITY_DecryptEcb (security_instance_t instance, security_key_id_t keyId, const uint8_t *cipherText, uint32_t msgLen, uint8_t *plainText)
 Decrypt ECB. More...
 
status_t SECURITY_EncryptCbc (security_instance_t instance, security_key_id_t keyId, const uint8_t *plainText, uint32_t msgLen, const uint8_t *iv, uint8_t *cipherText)
 Encrypt CBC. More...
 
status_t SECURITY_DecryptCbc (security_instance_t instance, security_key_id_t keyId, const uint8_t *cipherText, uint32_t msgLen, const uint8_t *iv, uint8_t *plainText)
 Decrypt CBC. More...
 
status_t SECURITY_GenerateMac (security_instance_t instance, security_key_id_t keyId, const uint8_t *msg, uint64_t msgLen, uint8_t *cmac)
 Generate MAC. More...
 
status_t SECURITY_VerifyMac (security_instance_t instance, security_key_id_t keyId, const uint8_t *msg, uint64_t msgLen, const uint8_t *mac, uint16_t macLen, bool *verifStatus)
 Verify MAC. More...
 

Function Documentation

static status_t SecurityAllocateInstance ( bool *  isAllocated,
security_instance_t instList,
security_instance_t  instId,
uint32_t  numberOfInst 
)
static

Definition at line 76 of file security_pal.c.

static status_t SecurityFreeInstance ( bool *  isAllocated,
const security_instance_t instList,
security_instance_t  instId,
uint32_t  numberOfInst 
)
static

Definition at line 102 of file security_pal.c.

static status_t SecurityGetInstance ( const bool *  isAllocated,
const security_instance_t instList,
security_instance_t  instId,
uint32_t  numberOfInst,
uint32_t *  retInstId 
)
static

Definition at line 127 of file security_pal.c.