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
|                                 |
+---------------------------------+
|                                 |
|        authorisation 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.