20 #ifndef __AES_CTR_HEADER__ 21 #define __AES_CTR_HEADER__ 23 #include "../cap/capdecl.h" 25 #if defined(__ENABLE_MOCANA_CRYPTO_INTERFACE__) 26 #include "../crypto_interface/crypto_interface_aes_ctr_priv.h" 37 typedef struct aesCTRCipherContext
39 aesCipherContext *pCtx;
42 ubyte counterBlock[AES_BLOCK_SIZE];
45 ubyte encBlock[AES_BLOCK_SIZE];
49 } aesCTRCipherContext, AES_CTR_Ctx;
125 #ifdef __UCOS_DIRECT_RTOS__ 129 MOC_EXTERN BulkCtx
CreateAESCTRCtx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte* keyMaterial, sbyte4 keyLength, sbyte4 encrypt);
134 MOC_EXTERN BulkCtx
CreateAESCTRCtx(MOC_SYM(hwAccelDescr hwAccelCtx)
const ubyte* keyMaterial, sbyte4 keyLength, sbyte4 encrypt);
178 MOC_EXTERN MSTATUS
DeleteAESCTRCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx *ctx);
233 MOC_EXTERN MSTATUS
DoAESCTR(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte* data, sbyte4 dataLength, sbyte4 encrypt, ubyte* iv);
269 MOC_EXTERN MSTATUS
AESCTRInit(MOC_SYM(hwAccelDescr hwAccelCtx) AES_CTR_Ctx* aesCtrCtx,
const ubyte* keyMaterial, sbyte4 keyLength,
const ubyte initCounter[AES_BLOCK_SIZE]);
326 MOC_EXTERN MSTATUS
DoAESCTREx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte* data, sbyte4 dataLength, sbyte4 encrypt, ubyte* iv, sbyte4 limit);
354 MOC_EXTERN MSTATUS
GetCounterBlockAESCTR(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte pCounterBuffer[AES_BLOCK_SIZE]);
366 MOC_EXTERN MSTATUS
CloneAESCTRCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, BulkCtx *ppNewCtx);
368 #ifdef __ENABLE_MOCANA_IPSEC_SERVICE__ 434 MOC_EXTERN BulkCtx
CreateAesCtrCtx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte* keyMaterial,
435 sbyte4 keyLength, sbyte4 encrypt);
488 MOC_EXTERN MSTATUS
DoAesCtr(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte* data,
489 sbyte4 dataLength, sbyte4 encrypt, ubyte* iv);
542 MOC_EXTERN MSTATUS
DoAesCtrEx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte* data,
543 sbyte4 dataLength, sbyte4 encrypt, ubyte* iv);
MOC_EXTERN MSTATUS AESCTRInit(MOC_SYM(hwAccelDescr hwAccelCtx) AES_CTR_Ctx *aesCtrCtx, const ubyte *keyMaterial, sbyte4 keyLength, const ubyte initCounter[AES_BLOCK_SIZE])
Prepare the key schedule for an existing AES-CTR context.
MOC_EXTERN MSTATUS CloneAESCTRCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, BulkCtx *ppNewCtx)
Clone a AES-CTR context.
MOC_EXTERN MSTATUS DoAesCtrEx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte *data, sbyte4 dataLength, sbyte4 encrypt, ubyte *iv)
AES-CTR encrypt or decrypt a data buffer.
MOC_EXTERN MSTATUS DoAESCTR(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte *data, sbyte4 dataLength, sbyte4 encrypt, ubyte *iv)
AES-CTR encrypt or decrypt a data buffer.
MOC_EXTERN MSTATUS DeleteAESCTRCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx *ctx)
Delete AES-CTR context data structure.
MOC_EXTERN BulkCtx CreateAESCTRCtx(MOC_SYM(hwAccelDescr hwAccelCtx) const ubyte *keyMaterial, sbyte4 keyLength, sbyte4 encrypt)
Create a new AES-CTR context data structure and prepare the key schedule.
MOC_EXTERN BulkCtx CreateAesCtrCtx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte *keyMaterial, sbyte4 keyLength, sbyte4 encrypt)
Create a new AES-CTR context data structure and prepare the key schedule for using with IPsec Encapsu...
MOC_EXTERN MSTATUS DoAESCTREx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte *data, sbyte4 dataLength, sbyte4 encrypt, ubyte *iv, sbyte4 limit)
AES-CTR encrypt or decrypt a data buffer.
MOC_EXTERN MSTATUS GetCounterBlockAESCTR(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte pCounterBuffer[AES_BLOCK_SIZE])
AES-CTR get current counter block used in given context.
MOC_EXTERN MSTATUS DoAesCtr(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte *data, sbyte4 dataLength, sbyte4 encrypt, ubyte *iv)
AES-CTR encrypt or decrypt a data buffer.