ECCBValidate

Checks validity of the elliptic curve domain parameters over GF(2m).

Syntax

IppStatus ippsECCBValidate(int nTrials, IppECResult* pResult, IppsECCBState* pECC, IppBitSupplier rndFunc, void* pRndParam);

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 the Random Generator context.

Description

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.

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.

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.