TrustCore SDK Crypto Interface API reference  version 2.0
crypto_interface_aes_xcbc_mac_96.h
Go to the documentation of this file.
1 /*
2  * crypto_interface_aes_xcbc_mac_96.h
3  *
4  * Cryptographic Interface header file for declaring AES-XCBC functions
5  * for the Crypto Interface.
6  *
7  * Copyright 2019-2024 DigiCert, Inc. All Rights Reserved.
8  * Proprietary and Confidential Material.
9  *
10  */
11 
19 #ifndef __CRYPTO_INTERFACE_AES_XCBC_MAC_96_HEADER__
20 #define __CRYPTO_INTERFACE_AES_XCBC_MAC_96_HEADER__
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
39 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_AES_XCBC_MAC_96_init(
40  MOC_SYM(hwAccelDescr hwAccelCtx)
41  const ubyte pKeyMaterial[16],
42  AES_XCBC_MAC_96_Ctx *pCtx
43  );
44 
60  MOC_SYM(hwAccelDescr hwAccelCtx)
61  const ubyte *pData,
62  sbyte4 dataLength,
63  AES_XCBC_MAC_96_Ctx *pCtx
64  );
65 
78  MOC_SYM(hwAccelDescr hwAccelCtx)
79  ubyte pCmac[12],
80  AES_XCBC_MAC_96_Ctx *pCtx
81  );
82 
95  MOC_SYM(hwAccelDescr hwAccelCtx)
96  AES_XCBC_MAC_96_Ctx *pCtx
97  );
98 
111 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_AES_XCBC_PRF_128_init(
112  MOC_SYM(hwAccelDescr hwAccelCtx)
113  const ubyte pKeyMaterial[/*keyLength*/],
114  sbyte4 keyLength,
115  AES_XCBC_PRF_128_Ctx *pCtx
116  );
117 
129 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_AES_XCBC_PRF_128_final(
130  MOC_SYM(hwAccelDescr hwAccelCtx)
131  ubyte pCmac[16],
132  AES_XCBC_PRF_128_Ctx *pCtx
133  );
134 
144 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_AES_XCBC_clear (
145  MOC_SYM(hwAccelDescr hwAccelCtx)
146  AES_XCBC_MAC_96_Ctx *pCtx
147  );
148 
149 #ifdef __cplusplus
150 }
151 #endif
152 
153 #endif /* __CRYPTO_INTERFACE_AES_XCBC_MAC_96_HEADER__ */
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_AES_XCBC_MAC_96_init(MOC_SYM(hwAccelDescr hwAccelCtx) const ubyte pKeyMaterial[16], AES_XCBC_MAC_96_Ctx *pCtx)
Initializes an AES_XCBC_MAC_96_Ctx context.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_AES_XCBC_PRF_128_init(MOC_SYM(hwAccelDescr hwAccelCtx) const ubyte pKeyMaterial[], sbyte4 keyLength, AES_XCBC_PRF_128_Ctx *pCtx)
Initializes an AES_XCBC_PRF_128_Ctx context.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_AES_XCBC_PRF_128_final(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte pCmac[16], 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 CRYPTO_INTERFACE_AES_XCBC_MAC_96_update(MOC_SYM(hwAccelDescr hwAccelCtx) const ubyte *pData, sbyte4 dataLength, AES_XCBC_MAC_96_Ctx *pCtx)
Updates the state of an AES_XCBC_MAC_96_Ctx or AES_XCBC_PRF_128_Ctx context with data.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_AES_XCBC_MAC_96_reset(MOC_SYM(hwAccelDescr hwAccelCtx) AES_XCBC_MAC_96_Ctx *pCtx)
Resets an AES_XCBC_MAC_96_Ctx or AES_XCBC_PRF_128_Ctx context.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_AES_XCBC_MAC_96_final(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte pCmac[12], 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 CRYPTO_INTERFACE_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.