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