TrustCore SDK Crypto Interface API reference  version 2.0
crypto_interface_eddsa.h
Go to the documentation of this file.
1 /*
2  * crypto_interface_eddsa.h
3  *
4  * Cryptographic Interface header file for declaring EdDSA 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_EDDSA_HEADER__
20 #define __CRYPTO_INTERFACE_EDDSA_HEADER__
21 
22 #include "../cap/capasym.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
49 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_Sign(MOC_ECC(hwAccelDescr hwAccelCtx) ECCKey *pKey, ubyte *pMessage, ubyte4 messageLen, ubyte *pSignature,
50  ubyte4 bufferSize, ubyte4 *pSignatureLen, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx);
51 
76 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_VerifySignature(MOC_ECC(hwAccelDescr hwAccelCtx) ECCKey *pKey, ubyte *pMessage, ubyte4 messageLen, ubyte *pSignature,
77  ubyte4 signatureLen, ubyte4 *pVerifyStatus, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx);
78 
79 
97 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_initSignPreHash(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ECCKey *pKey, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx);
98 
117 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_initVerify(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ECCKey *pKey, ubyte *pSignature,
118  ubyte4 signatureLen, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx);
119 
134 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_update(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ubyte *pMessage, ubyte4 messageLen, void *pExtCtx);
135 
151 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_finalSign(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ubyte *pSignature, ubyte4 bufferSize, ubyte4 *pSignatureLen, void *pExtCtx);
152 
169 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_finalVerify(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ubyte4 *pVerifyStatus, void *pExtCtx);
170 
171 #ifdef __cplusplus
172 }
173 #endif
174 
175 #endif /* __CRYPTO_INTERFACE_EDDSA_HEADER__ */
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_VerifySignature(MOC_ECC(hwAccelDescr hwAccelCtx) ECCKey *pKey, ubyte *pMessage, ubyte4 messageLen, ubyte *pSignature, ubyte4 signatureLen, ubyte4 *pVerifyStatus, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx)
A one shot verify of a message via the EdDSA algorithm.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_update(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ubyte *pMessage, ubyte4 messageLen, void *pExtCtx)
Updates an edDSA_CTX with data.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_initVerify(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ECCKey *pKey, ubyte *pSignature, ubyte4 signatureLen, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx)
Initializes an edDSA_CTX for use in the EdDSA verify algorithm.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_finalSign(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ubyte *pSignature, ubyte4 bufferSize, ubyte4 *pSignatureLen, void *pExtCtx)
Finalizes an edDSA_CTX and outputs the signature.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_finalVerify(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ubyte4 *pVerifyStatus, void *pExtCtx)
Finalizes an edDSA_CTX context and writes the verify status.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_Sign(MOC_ECC(hwAccelDescr hwAccelCtx) ECCKey *pKey, ubyte *pMessage, ubyte4 messageLen, ubyte *pSignature, ubyte4 bufferSize, ubyte4 *pSignatureLen, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx)
Signs a message via the EdDSA algorithm.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_EdDSA_initSignPreHash(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ECCKey *pKey, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx)
Initializes an edDSA_CTX for use in the EdDSA sign algorithm.