DLPGenerateDH¶
Generates domain parameters of the DL-based cryptosystem over GF(p) to use the DH Agreement scheme.
Syntax¶
IppStatus ippsDLPGenerateDH(const IppsBigNumState* pSeedIn, int nTrials, IppsDLPState* pCtx, IppsBigNumState* pSeedOut, int* pCounter, IppBitSupplier rndFunc, void* pRndParam);
Include Files¶
ippcp.h
Parameters¶
pSeedIn |
Pointer to the input Seed. |
nTrials |
Security parameter specified for the Miller-Rabin probable primality. |
pCtx |
Pointer to the cryptosystem context. |
pSeedOut |
Pointer to the output Seed value (if requested). |
pCounter |
Pointer to the counter value (if requested). |
rndFunc |
Specified Random Generator. |
pRndParam |
Pointer to the Random Generator context. |
Description¶
The function generates domain parameters of the DL-based cryptosystem over GF(p) to use Diffie-Hellman Agreement scheme. The function uses a procedure specified in [X9.42] for generating both randomized prime p and r based on the input *pSeedIn.
Generated primes r and p are further validated through a nTrial-round Miller-Rabin primality test. Both generation and primality test procedures employ 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 is NULL. |
ippStsContextMatchErr |
Indicates an error condition if the context parameter does not match the operation. |
ippStsSizeErr |
Indicates an error condition if: peBits < 512 or reBits < 160, peBits is not divided by 256. |
ippStsRangeErr |
Indicates an error condition if: bitsize of the input Seed value is less than reBits, not enough space to store the output Seed value (if requested). |
ippStsBadArgErr |
Indicates an error condition if nTrials < 1. |
ippStsInsuffucientEntropy |
Indicates a warning condition if prime generation fails due to a poor choice of the entropy. |