Developer Reference

Contents

ECCPSet

Sets up elliptic curve domain parameters over GF(p).

Syntax

IppStatus ippsECCPSet(const IppsBigNumState*
pPrime
, const IppsBigNumState*
pA
, const IppsBigNumState*
pB
, const IppsBigNumState*
pGX
, const IppsBigNumState*
pGY
, const IppsBigNumState*
pOrder
, int
cofactor
, IppsECCPState*
pECC
);
Include Files
ippcp.h
Parameters
pPrime
Pointer to the characteristic
p
of the prime finite field GF(
p
).
pA
Pointer to the coefficient
A
of the equation defining the elliptic curve.
pB
Pointer to the coefficient
B
of the equation defining the elliptic curve.
pGX
Pointer to the
x
-coordinate of the elliptic curve base point.
pGY
Pointer to the
y
-coordinate of the elliptic curve base point.
pOrder
Pointer to the order of the elliptic curve base point.
cofactor
Cofactor.
pECC
Pointer to the context of the cryptosystem.
Description
The function sets up the elliptic curve domain parameters over a prime finite field GF(
p
). These are as follows:
  • pPrime
    sets up the characteristic
    p
    of a finite field GF(
    p
    ) where
    p
    is a prime number.
  • pA
    ,
    pB
    set up the coefficients
    A
    and
    B
    of the equation defining the elliptic curve:
    y
    2
    =
    x
    3
    +
    A
    ·
    x
    +
    B
    (mod
    p
    ).
  • pGX
    ,
    pGY
    are pointers to the affine coordinates of the elliptic curve base point
    G
    .
  • pOrder
    is a pointer to the order
    n
    of the elliptic curve base point
    G
    such that
    n
    ·
    G = O
    , where
    O
    is the point at infinity and
    n
    is a prime number.
  • cofactor
    sets up the ratio
    h
    of a general number of points #E on the elliptic curve (including the point at infinity) to the order
    n
    of the base point:
    h
    = #E/
    n
    .
The domain parameters are set in the cryptosystem context which must be already created by the
ECCPGetSize
and
ECCPInit
functions.
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 one of the contexts pointed by
pPrime
,
pA
,
pB
,
pGX
,
pGY
,
pOrder
, and
pECC
is not valid.
ippStsRangeErr
Indicates an error condition if of one of the parameters pointed by
pPrime
,
pA
,
pB
,
pGX
,
pGY
, and
pOrder
cannot embed the
feBitSize
bits length or the value of
cofactor
is less than 1.

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