Visible to Intel only — GUID: GUID-D670FF9A-6686-4944-A5EB-E5193CB7C879
Visible to Intel only — GUID: GUID-D670FF9A-6686-4944-A5EB-E5193CB7C879
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 characterisitc p is 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 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 |
The order n of the base point G is equal to the finite field characteristic p. |
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 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. |