Visible to Intel only — GUID: GUID-3913DF47-E9C2-4E44-8EB0-F7AF87E837DB
Visible to Intel only — GUID: GUID-3913DF47-E9C2-4E44-8EB0-F7AF87E837DB
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 ippsGFpECSetPointHashBackCompatible(Ipp32u hdr, const Ipp8u* pMsg, int msgLen, IppsGFpECPoint* pPoint, IppsGFpECState* pEC, IppHashAlgId hashID , Ipp8u* pScratchBuffer);
IppStatus ippsGFpECSetPointHashBackCompatible_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 of size produced by ippsGFpECScratchBufferSize. |
Description
This function makes the coordinates of a point on the elliptic curve over the finite field from a hash of the X-coordinate.
The X-coordinate is computed by the following pseudocode formula: X = hash(hdr || message).
The ippsGFpECScratchBufferSize function should be called with nScalars equal to at least 1 to get the valid pScratchBuffer.
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. |