Developer Guide and Reference for Intel® Integrated Performance Primitives Cryptography
A newer version of this document is available. Customers should click here to go to the newest version.
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.  |