21 #ifndef __AES_CMAC_HEADER__ 22 #define __AES_CMAC_HEADER__ 24 #include "../cap/capdecl.h" 26 #ifdef __ENABLE_MOCANA_CRYPTO_INTERFACE__ 27 #include "../crypto_interface/crypto_interface_aes_cmac_priv.h" 34 #define CMAC_RESULT_SIZE AES_BLOCK_SIZE 36 typedef struct AES_OMAC_Ctx
38 ubyte currBlock[AES_BLOCK_SIZE];
41 ubyte pending[AES_BLOCK_SIZE] ;
46 typedef struct AESCMAC_Ctx
48 aesCipherContext *pAesCtx;
118 MOC_EXTERN MSTATUS
AESCMAC_init(MOC_SYM(hwAccelDescr hwAccelCtx)
const ubyte *pKeyMaterial, sbyte4 keyLength, AESCMAC_Ctx *pCtx);
169 MOC_EXTERN MSTATUS
AESCMAC_update(MOC_SYM(hwAccelDescr hwAccelCtx)
const ubyte* pData, sbyte4 dataLength, AESCMAC_Ctx* pCtx);
215 MOC_EXTERN MSTATUS
AESCMAC_final(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte cmac[CMAC_RESULT_SIZE], AESCMAC_Ctx* pCtx);
240 MOC_EXTERN MSTATUS
AESCMAC_clear(MOC_SYM(hwAccelDescr hwAccelCtx) AESCMAC_Ctx* pCtx);
245 MOC_EXTERN MSTATUS AESCMAC_initExt(MOC_SYM(hwAccelDescr hwAccelCtx)
const ubyte *pKeyMaterial, sbyte4 keyLength, AESCMAC_Ctx *pCtx,
void *pExtCtx);
246 MOC_EXTERN MSTATUS AESCMAC_updateExt(MOC_SYM(hwAccelDescr hwAccelCtx)
const ubyte* pData, sbyte4 dataLength, AESCMAC_Ctx* pCtx,
void *pExtCtx);
247 MOC_EXTERN MSTATUS AESCMAC_finalExt(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte cmac[CMAC_RESULT_SIZE], AESCMAC_Ctx* pCtx,
void *pExtCtx);
250 MOC_EXTERN MSTATUS AES_OMAC_init(AES_OMAC_Ctx* pOMACCtx);
251 MOC_EXTERN MSTATUS AES_OMAC_update(MOC_SYM(hwAccelDescr hwAccelCtx) aesCipherContext* pAESCtx, AES_OMAC_Ctx* pOMACCtx,
const ubyte* data, sbyte4 dataLength);
252 MOC_EXTERN MSTATUS AES_OMAC_final( MOC_SYM(hwAccelDescr hwAccelCtx) aesCipherContext* pAESCtx, AES_OMAC_Ctx* pOMACCtx, ubyte cmac[CMAC_RESULT_SIZE]);
MOC_EXTERN MSTATUS AESCMAC_clear(MOC_SYM(hwAccelDescr hwAccelCtx) AESCMAC_Ctx *pCtx)
Clear an existing AES-CMAC context so it is ready for re-use.
MOC_EXTERN MSTATUS AESCMAC_update(MOC_SYM(hwAccelDescr hwAccelCtx) const ubyte *pData, sbyte4 dataLength, AESCMAC_Ctx *pCtx)
Calcluate intermediate AES-CMAC digest value.
MOC_EXTERN MSTATUS AESCMAC_final(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte cmac[CMAC_RESULT_SIZE], AESCMAC_Ctx *pCtx)
Calculate final CMAC digest value.
MOC_EXTERN MSTATUS AESCMAC_init(MOC_SYM(hwAccelDescr hwAccelCtx) const ubyte *pKeyMaterial, sbyte4 keyLength, AESCMAC_Ctx *pCtx)
Initialize a context data structure for AES-CMAC hash and prepare the key schedule.