Botan
2.1.0
Crypto and TLS for C++11
|
#include <xmss_parameters.h>
Public Types | |
enum | xmss_algorithm_t { XMSS_SHA2_256_W16_H10 = 0x01000001, XMSS_SHA2_256_W16_H16 = 0x02000002, XMSS_SHA2_256_W16_H20 = 0x03000003, XMSS_SHA2_512_W16_H10 = 0x04000004, XMSS_SHA2_512_W16_H16 = 0x05000005, XMSS_SHA2_512_W16_H20 = 0x06000006, XMSS_SHAKE128_W16_H10 = 0x07000007, XMSS_SHAKE128_W16_H16 = 0x08000008, XMSS_SHAKE128_W16_H20 = 0x09000009, XMSS_SHAKE256_W16_H10 = 0x0a00000a, XMSS_SHAKE256_W16_H16 = 0x0b00000b, XMSS_SHAKE256_W16_H20 = 0x0c00000c } |
Public Member Functions | |
size_t | element_size () const |
size_t | estimated_strength () const |
const std::string & | hash_function_name () const |
size_t | len () const |
const std::string & | name () const |
xmss_algorithm_t | oid () const |
bool | operator== (const XMSS_Parameters &p) const |
XMSS_WOTS_Parameters::ots_algorithm_t | ots_oid () const |
size_t | tree_height () const |
size_t | wots_parameter () const |
XMSS_Parameters (const std::string &algo_name) | |
XMSS_Parameters (xmss_algorithm_t oid) | |
Static Public Member Functions | |
static xmss_algorithm_t | xmss_id_from_string (const std::string &algo_name) |
Descibes a signature method for XMSS, as defined in: [1] XMSS: Extended Hash-Based Signatures, draft-itrf-cfrg-xmss-hash-based-signatures-06 Release: July 2016. https://datatracker.ietf.org/doc/ draft-irtf-cfrg-xmss-hash-based-signatures/?include_text=1
Definition at line 28 of file xmss_parameters.h.
Definition at line 31 of file xmss_parameters.h.
Botan::XMSS_Parameters::XMSS_Parameters | ( | const std::string & | algo_name | ) |
Definition at line 49 of file xmss_parameters.cpp.
Botan::XMSS_Parameters::XMSS_Parameters | ( | xmss_algorithm_t | oid | ) |
Definition at line 55 of file xmss_parameters.cpp.
References XMSS_SHA2_256_W16_H10, XMSS_SHA2_256_W16_H16, XMSS_SHA2_256_W16_H20, XMSS_SHA2_512_W16_H10, XMSS_SHA2_512_W16_H16, XMSS_SHA2_512_W16_H20, XMSS_SHAKE128_W16_H10, XMSS_SHAKE128_W16_H16, XMSS_SHAKE128_W16_H20, XMSS_SHAKE256_W16_H10, XMSS_SHAKE256_W16_H16, and XMSS_SHAKE256_W16_H20.
|
inline |
Retrieves the uniform length of a message, and the size of each node. This correlates to XMSS parameter "n" defined in [1].
Definition at line 72 of file xmss_parameters.h.
Referenced by Botan::XMSS_Common_Ops::randomize_tree_hash(), Botan::XMSS_PrivateKey::XMSS_PrivateKey(), Botan::XMSS_PublicKey::XMSS_PublicKey(), and Botan::XMSS_Signature::XMSS_Signature().
|
inline |
Returns the estimated pre-quantum security level of the chosen algorithm.
Definition at line 100 of file xmss_parameters.h.
|
inline |
Definition at line 60 of file xmss_parameters.h.
|
inline |
Definition at line 87 of file xmss_parameters.h.
Referenced by Botan::XMSS_Common_Ops::create_l_tree(), and Botan::XMSS_Signature::XMSS_Signature().
|
inline |
Definition at line 55 of file xmss_parameters.h.
References m_name.
|
inline |
Definition at line 89 of file xmss_parameters.h.
References m_oid.
Referenced by Botan::XMSS_Verification_Operation::is_valid_signature(), and Botan::XMSS_PublicKey::raw_public_key().
|
inline |
Definition at line 105 of file xmss_parameters.h.
References m_oid.
|
inline |
Definition at line 91 of file xmss_parameters.h.
|
inline |
Definition at line 77 of file xmss_parameters.h.
Referenced by Botan::XMSS_Signature::XMSS_Signature().
|
inline |
The Winternitz parameter.
Definition at line 85 of file xmss_parameters.h.
|
static |
Definition at line 20 of file xmss_parameters.cpp.
References XMSS_SHA2_256_W16_H10, XMSS_SHA2_256_W16_H16, XMSS_SHA2_256_W16_H20, XMSS_SHA2_512_W16_H10, XMSS_SHA2_512_W16_H16, XMSS_SHA2_512_W16_H20, XMSS_SHAKE128_W16_H10, XMSS_SHAKE128_W16_H16, XMSS_SHAKE128_W16_H20, XMSS_SHAKE256_W16_H10, XMSS_SHAKE256_W16_H16, and XMSS_SHAKE256_W16_H20.