Botan
2.1.0
Crypto and TLS for C++11
|
#include <xmss_wots_signature_operation.h>
Public Member Functions | |
secure_vector< uint8_t > | sign (RandomNumberGenerator &) override |
void | update (const uint8_t msg[], size_t msg_len) override |
XMSS_WOTS_Signature_Operation (const XMSS_WOTS_Addressed_PrivateKey &private_key) | |
virtual | ~XMSS_WOTS_Signature_Operation ()=default |
Protected Member Functions | |
void | chain (secure_vector< uint8_t > &result, size_t start_idx, size_t steps, XMSS_Address &adrs, const secure_vector< uint8_t > &seed) |
Protected Attributes | |
XMSS_Hash | m_hash |
XMSS_WOTS_Parameters | m_wots_params |
Signature generation operation for Winternitz One Time Signatures for use in Extended Hash-Based Signatures (XMSS).
This operation is not intended for stand-alone use and thus not registered in the Botan algorithm registry.
Definition at line 28 of file xmss_wots_signature_operation.h.
Botan::XMSS_WOTS_Signature_Operation::XMSS_WOTS_Signature_Operation | ( | const XMSS_WOTS_Addressed_PrivateKey & | private_key | ) |
Definition at line 18 of file xmss_wots_signature_operation.cpp.
References Botan::XMSS_WOTS_Parameters::element_size(), Botan::XMSS_WOTS_Addressed_PrivateKey::private_key(), and Botan::XMSS_WOTS_PublicKey::wots_parameters().
|
virtualdefault |
|
protectedinherited |
Algorithm 2: Chaining Function.
[out] | result | Contains the n-byte input string "x" upon call to chain(), that will be replaced with the value obtained by iterating the cryptographic hash function "F" steps times on the input x using the outputs of the PRNG "G". |
[in] | start_idx | The start index. |
[in] | steps | A number of steps. |
[in] | adrs | An OTS Hash Address. |
[in] | seed | A Seed. |
Definition at line 16 of file xmss_wots_common_ops.cpp.
References Botan::XMSS_Address::bytes(), Botan::XMSS_Hash::f(), Botan::XMSS_Address::Key_Mode, Botan::XMSS_WOTS_Common_Ops::m_hash, Botan::XMSS_WOTS_Common_Ops::m_wots_params, Botan::XMSS_Address::Mask_Mode, Botan::XMSS_Hash::prf(), Botan::XMSS_Address::set_hash_address(), Botan::XMSS_Address::set_key_mask_mode(), Botan::XMSS_WOTS_Parameters::wots_parameter(), and Botan::xor_buf().
|
overridevirtual |
Creates a XMSS WOTS signature for the message provided through call to update(). XMSS wots only supports one message part and a fixed message size of "n" bytes where "n" equals the element size of the chosen XMSS WOTS signature method. The random number generator argument is supplied for interface compatibility and remains unused.
Implements Botan::PK_Ops::Signature.
Definition at line 41 of file xmss_wots_signature_operation.cpp.
References Botan::XMSS_WOTS_Addressed_PublicKey::address(), Botan::XMSS_WOTS_Parameters::element_size(), Botan::XMSS_WOTS_Parameters::len(), Botan::XMSS_WOTS_Common_Ops::m_wots_params, Botan::XMSS_WOTS_Addressed_PrivateKey::private_key(), and Botan::XMSS_WOTS_PrivateKey::sign().
|
overridevirtual |
Implements Botan::PK_Ops::Signature.
Definition at line 29 of file xmss_wots_signature_operation.cpp.
References BOTAN_ASSERT, Botan::XMSS_WOTS_Addressed_PrivateKey::private_key(), and Botan::XMSS_WOTS_PublicKey::wots_parameters().
|
protectedinherited |
Definition at line 50 of file xmss_wots_common_ops.h.
Referenced by Botan::XMSS_WOTS_Common_Ops::chain().
|
protectedinherited |
Definition at line 49 of file xmss_wots_common_ops.h.
Referenced by Botan::XMSS_WOTS_Common_Ops::chain(), and sign().