GFpInit
GFpInit
Initializes the context of a prime finite field GF(q).
Syntax
IppStatus ippsGFpInit(const IppsBigNumState*
pPrime
, int
primeBitSize
, const IppsGFpMethod*
method
, IppsGFpState*
pGF
);
Include Files
ippcp.h
Parameters
- pPrime
- Pointer to the Big Number context storing the GF(q) modulus.
- primeBitSize
- Size, in bytes, of the odd prime numberp(modulus of GF(q)).
- method
- Pointer to the implementation of a basic arithmetic (methods) over the prime finite field GF(q).If your application uses one of predefined values of the modulusq, the use of theGFpMethodfunction corresponding to that value is preferable. In other cases, useippsGfpMethod_pArb().
- pGF
- Pointer to the context of the GF(q) field being initialized.
Description
The function initializes the
pGF
context parameter with the values of the input parameterspPrime
, primeBitSize
, and method
. The three parameters have to be compatible with each other.The
method
parameter must be an output from one of the GFpMethod
functions with predefined modulus q
, and the parameters primeBitSize
and method
must be compatible with each other.If
pPrime
is not NULL
, and method
is an output from one of the GFpMethod
functions with predefined modulus q
, then the pair pPrime
and primeBitSize
should define the same prime q
as defined in method
.If both
pPrime
and method
are not NULL
, then ippsGFpInit()
provides the required initialization if the parameters are compatible with each other. The initialized context is used in the functions that create contexts of elements of the GF(
p
) field, which, in turn, are used to perform operations with the field elements.This function does not check if
pPrime
actually refers to a prime value.Return Values
- ippStsNoErr
- Indicates no error. Any other value indicates an error or warning.
- ippStsNullPtrErr
- Indicates an error condition in the following cases:
- pGFisNULL.
- BothpPrimeandmethodareNULL.
- ippStsSizeErr
- Indicates an error condition ifprimeBitSizeis less than 2 or greater than 1024.
- ippStsContextMatchErr
- Indicates an error condition if thepPrimecontext parameter is notNULLand does not match the operation.
- ippStsBadArgErr
- Indicates an error condition in the following cases:
- The modulusqdefined inpPrimeis less than 3.
- bitsize(q) !=primeBitSize.
- qis even.
- methodis notNULLand not an output ofGFpMethod.
- methodis an output from one of theGFpMethodfunctions with predefined modulusq, but:
- The bit size ofqofmethodis different from the bit size of the value stored in the context pointed to bypPrime.
- qofmethodis different from the value stored in the context pointed to bypPrime.