Developer Guide and Reference for Intel® Integrated Performance Primitives Cryptography
GFpECESSetKey_SM2
Computes a shared secret.
Syntax
IppStatus ippsGFpECESSetKey_SM2(const IppsBigNumState* pPrivate, const IppsGFpECPoint* pPublic, IppsECES_StateSM2* pState, IppsGFpECState* pEC, Ipps8u* pEcScratchBuffer);
Include Files
ippcp.h
Parameters
| pEC | Pointer to the elliptic curve context used in the ECES. | 
| pState | Pointer to the buffer being initialized as the ECES context. | 
| pPrivate | Pointer to the own private keys of the elliptic curve. | 
| pPublic | Pointer to the patry public key of the elliptic curve. | 
| pEcScratchBuffer | Pointer to the scratch buffer for the elliptic curve. | 
Description
The function computes a shared secret Z = [Private]* Public for future use.
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 the IppsGFpECState, IppsECES_StateSM2, IppsBigNumState, or IppsGFpECPoint context parameter does not match the operation. | 
| ippStsOutOfRangeErr | Indicates an error conditions in the following cases: 
 | 
| ippStsNotSupportedModeErr | Indicates an error condition if the IppsGFpECState context parameter defines an elliptic curve over an extension of the prime finite field. | 
| ippStsBadArgErr | Indicates an error condition if the IppsGFpECState context parameter has an element size that differs from the one used in the ippsGFpECESInit_SM2 function call. | 
| ippStsPointAtInfinity | Indicates an error condition if the IppsGFpECPoint context parameter defines a point at infinity. |