14 #ifndef __SHA256_HEADER__ 15 #define __SHA256_HEADER__ 17 #include "../cap/capdecl.h" 19 #ifdef __ENABLE_MOCANA_CRYPTO_INTERFACE__ 20 #include "../crypto_interface/crypto_interface_sha224_priv.h" 21 #include "../crypto_interface/crypto_interface_sha256_priv.h" 28 #define SHA256_CTX MOC_SHA256_CTX 31 #define SHA256_RESULT_SIZE (32) 32 #define SHA256_BLOCK_SIZE (64) 35 #define SHA224_RESULT_SIZE (28) 36 #define SHA224_BLOCK_SIZE (64) 40 typedef struct SW_SHA256_CTX
50 sbyte4 hashBufferIndex;
51 ubyte hashBuffer[SHA256_BLOCK_SIZE];
53 #ifdef __ENABLE_MOCANA_MINIMUM_STACK__ 57 } SW_SHA256_CTX, SHA224_CTX;
59 #ifndef __CUSTOM_SHA256_CONTEXT__ 60 typedef struct SW_SHA256_CTX sha256Descr, sha256DescrHS, SHA256_CTX;
66 #ifndef __DISABLE_MOCANA_SHA256__ 118 MOC_EXTERN MSTATUS
SHA256_allocDigest (MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_shaContext);
164 MOC_EXTERN MSTATUS
SHA256_freeDigest (MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_shaContext);
216 MOC_EXTERN MSTATUS
SHA256_initDigest (MOC_HASH(hwAccelDescr hwAccelCtx) sha256Descr *pCtx);
266 MOC_EXTERN MSTATUS
SHA256_updateDigest (MOC_HASH(hwAccelDescr hwAccelCtx) sha256Descr *pCtx,
const ubyte *pData, ubyte4 dataLen);
321 MOC_EXTERN MSTATUS
SHA256_finalDigest (MOC_HASH(hwAccelDescr hwAccelCtx) sha256Descr *pCtx, ubyte *pOutput);
381 MOC_EXTERN MSTATUS
SHA256_completeDigest(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte *pData, ubyte4 dataLen, ubyte *pShaOutput);
395 MOC_EXTERN MSTATUS
SHA256_cloneCtx(MOC_HASH(hwAccelDescr hwAccelCtx) SHA256_CTX *pDest, SHA256_CTX *pSrc);
402 #ifdef __SHA256_HARDWARE_HASH__ 403 MOC_EXTERN MSTATUS SHA256_initDigestHandShake (MOC_HASH(hwAccelDescr hwAccelCtx) sha256DescrHS *p_shaContext);
404 MOC_EXTERN MSTATUS SHA256_updateDigestHandShake (MOC_HASH(hwAccelDescr hwAccelCtx) sha256DescrHS *p_shaContext,
const ubyte *pData, ubyte4 dataLen);
405 MOC_EXTERN MSTATUS SHA256_finalDigestHandShake (MOC_HASH(hwAccelDescr hwAccelCtx) sha256DescrHS *p_shaContext, ubyte *pShaOutput);
407 #define SHA256_initDigestHandShake SHA256_initDigest 408 #define SHA256_updateDigestHandShake SHA256_updateDigest 409 #define SHA256_finalDigestHandShake SHA256_finalDigest 415 #ifndef __DISABLE_MOCANA_SHA224__ 463 MOC_EXTERN MSTATUS
SHA224_allocDigest (MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_shaContext);
516 MOC_EXTERN MSTATUS
SHA224_freeDigest (MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_shaContext);
566 MOC_EXTERN MSTATUS
SHA224_updateDigest (MOC_HASH(hwAccelDescr hwAccelCtx) sha256Descr *pCtx,
const ubyte *pData, ubyte4 dataLen);
575 MOC_EXTERN MSTATUS
SHA256_allocDigest (MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_shaContext);
576 MOC_EXTERN MSTATUS
SHA256_freeDigest (MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_shaContext);
577 MOC_EXTERN MSTATUS
SHA256_updateDigest (MOC_HASH(hwAccelDescr hwAccelCtx) SHA256_CTX *pCtx,
const ubyte *pData, ubyte4 dataLen);
578 #define SHA224_allocDigest SHA256_allocDigest 579 #define SHA224_freeDigest SHA256_freeDigest 580 #define SHA224_updateDigest SHA256_updateDigest 644 MOC_EXTERN MSTATUS
SHA224_initDigest (MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pCtx);
701 MOC_EXTERN MSTATUS
SHA224_finalDigest (MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pCtx, ubyte *pOutput);
761 MOC_EXTERN MSTATUS
SHA224_completeDigest(MOC_HASH(hwAccelDescr hwAccelCtx)
const ubyte *pData, ubyte4 dataLen, ubyte *pShaOutput);
775 MOC_EXTERN MSTATUS
SHA224_cloneCtx(MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pDest, SHA224_CTX *pSrc);
MOC_EXTERN MSTATUS SHA224_updateDigest(MOC_HASH(hwAccelDescr hwAccelCtx) sha256Descr *pCtx, const ubyte *pData, ubyte4 dataLen)
Calculate and update intermediate SHA224 digest value.
MOC_EXTERN MSTATUS SHA224_initDigest(MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pCtx)
Initialize an SHA224 operation context data structure.
MOC_EXTERN MSTATUS SHA256_finalDigest(MOC_HASH(hwAccelDescr hwAccelCtx) sha256Descr *pCtx, ubyte *pOutput)
Calculate final SHA256 digest value.
MOC_EXTERN MSTATUS SHA256_initDigest(MOC_HASH(hwAccelDescr hwAccelCtx) sha256Descr *pCtx)
Initialize SHA256 operation context data structure.
MOC_EXTERN MSTATUS SHA256_allocDigest(MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_shaContext)
Allocate SHA256 operation context data structure.
MOC_EXTERN MSTATUS SHA256_cloneCtx(MOC_HASH(hwAccelDescr hwAccelCtx) SHA256_CTX *pDest, SHA256_CTX *pSrc)
Makes a clone of a previously allocated SHA256_CTX.
MOC_EXTERN MSTATUS SHA224_finalDigest(MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pCtx, ubyte *pOutput)
Calculate final SHA224 digest value.
MOC_EXTERN MSTATUS SHA256_updateDigest(MOC_HASH(hwAccelDescr hwAccelCtx) sha256Descr *pCtx, const ubyte *pData, ubyte4 dataLen)
Calculate and update intermediate SHA256 digest value.
MOC_EXTERN MSTATUS SHA256_freeDigest(MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_shaContext)
Free (delete) SHA256 operation context data structure.
MOC_EXTERN MSTATUS SHA256_completeDigest(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pData, ubyte4 dataLen, ubyte *pShaOutput)
Calculate single item's SHA256 digest value (with a single function call).
MOC_EXTERN MSTATUS SHA224_cloneCtx(MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pDest, SHA224_CTX *pSrc)
Makes a clone of a previously allocated SHA224_CTX.
MOC_EXTERN MSTATUS SHA224_freeDigest(MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_shaContext)
Free (delete) SHA224 operation context data structure.
MOC_EXTERN MSTATUS SHA224_allocDigest(MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_shaContext)
Allocate SHA224 operation context data structure.
MOC_EXTERN MSTATUS SHA224_completeDigest(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pData, ubyte4 dataLen, ubyte *pShaOutput)
Calculate single item's SHA224 digest value (with a single function call).