ECCPValidate
ECCPValidate
Checks validity of the elliptic curve domain parameters over GF(p).
Syntax
IppStatus ippsECCPValidate(int
nTrials
, IppECResult*
pResult
, IppsECCPState*
pECC
, IppBitSupplier
rndFunc
, void*
pRndParam
);
Include Files
ippcp.h
Parameters
- nTrials
- A number of attempts made to check the number for primality.
- pResult
- Pointer to the result received upon the check of the elliptic curve domain parameters.
- pECC
- Pointer to the cryptosystem context.
- rndFunc
- Specified Random Generator.
- pRndParam
- Pointer to Random Generator context.
Description
The function checks validity of the elliptic curve domain parameters over a prime finite field GF(
p
) and stores the result of the check in accordance with the pointer pResult
.Elliptic curve domain parameters must be hitherto defined by one of the functions:
ECCPSet
or ECCPSetStd
. The purpose of the parameters rndFunc
, pRndParam
, and nTrials
is analogous to that of the parameters rndFunc
, pRndParam
, and nTrials
in the PrimeTest
function.The result of the elliptic curve domain parameters check can take one of the following values:
- ippECValid
- The parameters are valid.
- ippECCompositeBase
- The prime finite field characterisitcpis a composite number.
- ippECIsNotAG
- The solutions of the elliptic curve equation do not form the abelian group because the only requirement that 4·a3+ 27·b3≠0 is not met.
- ippECPointIsNotValid
- The base pointGis not on the elliptic curve.
- ippECCompositeOrder
- The ordernof the base pointGis a composite number.
- ippECInvalidOrder
- The ordernof the base pointGis not valid because the requirement thatn·G=OwhereOis the point at infinity is not met.
- ippECIsWeakSSSA
- The ordernof the base pointGis equal to the finite field characteristicp.
- ippECIsWeakMOV
- The curve is excluded because it is subject to the MOV reduction attack.
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 isNULL.
- ippStsContextMatchErr
- Indicates an error condition if one of the contexts pointed bycorpECCis not valid.
- ippStsBadArgErr
- Indicates an error condition if the memory size of the parameterseedis less than five words (32 bytes in each) or the value of the parameternTrailsis less than 1.