Developer Reference

  • 8.1
  • 07/15/2020
  • Public Content
Contents

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:
  • pPoint
    or
    pEC
    is
    NULL
    .
  • Length of the message is more than zero, and the pointer
    pMsg
    is
    NULL
    .
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
.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804