Botan 3.5.0
Crypto and TLS for C&
|
The LMS parameters. More...
#include <lms.h>
Public Member Functions | |
LMS_Algorithm_Type | algorithm_type () const |
Retuns the LMS algorithm type. | |
uint8_t | h () const |
Returns the height of the LMS tree. | |
std::unique_ptr< HashFunction > | hash () const |
Construct a new hash instance for the LMS instance. | |
const std::string & | hash_name () const |
Returns the name of the hash function to use. | |
size_t | m () const |
Returns the number of bytes associated with each node. | |
Static Public Member Functions | |
static LMS_Params | create_or_throw (LMS_Algorithm_Type type) |
Create the LMS parameters from a known algorithm type. | |
static LMS_Params | create_or_throw (std::string_view hash_name, uint8_t h) |
Create the LMS parameters from a hash function and tree height. | |
|
inline |
|
static |
Create the LMS parameters from a known algorithm type.
Decoding_Error | If the algorithm type is unknown |
Definition at line 112 of file lms.cpp.
References hash_name(), Botan::SHA256_M24_H10, Botan::SHA256_M24_H15, Botan::SHA256_M24_H20, Botan::SHA256_M24_H25, Botan::SHA256_M24_H5, Botan::SHA256_M32_H10, Botan::SHA256_M32_H15, Botan::SHA256_M32_H20, Botan::SHA256_M32_H25, Botan::SHA256_M32_H5, Botan::SHAKE_M24_H10, Botan::SHAKE_M24_H15, Botan::SHAKE_M24_H20, Botan::SHAKE_M24_H25, Botan::SHAKE_M24_H5, Botan::SHAKE_M32_H10, Botan::SHAKE_M32_H15, Botan::SHAKE_M32_H20, Botan::SHAKE_M32_H25, and Botan::SHAKE_M32_H5.
Referenced by Botan::HSS_LMS_PrivateKeyInternal::from_bytes_or_throw(), Botan::LMS_PublicKey::from_bytes_or_throw(), Botan::LMS_Signature::from_bytes_or_throw(), and Botan::HSS_LMS_Params::HSS_LMS_Params().
|
static |
Create the LMS parameters from a hash function and tree height.
hash_name | The name of the hash function to use. |
h | The height of the tree. |
Decoding_Error | If the algorithm type is unknown |
Definition at line 163 of file lms.cpp.
References h(), hash(), hash_name(), Botan::SHA256_M24_H10, Botan::SHA256_M24_H15, Botan::SHA256_M24_H20, Botan::SHA256_M24_H25, Botan::SHA256_M24_H5, Botan::SHA256_M32_H10, Botan::SHA256_M32_H15, Botan::SHA256_M32_H20, Botan::SHA256_M32_H25, Botan::SHA256_M32_H5, Botan::SHAKE_M24_H10, Botan::SHAKE_M24_H15, Botan::SHAKE_M24_H20, Botan::SHAKE_M24_H25, Botan::SHAKE_M24_H5, Botan::SHAKE_M32_H10, Botan::SHAKE_M32_H15, Botan::SHAKE_M32_H20, Botan::SHAKE_M32_H25, and Botan::SHAKE_M32_H5.
|
inline |
Returns the height of the LMS tree.
Definition at line 113 of file lms.h.
Referenced by create_or_throw(), Botan::LMS_Signature::from_bytes_or_throw(), Botan::LMS_PrivateKey::sign_and_get_pk(), and Botan::LMS_Signature::size().
|
inline |
Construct a new hash instance for the LMS instance.
Definition at line 128 of file lms.h.
Referenced by create_or_throw().
|
inline |
Returns the name of the hash function to use.
Definition at line 123 of file lms.h.
Referenced by create_or_throw(), create_or_throw(), Botan::LMS_PublicKey::from_bytes_or_throw(), and Botan::HSS_LMS_PublicKeyInternal::verify_signature().
|
inline |
Returns the number of bytes associated with each node.
Definition at line 118 of file lms.h.
Referenced by Botan::LMS_PublicKey::from_bytes_or_throw(), Botan::LMS_Signature::from_bytes_or_throw(), Botan::HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal(), Botan::LMS_PrivateKey::sign_and_get_pk(), Botan::LMS_PublicKey::size(), and Botan::LMS_Signature::size().