Developer Guide and Reference for Intel® Integrated Performance Primitives Cryptography
GFpECSetPointHash, GFpECSetPointHashBackCompatible, GFpECSetPointHash_rmf, GFpECSetPointHashBackCompatible_rmf
Constructs a point on an elliptic curve based on the hash of the input message.
Syntax
IppStatus ippsGFpECSetPointHash(Ipp32u hdr, const Ipp8u* pMsg, int msgLen, IppsGFpECPoint* pPoint, IppsGFpECState* pEC, IppHashAlgId hashID, Ipp8u* pScratchBuffer);
IppStatus ippsGFpECSetPointHash_rmf(Ipp32u hdr, const Ipp8u* pMsg, int msgLen, IppsGFpECPoint* pPoint, IppsGFpECState* pEC, const IppsHashMethod* pMethod, Ipp8u* pScratchBuffer);
IppStatus ippsGFpECSetPointHashBaskComatible(Ipp32u hdr, const Ipp8u* pMsg, int msgLen, IppsGFpECPoint* pPoint, IppsGFpECState* pEC, IppHashAlgId hashID , Ipp8u* pScratchBuffer);
IppStatus ippsGFpECSetPointHashBaskComatible_rmf(Ipp32u hdr, const Ipp8u* pMsg, int msgLen, IppsGFpECPoint* pPoint, IppsGFpECState* pEC, const IppsHashMethod* pMethod, Ipp8u* pScratchBuffer);
Include Files
ippcp.h
Parameters
| hdr | Header of the input message. | 
| pMsg | Pointer to the input message. | 
| msgLen | Length of the input message. | 
| pPoint | Pointer to the IppsGFpECPoint context. | 
| pEC | Pointer to the context of the elliptic curve. | 
| hashID | ID of the hash algorithm used. For details, see Supported Hash Algorithms. | 
| pMethod | Predefined Hash Algorithm method. For details, see Supported Hash Algorithms. | 
| pScratchBuffer | Pointer to the scratch buffer. Can be NULL. | 
Description
This function makes the coordinates of a point on the elliptic curve over the finite field from a hash of the X-coordinate. If the pointer to the scratch buffer is NULL, the function uses a short internal buffer for computations.
The X-coordinate is computed by the following pseudocode formula: X = hash(hdr || message).
Return Values
| ippStsNoErr | Indicates no error. Any other value indicates an error or warning. | 
| ippStsNullPtrErr | Indicates an error condition in the following cases: 
 | 
| ippStsContextMatchErr | Indicates an error condition if either pPoint or pEC context parameter does not match the operation. | 
| ippStsBadArgErr | Indicates an error condition if the finite field over which the elliptic curve is initialized is not prime. | 
| ippStsOutOfRangeErr | Indicates an error condition if the coordinates of the point pPoint do not belong to the finite field over which the elliptic curve is initialized. | 
| ippStsLengthErr | Indicates an error condition if msgLen is negative. | 
| ippStsQuadraticNonResidueErr | Indicates an error condition if the square of the Y-coordinate of the point is a quadratic non-residue modulo p. |