29 #ifndef __ECC_EDWARDS_DSA_HEADER__ 30 #define __ECC_EDWARDS_DSA_HEADER__ 32 #include "../crypto/ecc_edwards_keys.h" 39 #define MOCANA_EDDSA_VERIFY_FAIL 0x00000001 40 #define MOCANA_EDDSA_VERIFY_R_INVALID 0x00000002 41 #define MOCANA_EDDSA_VERIFY_S_INVALID 0x00000004 42 #define MOCANA_EDDSA_VERIFY_PUB_KEY_INVALID 0x00000008 44 typedef struct edDSA_CTX
63 byteBoolean initialized;
95 MOC_EXTERN MSTATUS
edDSA_Sign(MOC_ECC(hwAccelDescr hwAccelCtx) edECCKey *pKey, ubyte *pMessage, ubyte4 messageLen, ubyte *pSignature,
96 ubyte4 bufferSize, ubyte4 *pSignatureLen,
BulkHashAlgo *pShaSuite, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen,
void *pExtCtx);
126 MOC_EXTERN MSTATUS
edDSA_VerifySignature(MOC_ECC(hwAccelDescr hwAccelCtx) edECCKey *pKey, ubyte *pMessage, ubyte4 messageLen, ubyte *pSignature,
127 ubyte4 signatureLen, ubyte4 *pVerifyStatus,
BulkHashAlgo *pShaSuite, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen,
void *pExtCtx);
151 MOC_EXTERN MSTATUS
edDSA_initSignPreHash(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, edECCKey *pKey,
BulkHashAlgo *pShaSuite, ubyte *pCtx, ubyte4 ctxLen,
void *pExtCtx);
175 MOC_EXTERN MSTATUS
edDSA_initVerify(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, edECCKey *pKey, ubyte *pSignature,
176 ubyte4 signatureLen,
BulkHashAlgo *pShaSuite, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen,
void *pExtCtx);
192 MOC_EXTERN MSTATUS
edDSA_update(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ubyte *pMessage, ubyte4 messageLen,
void *pExtCtx);
209 MOC_EXTERN MSTATUS
edDSA_finalSign(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ubyte *pSignature, ubyte4 bufferSize, ubyte4 *pSignatureLen,
void *pExtCtx);
227 MOC_EXTERN MSTATUS
edDSA_finalVerify(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ubyte4 *pVerifyStatus,
void *pExtCtx);
MOC_EXTERN MSTATUS edDSA_finalVerify(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ubyte4 *pVerifyStatus, void *pExtCtx)
Finalizes an edDSA_CTX context and writes the verify status.
Structure to hold function pointers to hashing or extenable output methods.
Definition: crypto.h:133
MOC_EXTERN MSTATUS 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 edDSA_initSignPreHash(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, edECCKey *pKey, BulkHashAlgo *pShaSuite, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx)
Initializes an edDSA_CTX for use in the EdDSA sign algorithm.
MOC_EXTERN MSTATUS edDSA_Sign(MOC_ECC(hwAccelDescr hwAccelCtx) edECCKey *pKey, ubyte *pMessage, ubyte4 messageLen, ubyte *pSignature, ubyte4 bufferSize, ubyte4 *pSignatureLen, BulkHashAlgo *pShaSuite, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx)
Signs a message via the EdDSA algorithm.
MOC_EXTERN MSTATUS edDSA_update(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, ubyte *pMessage, ubyte4 messageLen, void *pExtCtx)
Updates an edDSA_CTX with data.
edECCCurve
Identifiers for the Edward's form curves and algorithms.
Definition: ecc_edwards_keys.h:52
MOC_EXTERN MSTATUS edDSA_VerifySignature(MOC_ECC(hwAccelDescr hwAccelCtx) edECCKey *pKey, ubyte *pMessage, ubyte4 messageLen, ubyte *pSignature, ubyte4 signatureLen, ubyte4 *pVerifyStatus, BulkHashAlgo *pShaSuite, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx)
A one shot verify of a message via the EdDSA algorithm.
MOC_EXTERN MSTATUS edDSA_initVerify(MOC_ECC(hwAccelDescr hwAccelCtx) edDSA_CTX *pEdDSA_ctx, edECCKey *pKey, ubyte *pSignature, ubyte4 signatureLen, BulkHashAlgo *pShaSuite, byteBoolean preHash, ubyte *pCtx, ubyte4 ctxLen, void *pExtCtx)
Initializes an edDSA_CTX for use in the EdDSA verify algorithm.