Supported LMS Algorithms
LMS includes a various set of algorithms that are different by LM-OTS parameter
(n
, w
, p
, ls
) and the LMS parameters itself (m
, h
).
Here you can find the actual set of LMS parameters and how they map to the enum.
Syntax
typedef enum
{
LMOTS_SHA256_N32_W1 = 1,
LMOTS_SHA256_N32_W2 = 2,
LMOTS_SHA256_N32_W4 = 3,
LMOTS_SHA256_N32_W8 = 4,
LMOTS_SHA256_N24_W1 = 5,
LMOTS_SHA256_N24_W2 = 6,
LMOTS_SHA256_N24_W4 = 7,
LMOTS_SHA256_N24_W8 = 8
} IppsLMOTSAlgo;
typedef enum
{
LMS_SHA256_M32_H5 = 5,
LMS_SHA256_M32_H10 = 6,
LMS_SHA256_M32_H15 = 7,
LMS_SHA256_M32_H20 = 8,
LMS_SHA256_M32_H25 = 9,
LMS_SHA256_M24_H5 = 10,
LMS_SHA256_M24_H10 = 11,
LMS_SHA256_M24_H15 = 12,
LMS_SHA256_M24_H20 = 13,
LMS_SHA256_M24_H25 = 14
} IppsLMSAlgo;
typedef struct {
IppsLMOTSAlgo lmotsOIDAlgo;
IppsLMSAlgo lmsOIDAlgo;
} IppsLMSAlgoType;
Table of values for LM-OTS algorithms
Name |
SHA Function |
n |
w |
p |
ls |
---|---|---|---|---|---|
LMOTS_SHA256_N32_W1 |
SHA2-256 |
32 |
1 |
265 |
7 |
LMOTS_SHA256_N32_W2 |
SHA2-256 |
32 |
2 |
133 |
6 |
LMOTS_SHA256_N32_W4 |
SHA2-256 |
32 |
4 |
67 |
4 |
LMOTS_SHA256_N32_W8 |
SHA2-256 |
32 |
8 |
34 |
0 |
LMOTS_SHA256_N24_W1 |
SHA2-256/192 |
24 |
1 |
200 |
8 |
LMOTS_SHA256_N24_W2 |
SHA2-256/192 |
24 |
2 |
101 |
6 |
LMOTS_SHA256_N24_W4 |
SHA2-256/192 |
24 |
4 |
51 |
4 |
LMOTS_SHA256_N24_W8 |
SHA2-256/192 |
24 |
8 |
26 |
0 |
Table of values for LMS algorithms
Name |
SHA Function |
m |
h |
---|---|---|---|
LMS_SHA256_M32_H5 |
SHA2-256 |
32 |
5 |
LMS_SHA256_M32_H10 |
SHA2-256 |
32 |
10 |
LMS_SHA256_M32_H15 |
SHA2-256 |
32 |
15 |
LMS_SHA256_M32_H20 |
SHA2-256 |
32 |
20 |
LMS_SHA256_M32_H25 |
SHA2-256 |
32 |
25 |
LMS_SHA256_M24_H5 |
SHA2-256/192 |
24 |
5 |
LMS_SHA256_M24_H10 |
SHA2-256/192 |
24 |
10 |
LMS_SHA256_M24_H15 |
SHA2-256/192 |
24 |
15 |
LMS_SHA256_M24_H20 |
SHA2-256/192 |
24 |
20 |
LMS_SHA256_M24_H25 |
SHA2-256/192 |
24 |
25 |
Description
IppsLMSAlgoType
is required to pass one value to LMS functions instead of
passing all parameters for the LMS algorithm call.
Note
Important
This is a Preview Feature.
You need to enable the IPPCP_PREVIEW_LMS
macro to use the feature.