Validates domain parameters of the DL-based cryptosystem over GF(p) to use the DH Agreement scheme.
IppStatus ippsDLPValidateDH(int nTrials, IppDLResult* pResult, IppsDLPState* pCtx, IppBitSupplier rndFunc, void* pRndParam);
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. |
This function is declared in the ippcp.h file. 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 |
P is even. |
ippDLOrderIsEven |
R is even. |
ippDLInvalidBaseRange |
P ≤ 2peBits-1 or P ≥ 2peBits. |
ippDLInvalidOrderRange |
R ≤ 2reBits-1 or R ≥ 2reBits. |
ippDLCompositeBase |
P is not a prime. |
ippDLCompositeOrder |
R is not a prime. |
ippDLInvalidCofactor |
R is not divisible by (P -1). |
ippDLInvalidGenerator |
(1 < G < (P -1)) is false or G^R != 1 (mod P). |
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.
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 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 if nTrials < 1. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.