Visible to Intel only — GUID: GUID-81E7406D-D2EB-4257-A2A9-E5D0FC1BC37D
Visible to Intel only — GUID: GUID-81E7406D-D2EB-4257-A2A9-E5D0FC1BC37D
GFpECMessageRepresentationSM2
Computes the SM2 digest of a message.
Syntax
IppStatus ippsGFpECMessageRepresentationSM2, (IppsBigNumState * pMsgDigest, const Ipp8u * pMsg, int msgLen, const Ipp8u * pUserID, int userIDLen, const IppsGFpECPoint * pRegPublic, IppsGFpECState * pEC, Ipp8u * pScratchBuffer)
Include Files
ippcp.h
Parameters
pMsgDigest |
Pointer to the resulting message digest. |
pMsg |
Pointer to the input message. |
msgLen |
Length of the input message. |
pUserID |
User ID data. |
userIDLen |
Length of user ID data. |
pMsg |
Pointer to the input message. |
pRegPublic |
Public key. |
pEC |
Pointer to the elliptic curve context. |
pScratchBuffer |
Pointer to the scratch buffer for the elliptic curve. |
Description
The function compresses message M’, including Za and M, using a cryptographic hash function before the signature process. Therefore, do the first two steps of the algorithm that helps obtain a signature (r, s).
GM/T 0003.2-2012. Public Key cryptographic algorithm SM2 based on the elliptic curves.
Part 2: Digital signature algorithm
6.1 Digital signature generation algorithm
A1: compute Za = SM3( ENTL || ID || a || b || xG || yG || xA || yA )
A2: e = SM3(Za || M)
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 are NULL. |
ippStsContextMatchErr |
Indicates an error condition if the IppsGFpECState context parameter does not match the operation. |
ippStsNotSupportedModeErr |
Indicates an error condition if the IppsGFpECState context parameter defines an elliptic curve over an extension of the prime finite field. |
ippStsOutOfRangeErr |
Indicates an error condition if the invalid input argument range - inpLen < 0 or maxOutLen is not enough for the encryption. |
ippStsMessageErr |
Indicates an error condition if bitsize(pMsgDigest) > bitsize(order). |
ippStsNotSupportedModeErr |
Indicates an error condition if the IppsGFpECState context parameter defines an elliptic curve over an extension of the prime finite field. |