Mistake on this page?
Report an issue in GitHub or email us
Data Structures | Typedefs | Enumerations | Functions
ssi_aes.h File Reference

This file contains all of the enums and definitions that are used for the CryptoCell AES APIs, as well as the APIs themselves. More...

#include "ssi_pal_types.h"
#include "ssi_aes_error.h"
#include "ssi_aes_defs.h"

Go to the source code of this file.

Data Structures

struct  SaSiAesUserContext_t
struct  SaSiAesUserKeyData_t
struct  SaSiAesHwKeyData_t


typedef uint8_t SaSiAesIv_t[(4 *sizeof(uint32_t))]
typedef uint8_t SaSiAesKeyBuffer_t[(4 *sizeof(uint32_t))]
typedef struct SaSiAesUserContext_t SaSiAesUserContext_t
typedef struct SaSiAesUserKeyData_t SaSiAesUserKeyData_t
typedef struct SaSiAesHwKeyData_t SaSiAesHwKeyData_t



SaSiStatus SaSi_AesInit (SaSiAesUserContext_t *pContext, SaSiAesEncryptMode_t encryptDecryptFlag, SaSiAesOperationMode_t operationMode, SaSiAesPaddingType_t paddingType)
 This function is used to initialize an AES operation context. To operate the AES machine, this must be the first API called. More...
SaSiStatus SaSi_AesSetKey (SaSiAesUserContext_t *pContext, SaSiAesKeyType_t keyType, void *pKeyData, size_t keyDataSize)
 This function sets the key information for the AES operation, in the context that was initialized by SaSi_AesInit. More...
SaSiStatus SaSi_AesSetIv (SaSiAesUserContext_t *pContext, SaSiAesIv_t pIV)
 This function sets the IV, counter or tweak data for the following AES operation on the same context. The context must be first initialized by SaSi_AesInit. It must be called at least once prior to the first SaSi_AesBlock operation on the same context - for those ciphers that require it. If needed, it can also be called to override the IV in the middle of a sequence of SaSi_AesBlock operations. More...
SaSiStatus SaSi_AesGetIv (SaSiAesUserContext_t *pContext, SaSiAesIv_t pIV)
 This function retrieves the current IV, counter or tweak from the AES context. More...
SaSiStatus SaSi_AesBlock (SaSiAesUserContext_t *pContext, uint8_t *pDataIn, size_t dataInSize, uint8_t *pDataOut)
 This function performs an AES operation on an input data buffer, according to the configuration defined in the context parameter. It can be called as many times as needed, until all the input data is processed. SaSi_AesInit, SaSi_AesSetKey, and for some ciphers SaSi_AesSetIv, must be called before the first call to this API with the same context. More...
SaSiStatus SaSi_AesFinish (SaSiAesUserContext_t *pContext, size_t dataSize, uint8_t *pDataIn, size_t dataInBuffSize, uint8_t *pDataOut, size_t *dataOutBuffSize)
 This function is used to finish AES operation. More...
SaSiStatus SaSi_AesFree (SaSiAesUserContext_t *pContext)
 This function releases and crears resources after AES operations. More...

Detailed Description

This file contains all of the enums and definitions that are used for the CryptoCell AES APIs, as well as the APIs themselves.

Definition in file ssi_aes.h.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.