DLPValidateDH
DLPValidateDH
Validates domain parameters of the DL-based cryptosystem over GF(p) to use the DH Agreement scheme.
Syntax
IppStatus ippsDLPValidateDH(int
nTrials
, IppDLResult*
pResult
, IppsDLPState*
pCtx
, IppBitSupplier
rndFunc
, void*
pRndParam
);
Include Files
ippcp.h
Parameters
- nTrials
- Security parameter specified for the Miller-Rabin probable primality.
- pResult
- Pointer to the validation result.
- pCtx
- Pointer to the cryptosystem context.
- rndFunc
- Specified Random Generator.
- pRndParam
- Pointer to the Random Generator context.
Description
The function validates domain parameters of the DL-based cryptosystem over GF(
p
) to use Diffie-Hellman Agreement scheme. The result of validation is stored in the *pResult
and may be assigned to one of the enumerators listed below:- ippDLValid
- Validation has passed successfully.
- ippDLBaseIsEven
- Pis even.
- ippDLOrderIsEven
- Ris even.
- ippDLInvalidBaseRange
- P≤2orpeBits-1P≥2.peBits
- ippDLInvalidOrderRange
- R≤2orreBits-1R≥2.reBits
- ippDLCompositeBase
- Pis not a prime.
- ippDLCompositeOrder
- Ris not a prime.
- ippDLInvalidCofactor
- Ris not divisible by (P-1).
- ippDLInvalidGenerator
- (1 << (GP-1)) is false or^GR!= 1 (modP).
To ensure that both
p
and r
are primes, the function applies nTrial
-round Miller-Rabin primality test. Test data for primality test is provided by the specified rndFunc
Random Generator.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 the context parameter does not match the operation.
- ippStsIncompleteContextErr
- Indicates an error condition if the cryptosystem context has not been properly set up.
- ippStsBadArgErr
- Indicates an error condition ifnTrials< 1.