Set LMS Public Key State

Set LMS Public Key State#

Syntax#

IppStatus ippsLMSSetPublicKeyState (const IppsLMSAlgoType OIDAlgo,
                                    const Ipp8u* pI,
                                    const Ipp8u* pK,
                                    IppsLMSPublicKeyState* pState);

Include Files#

ippcp.h

Parameters#

OIDAlgo

LMS Algorithm ID. It defines a set of LMS parameters. See Supported LMS Algorithms for more information.

pI

Pointer to the LMS 16-byte string I.

pK

Pointer to the LMS public key K value.

pState

Pointer to the LMS public key state.

Description#

This function sets the public key state. The scheme of the public key is shown below:

+---------------------------------+
|           IppsLMSAlgo           | 4 bytes
+---------------------------------+
|          IppsLMOTSAlgo          | 4 bytes
+---------------------------------+
|               I                 | 16 bytes
+---------------------------------+
|               K                 | n bytes
+---------------------------------+

n is a LM-OTS parameter.

Note

Important

This is a Preview Feature. You need to enable the IPPCP_PREVIEW_LMS macro to use the feature.

Return Values#

ippStsNoErr

Indicates no error. All single operations executed without errors. Any other value indicates an error or warning.

ippStsNullPtrErr

Any of the input parameters is a NULL pointer.

ippStsBadArgErr

OIDAlgo.lmotsOIDAlgo < the minimum value for IppsLMOTSAlgo, OIDAlgo.lmotsOIDAlgo > the maximum value for IppsLMOTSAlgo, OIDAlgo.prmLmsAlg < the minimum value for IppsLMSAlgo or OIDAlgo.prmLmsAlg > the maximum value for IppsLMSAlgo.