ippsMLKEM_Encaps#
Uses the encapsulation key to generate a shared secret key and an associated ciphertext.
Syntax#
IppStatus ippsMLKEM_Encaps(const Ipp8u* pEncKey, Ipp8u* pCipherText, Ipp8u* pSharedSecret,
IppsMLKEMState* pMLKEMCtx, Ipp8u* pScratchBuffer,
IppBitSupplier rndFunc, void* pRndParam);
Include Files#
ippcp.h
Parameters#
pEncKey |
Pointer to the encapsulation key of |
pCipherText |
Pointer to the produced ciphertext of |
pSharedSecret |
Pointer to the produced shared secret of |
pMLKEMCtx |
Pointer to the ML-KEM context. |
pScratchBuffer |
Pointer to the working buffer of size queried ippsMLKEM_EncapsBufferGetSize. |
rndFunc |
Optional function pointer to generate random numbers, can be |
pRndParam |
Optional parameters for |
Description#
The function generates a shared secret key and an associated ciphertext using the provided encapsulation key. The size of the output parameters depends on the selected scheme type and can be obtained using ippsMLKEM_GetInfo function. The working buffer should be allocated with the size not less than provided by ippsMLKEM_EncapsBufferGetSize function.
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 RDSEED hardware instruction is used.
Return Values#
ippStsNoErr |
Indicates no error. Any other value indicates an error or warning. |
ippStsNullPtrErr |
Any of the input pointers is |
ippStsContextMatchErr |
|
ippStsBadArgErr |
|
ippStsMemAllocErr |
An internal functional error. If this output status appears, update to the latest version of the library or contact Intel. |
ippStsNotSupportedModeErr |
Unsupported |
ippStsErr |
Random bit sequence can’t be generated. |
An error that may be returned by |
Problems with the user-defined random number generator. |