Developer Guide and Reference for Intel® Cryptography Primitives Library
A newer version of this document is available. Customers should click here to go to the newest version.
Set LMS Signature State
Syntax
IppStatus ippsLMSSetSignatureState (const IppsLMSAlgoType OIDAlgo,
Ipp32u q,
const Ipp8u* pC,
const Ipp8u* pY,
const Ipp8u* pAuthPath,
IppsLMSSignatureState* pState);
Include Files
ippcp.h
Parameters
OIDAlgo |
LMS Algorithm ID. It defines a set of LMS parameters. See Supported LMS Algorithms for more information. |
q |
Index of the LMS tree leaf. |
pC |
Pointer to the random string C. |
pY |
Pointer to Y that is a part of the LM-OTS string. |
pAuthPath |
Pointer to the LMS authorization path. |
pState |
Pointer to the LMS signature state. |
Description
This function sets the LMS signature state. The scheme of the signature is shown below:
+---------------------------------+
| q | 4 bytes
+---------------------------------+
| LM-OTS signature | 4 + n * (p + 1) bytes
+---------------------------------+
| IppsLMSAlgo | 4 bytes
+---------------------------------+
| authorisation path | h * m bytes
+---------------------------------+
m, h are LMS parameters.
The scheme of the LM-OTS signature is shown below:
+---------------------------------+
| IppsLMOTSAlgo | 4 bytes
+---------------------------------+
| C | n bytes
+---------------------------------+
| Y | p * n bytes
+---------------------------------+
n, p are LM-OTS parameters.
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, OIDAlgo.prmLmsAlg > the maximum value for IppsLMSAlgo or q is incorrect. |