Checks validity of the elliptic curve domain parameters over GF(2m).
IppStatus ippsECCBValidate(int nTrials, IppECResult* pResult, IppsECCBState* pECC, IppBitSupplier rndFunc, void* pRndParam);
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 the Random Generator context. |
This function is declared in the ippcp.h file.
The function checks validity of the elliptic curve domain parameters over a binary finite field GF(2m) 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: ECCBSet or ECCBSetStd. 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. |
ippECComplicatedBase |
The irreducible binary polynomial f(x) of degree m which specifies the presentation of the field GF(2m) is not valid because the set of polynomials consists of more than five elements. |
ippECCompositeBase |
The binary polynomial f(x) is not irreducible. |
ippECIsSupersingular |
The coefficient in the elliptic curve equation is NULL. |
ippECPointAtInfinite |
The elliptic curve base point G is the point at infinity. |
ippECPointIsNotValid |
Base point G is not on the elliptic curve. |
ippECCompositeOrder |
The order n of the base point G is a composite number. |
ippECInvalidOrder |
The order n of the base point G is not valid because the requirement that n · G = O, where O is the point at infinity is not met. |
ippECIsWeakSSSA |
h · n = 2 m where h is a cofactor and n is the order n of the base point. |
ippECIsWeakMOV |
The curve is excluded because it is subject to the MOV reduction attack. |
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 c or pECC is not valid. |
ippStsBadArgErr |
Indicates an error condition if the memory size of the parameter seed is less than five words (32 bytes in each) or the value of the parameter nTrails is less than 1. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.