Developer Reference

Contents

GFpECSetSubgroup

Sets up the parameters defining an elliptic curve points subgroup.

Syntax

IppStatus ippsGFpECSetSubGroup(const IppsGFpElement*
pX
, const IppsGFpElement*
pY
, const IppsBigNumState*
pOrder
, const IppsBigNumState*
pCofactor
, IppsGFpECState*
pEC
);
Include Files
ippcp.h
Parameters
pX
,
pY
Pointers to the
X
and
Y
coordinates of the base point of the elliptic curve.
pOrder
Pointer to the big number context storing the order of the base point.
pCofactor
Pointer to the big number context storing the cofactor.
pEC
Pointer to the context of the elliptic curve.
Description
This function sets up an elliptic curve as the subgroup generated by the base point over the finite field.
Only the 
pEC
 parameter is required. You can omit the other parameters by setting their values to 
NULL
 or zero.
Return Values
ippStsNoErr
Indicates no error. Any other value indicates an error or warning.
ippStsNullPtrErr
Indicates an error condition if
pEC
is
NULL
.
ippStsContextMatchErr
Indicates an error condition in the following cases:
  • IppsGFpECState
    context parameter does not match the operation.
  • Any of the pointers to elliptic curve parameters is not zero and the context parameter does not match the operation.
ippStsBadArgErr
Indicates an error condition if any of the specified
IppsBigNumState
contexts defines zero or a negative number.
ippStsOutOfRangeErr
Indicates an error if the base point coordinates (
pX
,
pY
) do not belong to the finite field over which the elliptic curve is initialized.
ippStsRangeErr
Indicates an error condition in the following cases:
  • The size of the base point order exceeds the maximal size of the order for the given curve.
  • The bit size of the cofactor exceeds the bit size of the element of the finite field over which the elliptic curve is initialized.

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