Developer Guide and Reference for Intel® Cryptography Primitives Library
ippsMLDSA_Verify
Uses the public key to verify a digital signature for a given message.
Syntax
IppStatus ippsMLDSA_Verify(const Ipp8u* pMsg,
const Ipp32s msgLen,
const Ipp8u* pCtx,
const Ipp32s ctxLen,
const Ipp8u* pPubKey,
const Ipp8u* pSign,
int* pIsSignValid,
IppsMLDSAState* pMLDSAState,
Ipp8u* pScratchBuffer);
Include Files
ippcp.h
Parameters
pMsg |
Pointer to the message that needs to be verified. |
msgLen |
Length of the message in bytes. |
pCtx |
Pointer to the context, can be NULL. See the Specification of the algorithm for more details. |
ctxLen |
Length of the context in bytes. |
pPubKey |
Pointer to the public key. |
pSign |
Pointer to the signature. |
pIsSignValid |
Pointer to the output variable that indicates whether the signature is valid. The value is set to 1 if the signature is valid, and 0 if the signature is invalid. |
pMLDSAState |
Pointer to the ML-DSA context. |
pScratchBuffer |
Pointer to the working buffer of size queried ippsMLDSA_VerifyBufferGetSize. |
Description
The function verifies the digital signature using the provided public key. The working buffer should be allocated with the size not less than provided by ippsMLDSA_VerifyBufferGetSize function.
Important
The API family is supported in experimental mode. To use the functions, users need to define the IPPCP_PREVIEW_ML_DSA macro before including the ippcp.h header file. See Preview Features for more details.Return Values
ippStsNoErr |
Indicates no error. Any other value indicates an error or warning. |
ippStsNullPtrErr |
pMsg, pPubKey, pSign, pIsSignValid, pMLDSAState or pScratchBuffer is NULL. |
ippStsContextMatchErr |
pMLDSAState was not initialized. |
ippStsMemAllocErr |
An internal functional error. If this output status appears, update to the latest version of the library or contact Intel. |
ippStsLengthErr |
ctxLen < 0 or ctxLen > 255 or msgLen is less than 1, or the message length is greater than 2^32 bytes minus the number of bytes required for temporary buffers. Size of such buffers can be obtained using ippsMLDSA_VerifyBufferGetSize functions. |
ippStsBadArgErr |
ctxLen == 0 if pCtx != NULL. |