Botan 3.5.0
Crypto and TLS for C&
lm_ots.h File Reference

Internal Header. More...

#include <botan/hash.h>
#include <botan/internal/stl_util.h>
#include <span>
#include <string>
#include <string_view>
#include <vector>

Go to the source code of this file.

Classes

class  Botan::LMOTS_Params
 The LM-OTS parameters. More...
 
class  Botan::LMOTS_Private_Key
 Representation of an LMOTS private key. More...
 
class  Botan::LMOTS_Public_Key
 Representation of an OTS public key. More...
 
class  Botan::LMOTS_Signature
 Representation of a LM-OTS signature. More...
 
class  Botan::OTS_Instance
 Base class for LMOTS private and public key. Contains the parameters for the specific OTS instance. More...
 

Namespaces

namespace  Botan
 

Typedefs

using Botan::LMOTS_K = Strong<std::vector<uint8_t>, struct LMOTS_K_>
 The K value from the LM-OTS public key.
 
using Botan::LMOTS_Node = Strong<secure_vector<uint8_t>, struct LMOTS_Node_>
 One node within one LM-OTS hash chain.
 
using Botan::LMOTS_Signature_Bytes = Strong<std::vector<uint8_t>, struct LMOTS_Signature_Bytes_>
 Byte vector of an LM-OTS signature.
 
using Botan::LMS_Identifier = Strong<std::vector<uint8_t>, struct LMS_Identifier_>
 The identifier of an LMS tree (I in RFC 8554)
 
using Botan::LMS_Message = Strong<std::vector<uint8_t>, struct LMS_Message_>
 A message that is signed with an LMS tree.
 
using Botan::LMS_Seed = Strong<secure_vector<uint8_t>, struct LMS_SEED_>
 Seed of the LMS tree, used to generate the LM-OTS private keys.
 
using Botan::LMS_Tree_Node_Idx = Strong<uint32_t, struct LMS_Tree_Node_Idx_, EnableArithmeticWithPlainNumber>
 The index of a node within a specific LMS tree layer.
 

Enumerations

enum class  Botan::LMOTS_Algorithm_Type : uint32_t {
  Botan::RESERVED = 0x00 , Botan::SHA256_N32_W1 = 0x01 , Botan::SHA256_N32_W2 = 0x02 , Botan::SHA256_N32_W4 = 0x03 ,
  Botan::SHA256_N32_W8 = 0x04 , Botan::SHA256_N24_W1 = 0x05 , Botan::SHA256_N24_W2 = 0x06 , Botan::SHA256_N24_W4 = 0x07 ,
  Botan::SHA256_N24_W8 = 0x08 , Botan::SHAKE_N32_W1 = 0x09 , Botan::SHAKE_N32_W2 = 0x0a , Botan::SHAKE_N32_W4 = 0x0b ,
  Botan::SHAKE_N32_W8 = 0x0c , Botan::SHAKE_N24_W1 = 0x0d , Botan::SHAKE_N24_W2 = 0x0e , Botan::SHAKE_N24_W4 = 0x0f ,
  Botan::SHAKE_N24_W8 = 0x10
}
 Enum of available LM-OTS algorithm types. More...
 

Functions

LMOTS_K Botan::lmots_compute_pubkey_from_sig (const LMOTS_Signature &sig, const LMS_Message &msg, const LMS_Identifier &identifier, LMS_Tree_Node_Idx q)
 Compute a public key candidate for an OTS-signature-message pair and the OTS instance parameters.
 

Detailed Description

Internal Header.

Definition in file lm_ots.h.