24 #include "../cap/capdecl.h" 26 #if (defined(__ENABLE_MOCANA_CRYPTO_INTERFACE__)) 27 #include "../crypto_interface/crypto_interface_hmac_priv.h" 34 #if defined(__ENABLE_MOCANA_SHA3__) 35 #define HMAC_BLOCK_SIZE (144) 37 #if defined( __DISABLE_MOCANA_SHA512__) && defined(__DISABLE_MOCANA_SHA384__) 38 #define HMAC_BLOCK_SIZE (64) 40 #define HMAC_BLOCK_SIZE (128) 106 HMAC_MD5(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* key, sbyte4 keyLen,
const ubyte* text,
107 sbyte4 textLen,
const ubyte* textOpt, sbyte4 textOptLen, ubyte result[MD5_DIGESTSIZE]);
171 HMAC_SHA1(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* key, sbyte4 keyLen,
172 const ubyte* text, sbyte4 textLen,
173 const ubyte* textOpt, sbyte4 textOptLen, ubyte result[SHA_HASH_RESULT_SIZE]);
175 #ifndef __DISABLE_MOCANA_SHA256__ 238 HMAC_SHA256(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* key, sbyte4 keyLen,
239 const ubyte* text, sbyte4 textLen,
240 const ubyte* textOpt, sbyte4 textOptLen, ubyte result[SHA256_RESULT_SIZE]);
244 #ifndef __DISABLE_MOCANA_SHA512__ 307 HMAC_SHA512(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* key, sbyte4 keyLen,
308 const ubyte* text, sbyte4 textLen,
309 const ubyte* textOpt, sbyte4 textOptLen, ubyte result[SHA512_RESULT_SIZE]);
372 HMAC_SHA1Ex(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* key, sbyte4 keyLen,
373 const ubyte* texts[], sbyte4 textLens[],
374 sbyte4 numTexts, ubyte result[SHA_HASH_RESULT_SIZE]);
434 MOC_EXTERN MSTATUS
HMAC_MD5_quick(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* pKey, sbyte4 keyLen,
435 const ubyte* pText, sbyte4 textLen, ubyte* pResult );
496 MOC_EXTERN MSTATUS
HMAC_SHA1_quick(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* pKey, sbyte4 keyLen,
497 const ubyte* pText, sbyte4 textLen, ubyte* pResult );
509 ubyte key[HMAC_BLOCK_SIZE];
510 ubyte kpad[HMAC_BLOCK_SIZE];
512 MocSymCtx pMocSymCtx;
517 typedef struct HMAC_CTX HMAC_CTX;
518 typedef struct HMAC_CTX _moc_HMAC_CTX;
574 MOC_EXTERN MSTATUS
HmacCreate(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX **pctx,
const BulkHashAlgo *pBHAlgo);
620 MOC_EXTERN MSTATUS
HmacKey(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX *ctx,
const ubyte *key, ubyte4 keyLen);
663 MOC_EXTERN MSTATUS
HmacReset(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX *ctx);
710 MOC_EXTERN MSTATUS
HmacUpdate(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX *ctx,
const ubyte *data, ubyte4 dataLen);
764 MOC_EXTERN MSTATUS
HmacFinal(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX *ctx, ubyte *result);
809 MOC_EXTERN MSTATUS
HmacDelete(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX **pctx);
879 MOC_EXTERN MSTATUS
HmacQuick(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* pKey, sbyte4 keyLen,
880 const ubyte* pText, sbyte4 textLen,
951 MOC_EXTERN MSTATUS
HmacQuicker(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* pKey, sbyte4 keyLen,
952 const ubyte* pText, sbyte4 textLen,
1027 MOC_EXTERN MSTATUS
HmacQuickEx(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* pKey, sbyte4 keyLen,
1028 const ubyte* pText, sbyte4 textLen,
1029 const ubyte* pOptText, ubyte4 optTextLen,
1104 MOC_EXTERN MSTATUS
HmacQuickerEx(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* pKey, sbyte4 keyLen,
1105 const ubyte* pText, sbyte4 textLen,
1106 const ubyte* pOptText, ubyte4 optTextLen,
1181 MOC_EXTERN MSTATUS
HmacQuickerInline(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* pKey, sbyte4 keyLen,
1182 const ubyte* pText, sbyte4 textLen,
1262 MOC_EXTERN MSTATUS
HmacQuickerInlineEx(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte* key, sbyte4 keyLen,
1263 const ubyte* text, sbyte4 textLen,
1264 const ubyte* textOpt, sbyte4 textOptLen,
MOC_EXTERN MSTATUS HMAC_MD5_quick(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pKey, sbyte4 keyLen, const ubyte *pText, sbyte4 textLen, ubyte *pResult)
Calculate HMAC-MD5 (with a single function call).
Structure to hold function pointers to hashing or extenable output methods.
Definition: crypto.h:133
MOC_EXTERN MSTATUS HmacReset(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX *ctx)
Reset HMAC context.
MOC_EXTERN MSTATUS HmacQuick(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pKey, sbyte4 keyLen, const ubyte *pText, sbyte4 textLen, ubyte *pResult, const BulkHashAlgo *pBHAlgo)
Calculate HMAC (with a single function call).
MOC_EXTERN MSTATUS HMAC_SHA1Ex(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *key, sbyte4 keyLen, const ubyte *texts[], sbyte4 textLens[], sbyte4 numTexts, ubyte result[SHA_HASH_RESULT_SIZE])
Calculate (in a single call) the HMAC-SHA1 of multiple input buffers.
MOC_EXTERN MSTATUS HmacQuickEx(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pKey, sbyte4 keyLen, const ubyte *pText, sbyte4 textLen, const ubyte *pOptText, ubyte4 optTextLen, ubyte *pResult, const BulkHashAlgo *pBHAlgo)
Calculate HMAC (with a single function call) for a message with extended data.
MOC_EXTERN MSTATUS HmacQuickerEx(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pKey, sbyte4 keyLen, const ubyte *pText, sbyte4 textLen, const ubyte *pOptText, ubyte4 optTextLen, ubyte *pResult, const BulkHashAlgo *pBHAlgo, HMAC_CTX *ctx)
Calculate HMAC using an existing context (with a single function call) for a message with extended da...
MOC_EXTERN MSTATUS HMAC_SHA512(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *key, sbyte4 keyLen, const ubyte *text, sbyte4 textLen, const ubyte *textOpt, sbyte4 textOptLen, ubyte result[SHA512_RESULT_SIZE])
Calculate (in a single call) the HMAC-SHA512.
MOC_EXTERN MSTATUS HmacCreate(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX **pctx, const BulkHashAlgo *pBHAlgo)
Create HMAC context.
MOC_EXTERN MSTATUS HmacQuickerInline(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pKey, sbyte4 keyLen, const ubyte *pText, sbyte4 textLen, ubyte *pResult, const BulkHashAlgo *pBHAlgo, BulkCtx context)
Calculate HMAC using an existing hash context (with a single function call).
MOC_EXTERN MSTATUS HMAC_SHA1_quick(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pKey, sbyte4 keyLen, const ubyte *pText, sbyte4 textLen, ubyte *pResult)
Calculate HMAC-SHA1 (with a single function call).
MOC_EXTERN MSTATUS HmacDelete(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX **pctx)
Delete (free) HMAC context.
MOC_EXTERN MSTATUS HmacFinal(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX *ctx, ubyte *result)
Get final HMAC value.
MOC_EXTERN MSTATUS HmacUpdate(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX *ctx, const ubyte *data, ubyte4 dataLen)
Update intermediate HMAC value.
MOC_EXTERN MSTATUS HmacQuickerInlineEx(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *key, sbyte4 keyLen, const ubyte *text, sbyte4 textLen, const ubyte *textOpt, sbyte4 textOptLen, ubyte *pResult, const BulkHashAlgo *pBHAlgo, BulkCtx context)
Calculate HMAC with extended data using an existing hash context (with a single function call)...
MOC_EXTERN MSTATUS HMAC_SHA256(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *key, sbyte4 keyLen, const ubyte *text, sbyte4 textLen, const ubyte *textOpt, sbyte4 textOptLen, ubyte result[SHA256_RESULT_SIZE])
Calculate (in a single call) the HMAC-SHA256.
MOC_EXTERN MSTATUS HmacKey(MOC_HASH(hwAccelDescr hwAccelCtx) HMAC_CTX *ctx, const ubyte *key, ubyte4 keyLen)
Insert and process HMAC context's key.
MOC_EXTERN MSTATUS HmacQuicker(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pKey, sbyte4 keyLen, const ubyte *pText, sbyte4 textLen, ubyte *pResult, const BulkHashAlgo *pBHAlgo, HMAC_CTX *ctx)
Calculate HMAC using an existing context (with a single function call).
MOC_EXTERN MSTATUS HMAC_MD5(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *key, sbyte4 keyLen, const ubyte *text, sbyte4 textLen, const ubyte *textOpt, sbyte4 textOptLen, ubyte result[MD5_DIGESTSIZE])
Calculate (in a single call) the HMAC-MD5.
MOC_EXTERN MSTATUS HMAC_SHA1(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *key, sbyte4 keyLen, const ubyte *text, sbyte4 textLen, const ubyte *textOpt, sbyte4 textOptLen, ubyte result[SHA_HASH_RESULT_SIZE])
Calculate (in a single call) the HMAC-SHA1.