Botan 3.5.0
Crypto and TLS for C&
|
Representation of an LMS Private key. More...
#include <lms.h>
Public Member Functions | |
const LMS_Identifier & | identifier () const |
The identifier of this LMS tree ('I' in RFC 8554) | |
const LMOTS_Params & | lmots_params () const |
The LMOTS parameters used for OTS instances of this LMS instance. | |
const LMS_Params & | lms_params () const |
The LMS parameters for this LMS instance. | |
LMS_PrivateKey (LMS_Params lms_params, LMOTS_Params lmots_params, LMS_Identifier I, LMS_Seed seed) | |
Construct storing the LMS instance data and the secret seed. | |
const LMS_Seed & | seed () const |
The secret seed used for LMOTS' WOTS chain input creation (RFC 8554 Appendix A) | |
LMS_PublicKey | sign_and_get_pk (StrongSpan< LMS_Signature_Bytes > out_sig, LMS_Tree_Node_Idx q, const LMS_Message &msg) const |
Sign a message using an LMS_PrivateKey and the used leaf index (RFC 8554 5.4.1). | |
Representation of an LMS Private key.
Contains the secret seed used for OTS key derivation as described in RFC 8554 Appendix A.
|
inline |
Construct storing the LMS instance data and the secret seed.
Definition at line 194 of file lms.h.
|
inlineinherited |
The identifier of this LMS tree ('I' in RFC 8554)
Definition at line 173 of file lms.h.
Referenced by Botan::LMS_PublicKey::LMS_PublicKey(), sign_and_get_pk(), and Botan::LMS_PublicKey::to_bytes().
|
inlineinherited |
The LMOTS parameters used for OTS instances of this LMS instance.
Definition at line 168 of file lms.h.
Referenced by Botan::LMS_PublicKey::from_bytes_or_throw(), sign_and_get_pk(), Botan::LMS_PublicKey::to_bytes(), Botan::HSS_LMS_PublicKeyInternal::verify_signature(), and Botan::LMS_PublicKey::verify_signature().
|
inlineinherited |
The LMS parameters for this LMS instance.
Definition at line 163 of file lms.h.
Referenced by Botan::LMS_PublicKey::from_bytes_or_throw(), sign_and_get_pk(), Botan::HSS_LMS_PublicKeyInternal::size(), Botan::LMS_PublicKey::size(), Botan::LMS_PublicKey::to_bytes(), Botan::HSS_LMS_PublicKeyInternal::verify_signature(), and Botan::LMS_PublicKey::verify_signature().
|
inline |
The secret seed used for LMOTS' WOTS chain input creation (RFC 8554 Appendix A)
Definition at line 200 of file lms.h.
Referenced by sign_and_get_pk().
LMS_PublicKey Botan::LMS_PrivateKey::sign_and_get_pk | ( | StrongSpan< LMS_Signature_Bytes > | out_sig, |
LMS_Tree_Node_Idx | q, | ||
const LMS_Message & | msg ) const |
Sign a message using an LMS_PrivateKey and the used leaf index (RFC 8554 5.4.1).
The signature is written in the provided buffer. The LMS_PublicKey associated with the given private key is returned.
Definition at line 241 of file lms.cpp.
References Botan::BufferStuffer::append(), BOTAN_ARG_CHECK, BOTAN_ASSERT_NOMSG, Botan::BufferStuffer::full(), Botan::detail::Strong_Base< T >::get(), Botan::LMS_Params::h(), Botan::LMS_Instance::identifier(), Botan::LMS_Instance::lmots_params(), Botan::LMS_Instance::lms_params(), Botan::LMS_Params::m(), Botan::BufferStuffer::next(), seed(), Botan::LMOTS_Private_Key::sign(), Botan::LMOTS_Signature::size(), Botan::LMS_Signature::size(), Botan::StrongSpan< T >::size(), and Botan::store_be().