Set XMSS Signature State

Set XMSS Signature State#

Syntax#

IppStatus ippsXMSSSetSignatureState (IppsXMSSAlgo OIDAlgo,
                                     Ipp32u idx,
                                     const Ipp8u* r,
                                     const Ipp8u* pOTSSign,
                                     const Ipp8u* pAuthPath,
                                     IppsXMSSSignatureState* pState);

Include Files#

ippcp.h

Parameters#

OIDAlgo

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

idx

Index of the XMSS tree leaf.

r

Pointer to the XMSS signature randomness variable.

pOTSSign

Pointer to the WOTS signature.

pAuthPath

Pointer to the XMSS authorization path.

pState

Pointer to the XMSS signature state.

Description#

This function sets the XMSS signature state. The scheme of the signature is shown below:

+---------------------------------+
|                                 |
|          index idx_sig          | 4 bytes
|                                 |
+---------------------------------+
|                                 |
|          randomness r           | n bytes
|                                 |
+---------------------------------+
|                                 |
|     WOTS+ signature sig_ots     | len * n bytes
|                                 |
+---------------------------------+
|                                 |
|        authorization path       | h * n bytes
|                                 |
+---------------------------------+

n, len are WOTS+ parameters, h is the XMSS tree height.

Note

Important

This is a Preview Feature. You need to enable the IPPCP_PREVIEW_XMSS 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 < 1 or OIDAlgo > the maximum value for IppsXMSSAlgo.