Visible to Intel only — GUID: GUID-400E26C4-6EBE-4ED4-A5C2-0BBFEA9AFAE5
Visible to Intel only — GUID: GUID-400E26C4-6EBE-4ED4-A5C2-0BBFEA9AFAE5
ECCPVerifySM2
Verifies authenticity of a digital signature over a message digest using the SM2 scheme.
Syntax
IppStatus ippsECCPVerifySM2(const IppsBigNumState* pMsgDigest, const IppsECCPPointState* pRegPublic, const IppsBigNumState* pSignR, const IppsBigNumState* pSignS, IppECResult* pResult, IppsECCPState* pECC);
Include Files
ippcp.h
Parameters
pMsgDigest |
Pointer to the message digest msg. |
pRegPublic |
Pointer to the message sender’s regular private key regPubKey. |
pSignR |
Pointer to the integer r of the digital signature. |
pSignS |
Pointer to the integer s of the digital signature. |
pResult |
Pointer to the digital signature verification result. |
pECC |
Pointer to the context of the elliptic cryptosystem. |
Description
The function verifies authenticity of the digital signature, represented as integer big numbers r and s, over a message digest msg. The digital signature over the message digest msg must be computed using the SM2 scheme SM2 by to the ECCPSignSM2 function.
The scheme requires the following cryptosystem key set up by the message sender:
regPubKey |
Message sender’s regular private key. |
You can generate and set up the key in a call to the ECCPGenKeyPair function.
The result of the digital signature verification can take one of these values:
ippECValid |
The digital signature is valid. |
ippECInvalidSignature |
The digital signature is not valid. |
Before calling ECCPVerifySM2, set up the domain parameters of the elliptic curve in the *pECC context by calling one of the functions: ECCPSet or ECCPSetStdSM2.
Return Values
ippStsNoErr |
Indicates no error. Any other value indicates an error or warning. |
ippStsNullPtrErr |
Indicates an error condition if any of the specified pointers is NULL. |
ippStsContextMatchErr |
Indicates an error condition if one of the specified contexts is not valid. |
ippStsMessageErr |
Indicates an error condition if the value of msg pointed by pMsgDigest falls outside the range of [1, n-1] where n is the order of the elliptic curve base point G. |
ippStsRangeErr |
Indicates an error condition if the value of pSignR or pSignS is less than 0. |