LMS Key Generation#
Performs the LMS private and public keys generation.
Syntax#
IppStatus ippsLMSKeyGen (IppsLMSPrivateKeyState* pPrvKey,
IppsLMSPublicKeyState* pPubKey,
IppBitSupplier rndFunc,
void* pRndParam,
Ipp8u* pBuffer);
Include Files#
ippcp.h
Parameters#
pPrvKey |
Pointer to the initialized |
pPubKey |
Pointer to the initialized |
rndFunc |
Pointer to the random number generator function that is used for private key generation.
The function should be defined as:
|
pRndParam |
Pointer to the user-defined parameter for the random number generator function. It can be a NULL pointer. |
pBuffer |
Pointer to the temporary buffer. Size is greater or equal to the value returned by the ippsLMSKeyGenBufferGetSize function. |
Description#
This function generates private and public LMS keys.
This function uses internally the random number generator (RNG) provided by
the user through the rndFunc parameter, please see
User’s Implementation of a RNG
for more information regarding creation the customer’s defined RNG object.
If rndFunc is NULL, the internal default random number generator
based on RDRAND hardware instruction is used.
pPrvKey and pPubKey are output parameters.
Note
Important
You need to enable the IPPCP_PREVIEW_LMS macro to use the feature.
For more information, see Preview Features.
Return Values#
ippStsNoErr |
Indicates no error. All single operations executed without errors. Any other value indicates an error or warning. |
ippStsNullPtrErr |
|
ippStsContextMatchErr |
|
ippStsBadArgErr |
wrong LMS or LMOTS parameters. |