Botan 3.5.0
Crypto and TLS for C&
|
A HSS-LMS signature. More...
#include <hss.h>
Classes | |
class | Signed_Pub_Key |
A LMS public key signed by the HSS layer above it. More... | |
Public Member Functions | |
const LMS_Signature & | bottom_sig () const |
Returns the LMS signature by the bottom layer of the signed message. | |
HSS_Level | Nspk () const |
Returns the number of signed public keys (Nspk = L-1). | |
const Signed_Pub_Key & | signed_pub_key (HSS_Level layer) const |
Returns the signed LMS key signed by a specific layer. | |
Static Public Member Functions | |
static HSS_Signature | from_bytes_or_throw (std::span< const uint8_t > sig_bytes) |
Parse a HSS-LMS signature. | |
static size_t | size (const HSS_LMS_Params ¶ms) |
Returns the size a signature would have in its encoded format. | |
A HSS-LMS signature.
Format according to RFC 8554: u32str(Nspk) || sig[0] || pub[1] || ... || sig[Nspk-1] || pub[Nspk] || sig[Nspk]
|
inline |
Returns the LMS signature by the bottom layer of the signed message.
Definition at line 377 of file hss.h.
Referenced by Botan::HSS_LMS_PublicKeyInternal::verify_signature().
|
static |
Parse a HSS-LMS signature.
sig_bytes | The signature bytes to parse. |
Decoding_Error | If parsing the signature fails. |
Definition at line 372 of file hss.cpp.
References Botan::BufferSlicer::empty(), Botan::LMS_PublicKey::from_bytes_or_throw(), Botan::LMS_Signature::from_bytes_or_throw(), Botan::load_be(), Nspk(), and Botan::BufferSlicer::take().
|
inline |
Returns the number of signed public keys (Nspk = L-1).
Definition at line 364 of file hss.h.
Referenced by from_bytes_or_throw(), and Botan::HSS_LMS_PublicKeyInternal::verify_signature().
|
inline |
Returns the signed LMS key signed by a specific layer.
layer | The layer by which the LMS key is signed. |
Definition at line 372 of file hss.h.
References Botan::detail::Strong_Base< T >::get().
Referenced by Botan::HSS_LMS_PublicKeyInternal::verify_signature().
|
static |
Returns the size a signature would have in its encoded format.
params | The HSS-LMS parameters. |
Definition at line 398 of file hss.cpp.
References Botan::HSS_LMS_Params::L(), Botan::HSS_LMS_Params::params_at_level(), size(), Botan::LMS_PublicKey::size(), and Botan::LMS_Signature::size().
Referenced by Botan::HSS_LMS_PrivateKeyInternal::sign(), and size().