TrustCore SDK Crypto Interface API reference  version 2.0
crypto_interface_sha256.h
Go to the documentation of this file.
1 /*
2  * crypto_interface_sha256.h
3  *
4  * Cryptographic Interface header file for declaring SHA256 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_SHA256_HEADER__
20 #define __CRYPTO_INTERFACE_SHA256_HEADER__
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
36 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_allocDigest(
37  MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_context
38  );
39 
48 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA224_initDigest (
49  MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pContext
50  );
51 
60 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_initDigest (
61  MOC_HASH(hwAccelDescr hwAccelCtx) SHA256_CTX *pContext
62  );
63 
74 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_updateDigest (
75  MOC_HASH(hwAccelDescr hwAccelCtx) SHA256_CTX *pContext,
76  const ubyte *pData,
77  ubyte4 dataLen
78  );
79 
90 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA224_finalDigest (
91  MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pContext,
92  ubyte *pOutput
93  );
94 
105 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_finalDigest (
106  MOC_HASH(hwAccelDescr hwAccelCtx) SHA256_CTX *pContext,
107  ubyte *pOutput
108  );
109 
121 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA224_completeDigest (
122  MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pData,
123  ubyte4 dataLen,
124  ubyte *pShaOutput
125  );
126 
138 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_completeDigest (
139  MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pData,
140  ubyte4 dataLen,
141  ubyte *pShaOutput
142  );
143 
153 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_freeDigest (
154  MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_context
155  );
156 
166  MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA224_cloneCtx(
167  MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pDest,
168  SHA224_CTX *pSrc
169  );
170 
180  MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_cloneCtx(
181  MOC_HASH(hwAccelDescr hwAccelCtx) SHA256_CTX *pDest,
182  SHA256_CTX *pSrc
183  );
184 
185 #ifdef __cplusplus
186 }
187 #endif
188 
189 #endif /* __CRYPTO_INTERFACE_SHA256_HEADER__ */
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_freeDigest(MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_context)
Free a SHA224 or SHA256 context previously allocated with CRYPTO_INTERFACE_SHA1_allocDigest.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA224_completeDigest(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pData, ubyte4 dataLen, ubyte *pShaOutput)
Perform a SHA224 digest in one step.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_initDigest(MOC_HASH(hwAccelDescr hwAccelCtx) SHA256_CTX *pContext)
Initialize a SHA256 context for a new digest operation.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_cloneCtx(MOC_HASH(hwAccelDescr hwAccelCtx) SHA256_CTX *pDest, SHA256_CTX *pSrc)
Makes a clone of a previously allocated SHA256_CTX.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA224_initDigest(MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pContext)
Initialize a SHA224 context for a new digest operation.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_allocDigest(MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pp_context)
Allocate a new SHA context.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_updateDigest(MOC_HASH(hwAccelDescr hwAccelCtx) SHA256_CTX *pContext, const ubyte *pData, ubyte4 dataLen)
Update a digest operation.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_completeDigest(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *pData, ubyte4 dataLen, ubyte *pShaOutput)
Perform a SHA256 digest in one step.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA224_cloneCtx(MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pDest, SHA224_CTX *pSrc)
Makes a clone of a previously allocated SHA224_CTX.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA256_finalDigest(MOC_HASH(hwAccelDescr hwAccelCtx) SHA256_CTX *pContext, ubyte *pOutput)
Finalize a digest operation and recieve the result.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_SHA224_finalDigest(MOC_HASH(hwAccelDescr hwAccelCtx) SHA224_CTX *pContext, ubyte *pOutput)
Finalize a digest operation and recieve the result.