24 #ifndef __AES_HEADER__ 25 #define __AES_HEADER__ 27 #include "../cap/capdecl.h" 29 #if defined(__ENABLE_MOCANA_CRYPTO_INTERFACE__) 30 #include "../crypto_interface/crypto_interface_aes_priv.h" 38 #ifndef AES_BLOCK_SIZE 39 #define AES_BLOCK_SIZE (16) 42 #define MOC_MAX_AES_KEY_SIZE 32 43 #define MOC_AES_256_KEY_LEN 32 44 #define MOC_AES_192_KEY_LEN 24 45 #define MOC_AES_128_KEY_LEN 16 71 ubyte4 rk[4*(AES_MAXNR + 1)];
102 MOC_EXTERN MSTATUS
AESALGO_makeAesKey(aesCipherContext *pAesContext, sbyte4 keyLen,
const ubyte *keyMaterial, sbyte4 encrypt, sbyte4 mode);
122 MOC_EXTERN MSTATUS
AESALGO_blockEncrypt(aesCipherContext *pAesContext, ubyte* iv, ubyte *input, sbyte4 inputLen, ubyte *outBuffer, sbyte4 *pRetLength);
142 MOC_EXTERN MSTATUS
AESALGO_blockDecrypt(aesCipherContext *pAesContext, ubyte* iv, ubyte *input, sbyte4 inputLen, ubyte *outBuffer, sbyte4 *pRetLength);
182 MOC_SYM(hwAccelDescr hwAccelCtx)
183 aesCipherContext *pAesContext,
185 const ubyte *keyMaterial,
212 MOC_SYM(hwAccelDescr hwAccelCtx)
213 aesCipherContext *pAesContext,
243 MOC_SYM(hwAccelDescr hwAccelCtx)
244 aesCipherContext *pAesContext,
315 MOC_EXTERN BulkCtx
CreateAESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte* keyMaterial, sbyte4 keyLength, sbyte4 encrypt);
358 MOC_EXTERN MSTATUS
DeleteAESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx *ctx);
363 MOC_EXTERN MSTATUS ResetAESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx *ctx);
419 MOC_EXTERN MSTATUS
DoAES (MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte* data, sbyte4 dataLength, sbyte4 encrypt, ubyte* iv);
483 MOC_EXTERN BulkCtx
CreateAESCFBCtx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte* keyMaterial, sbyte4 keyLength, sbyte4 encrypt);
504 MOC_EXTERN BulkCtx
CreateAESCFB1Ctx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte* keyMaterial, sbyte4 keyLength, sbyte4 encrypt);
568 MOC_EXTERN BulkCtx
CreateAESOFBCtx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte* keyMaterial, sbyte4 keyLength, sbyte4 encrypt);
580 MOC_EXTERN MSTATUS
CloneAESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, BulkCtx *ppNewCtx);
MOC_EXTERN BulkCtx CreateAESOFBCtx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte *keyMaterial, sbyte4 keyLength, sbyte4 encrypt)
Get a new AES OFB-mode context data structure and prepare the key schedule.
MOC_EXTERN MSTATUS AESALGO_blockDecryptEx(MOC_SYM(hwAccelDescr hwAccelCtx) aesCipherContext *pAesContext, ubyte *iv, ubyte *input, sbyte4 inputLen, ubyte *outBuffer, sbyte4 *pRetLength)
MOC_EXTERN BulkCtx CreateAESCFB1Ctx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte *keyMaterial, sbyte4 keyLength, sbyte4 encrypt)
Create a new AES-CFB1 context.
MOC_EXTERN MSTATUS DeleteAESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx *ctx)
Delete AES context data structure.
MOC_EXTERN MSTATUS CloneAESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, BulkCtx *ppNewCtx)
Clone a AES context.
MOC_EXTERN MSTATUS DoAES(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte *data, sbyte4 dataLength, sbyte4 encrypt, ubyte *iv)
AES-encrypt or AES-decrypt a data buffer.
MOC_EXTERN BulkCtx CreateAESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte *keyMaterial, sbyte4 keyLength, sbyte4 encrypt)
Get a new AES CBC context data structure and prepare the key schedule.
MOC_EXTERN MSTATUS AESALGO_blockEncrypt(aesCipherContext *pAesContext, ubyte *iv, ubyte *input, sbyte4 inputLen, ubyte *outBuffer, sbyte4 *pRetLength)
MOC_EXTERN MSTATUS AESALGO_makeAesKey(aesCipherContext *pAesContext, sbyte4 keyLen, const ubyte *keyMaterial, sbyte4 encrypt, sbyte4 mode)
MOC_EXTERN MSTATUS AESALGO_blockEncryptEx(MOC_SYM(hwAccelDescr hwAccelCtx) aesCipherContext *pAesContext, ubyte *iv, ubyte *input, sbyte4 inputLen, ubyte *outBuffer, sbyte4 *pRetLength)
MOC_EXTERN BulkCtx CreateAESCFBCtx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte *keyMaterial, sbyte4 keyLength, sbyte4 encrypt)
This function's documentation was added since 5.3.1, and should be reviewed for accuracy and appropri...
MOC_EXTERN MSTATUS AESALGO_clearKey(aesCipherContext *pAesContext)
MOC_EXTERN MSTATUS AESALGO_makeAesKeyEx(MOC_SYM(hwAccelDescr hwAccelCtx) aesCipherContext *pAesContext, sbyte4 keyLen, const ubyte *keyMaterial, sbyte4 encrypt, sbyte4 mode)
MOC_EXTERN MSTATUS AESALGO_blockDecrypt(aesCipherContext *pAesContext, ubyte *iv, ubyte *input, sbyte4 inputLen, ubyte *outBuffer, sbyte4 *pRetLength)