14#include <botan/xmss_parameters.h>
15#include <botan/exceptn.h>
21 if(param_set ==
"XMSS-SHA2_10_256")
23 if(param_set ==
"XMSS-SHA2_16_256")
25 if(param_set ==
"XMSS-SHA2_20_256")
27 if(param_set ==
"XMSS-SHA2_10_512")
29 if(param_set ==
"XMSS-SHA2_16_512")
31 if(param_set ==
"XMSS-SHA2_20_512")
33 if(param_set ==
"XMSS-SHAKE_10_256")
35 if(param_set ==
"XMSS-SHAKE_16_256")
37 if(param_set ==
"XMSS-SHAKE_20_256")
39 if(param_set ==
"XMSS-SHAKE_10_512")
41 if(param_set ==
"XMSS-SHAKE_16_512")
43 if(param_set ==
"XMSS-SHAKE_20_512")
45 throw Lookup_Error(
"Unknown XMSS algorithm param '" + param_set +
"'");
63 m_name =
"XMSS-SHA2_10_256";
64 m_hash_name =
"SHA-256";
73 m_name =
"XMSS-SHA2_16_256";
74 m_hash_name =
"SHA-256";
83 m_name =
"XMSS-SHA2_20_256";
84 m_hash_name =
"SHA-256";
93 m_name =
"XMSS-SHA2_10_512";
94 m_hash_name =
"SHA-512";
103 m_name =
"XMSS-SHA2_16_512";
104 m_hash_name =
"SHA-512";
113 m_name =
"XMSS-SHA2_20_512";
114 m_hash_name =
"SHA-512";
123 m_name =
"XMSS-SHAKE_10_256";
124 m_hash_name =
"SHAKE-128(256)";
133 m_name =
"XMSS-SHAKE_16_256";
134 m_hash_name =
"SHAKE-128(256)";
143 m_name =
"XMSS-SHAKE_20_256";
144 m_hash_name =
"SHAKE-128(256)";
153 m_name =
"XMSS-SHAKE_10_512";
154 m_hash_name =
"SHAKE-256(512)";
163 m_name =
"XMSS-SHAKE_16_512";
164 m_hash_name =
"SHAKE-256(512)";
173 m_name =
"XMSS-SHAKE_20_512";
174 m_hash_name =
"SHAKE-256(512)";
179 throw Not_Implemented(
"Algorithm id does not match any known XMSS algorithm id:" + std::to_string(
oid));
xmss_algorithm_t oid() const
XMSS_Parameters(const std::string &algo_name)
static xmss_algorithm_t xmss_id_from_string(const std::string &algo_name)