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.
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.  |