22 #ifndef __AES_XCBC_MAC_96_HEADER__ 23 #define __AES_XCBC_MAC_96_HEADER__ 25 #include "../cap/capdecl.h" 27 #if defined(__ENABLE_MOCANA_CRYPTO_INTERFACE__) 28 #include "../crypto_interface/crypto_interface_aes_xcbc_mac_96_priv.h" 35 #define AES_XCBC_MAC_96_RESULT_SIZE (12) 36 #define AES_XCBC_PRF_128_RESULT_SIZE (AES_BLOCK_SIZE) 38 typedef struct AES_XCBC_MAC_96_Ctx
40 aesCipherContext *pKeyAesCtx;
41 aesCipherContext *pAesCtx;
42 ubyte currBlock[AES_BLOCK_SIZE];
45 ubyte pending[AES_BLOCK_SIZE] ;
51 } AES_XCBC_MAC_96_Ctx, AES_XCBC_PRF_128_Ctx;
73 MOC_EXTERN MSTATUS
AES_XCBC_MAC_96_init(MOC_SYM(hwAccelDescr hwAccelCtx)
const ubyte keyMaterial[AES_BLOCK_SIZE],
74 AES_XCBC_MAC_96_Ctx* pCtx);
87 MOC_EXTERN MSTATUS
AES_XCBC_MAC_96_update(MOC_SYM(hwAccelDescr hwAccelCtx)
const ubyte* data, sbyte4 dataLength,
88 AES_XCBC_MAC_96_Ctx* pCtx);
102 MOC_EXTERN MSTATUS
AES_XCBC_MAC_96_final( MOC_SYM(hwAccelDescr hwAccelCtx) ubyte cmac[AES_XCBC_MAC_96_RESULT_SIZE],
103 AES_XCBC_MAC_96_Ctx* pCtx);
116 MOC_EXTERN MSTATUS
AES_XCBC_MAC_96_reset(MOC_SYM(hwAccelDescr hwAccelCtx) AES_XCBC_MAC_96_Ctx* pCtx);
136 AES_XCBC_PRF_128_Ctx* pCtx);
151 MOC_EXTERN MSTATUS
AES_XCBC_PRF_128_update(MOC_SYM(hwAccelDescr hwAccelCtx)
const ubyte* data, sbyte4 dataLength,
152 AES_XCBC_PRF_128_Ctx* pCtx);
153 #define AES_XCBC_PRF_128_update AES_XCBC_MAC_96_update 167 MOC_EXTERN MSTATUS
AES_XCBC_PRF_128_final( MOC_SYM(hwAccelDescr hwAccelCtx) ubyte cmac[AES_XCBC_PRF_128_RESULT_SIZE],
168 AES_XCBC_PRF_128_Ctx* pCtx);
183 #define AES_XCBC_PRF_128_reset AES_XCBC_MAC_96_reset 196 MOC_EXTERN MSTATUS
AES_XCBC_clear (MOC_SYM(hwAccelDescr hwAccelCtx) AES_XCBC_MAC_96_Ctx *pCtx);
MOC_EXTERN MSTATUS AES_XCBC_PRF_128_reset(MOC_SYM(hwAccelDescr hwAccelCtx) AES_XCBC_PRF_128_Ctx *pCtx)
Resets an AES_XCBC_PRF_128_Ctx context.
MOC_EXTERN MSTATUS AES_XCBC_PRF_128_update(MOC_SYM(hwAccelDescr hwAccelCtx) const ubyte *data, sbyte4 dataLength, AES_XCBC_PRF_128_Ctx *pCtx)
Updates the state of an AES_XCBC_PRF_128_Ctx context with data.
MOC_EXTERN MSTATUS AES_XCBC_MAC_96_reset(MOC_SYM(hwAccelDescr hwAccelCtx) AES_XCBC_MAC_96_Ctx *pCtx)
Resets an AES_XCBC_MAC_96_Ctx context.
MOC_EXTERN MSTATUS AES_XCBC_clear(MOC_SYM(hwAccelDescr hwAccelCtx) AES_XCBC_MAC_96_Ctx *pCtx)
Clears a AES_XCBC_MAC_96_Ctx or AES_XCBC_PRF_128_Ctx context.
MOC_EXTERN MSTATUS AES_XCBC_MAC_96_update(MOC_SYM(hwAccelDescr hwAccelCtx) const ubyte *data, sbyte4 dataLength, AES_XCBC_MAC_96_Ctx *pCtx)
Updates the state of an AES_XCBC_MAC_96_Ctx context with data.
MOC_EXTERN MSTATUS AES_XCBC_MAC_96_final(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte cmac[AES_XCBC_MAC_96_RESULT_SIZE], AES_XCBC_MAC_96_Ctx *pCtx)
Finalizes an AES_XCBC_MAC_96_Ctx and outputs the resulting 96 bit (12 byte) MAC.
MOC_EXTERN MSTATUS AES_XCBC_PRF_128_final(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte cmac[AES_XCBC_PRF_128_RESULT_SIZE], AES_XCBC_PRF_128_Ctx *pCtx)
Finalizes an AES_XCBC_PRF_128_Ctx and outputs the resulting 128 bit (16 byte) MAC.
MOC_EXTERN MSTATUS AES_XCBC_MAC_96_init(MOC_SYM(hwAccelDescr hwAccelCtx) const ubyte keyMaterial[AES_BLOCK_SIZE], AES_XCBC_MAC_96_Ctx *pCtx)
Initializes an AES_XCBC_MAC_96_Ctx context.
MOC_EXTERN MSTATUS AES_XCBC_PRF_128_init(MOC_SYM(hwAccelDescr hwAccelCtx) const ubyte keyMaterial[], sbyte4 keyLength, AES_XCBC_PRF_128_Ctx *pCtx)
Initializes an AES_XCBC_PRF_128_Ctx context.