Botan 3.4.0
Crypto and TLS for C&
|
#include <stl_util.h>
Public Member Functions | |
BufferSlicer (std::span< const uint8_t > buffer) | |
template<concepts::contiguous_container ContainerT> | |
auto | copy (const size_t count) |
auto | copy_as_secure_vector (const size_t count) |
auto | copy_as_vector (const size_t count) |
void | copy_into (std::span< uint8_t > sink) |
bool | empty () const |
size_t | remaining () const |
void | skip (const size_t count) |
template<size_t count> | |
std::span< const uint8_t, count > | take () |
std::span< const uint8_t > | take (const size_t count) |
template<concepts::contiguous_strong_type T> | |
StrongSpan< const T > | take (const size_t count) |
uint8_t | take_byte () |
Helper class to ease unmarshalling of concatenated fixed-length values
Definition at line 142 of file stl_util.h.
|
inline |
Definition at line 144 of file stl_util.h.
|
inline |
Definition at line 147 of file stl_util.h.
References take().
Referenced by Botan::FrodoKEM_PrivateKey::FrodoKEM_PrivateKey(), Botan::FrodoKEM_PublicKey::FrodoKEM_PublicKey(), and Botan::Sphincs_Hash_Functions::H_msg().
|
inline |
Definition at line 154 of file stl_util.h.
Referenced by Botan::TLS::Session::decrypt(), Botan::Kyber_PrivateKey::Kyber_PrivateKey(), and Botan::XMSS_PublicKey::XMSS_PublicKey().
|
inline |
Definition at line 152 of file stl_util.h.
Referenced by Botan::Kyber_PublicKey::initialize_from_encoding(), and Botan::Kyber_PrivateKey::Kyber_PrivateKey().
|
inline |
Definition at line 178 of file stl_util.h.
References take().
|
inline |
Definition at line 187 of file stl_util.h.
Referenced by Botan::Keccak_Permutation::absorb(), Botan::BLAKE2b::add_data(), Botan::Streebog::add_data(), Botan::MD4::compress_n(), Botan::compute_root(), Botan::FrodoKEM_PrivateKey::FrodoKEM_PrivateKey(), Botan::FrodoKEM_PublicKey::FrodoKEM_PublicKey(), Botan::Sphincs_Hash_Functions::H_msg(), Botan::AlignmentBuffer< T, BLOCK_SIZE, FINAL_BLOCK_STRATEGY >::handle_unaligned_data(), Botan::ht_verify(), Botan::Kyber_PublicKey::initialize_from_encoding(), Botan::Kyber_PrivateKey::Kyber_PrivateKey(), Botan::Kyber_PrivateKey::Kyber_PrivateKey(), Botan::TLS::Hybrid_KEM_PublicKey::load_for_group(), and Botan::MerkleDamgard_Hash< MD >::update().
|
inline |
Definition at line 185 of file stl_util.h.
Referenced by Botan::Keccak_Permutation::absorb(), Botan::AlignmentBuffer< T, BLOCK_SIZE, FINAL_BLOCK_STRATEGY >::aligned_data_to_process(), Botan::TLS::Session::decrypt(), Botan::AlignmentBuffer< T, BLOCK_SIZE, FINAL_BLOCK_STRATEGY >::handle_unaligned_data(), Botan::AlignmentBuffer< T, BLOCK_SIZE, FINAL_BLOCK_STRATEGY >::next_aligned_block_to_process(), take(), and take().
|
inline |
Definition at line 183 of file stl_util.h.
References take().
Referenced by Botan::Kyber_PrivateKey::Kyber_PrivateKey(), and Botan::XMSS_PublicKey::XMSS_PublicKey().
|
inline |
Definition at line 164 of file stl_util.h.
References BOTAN_STATE_CHECK, and remaining().
Referenced by copy(), copy_into(), skip(), take(), and take_byte().
|
inline |
Definition at line 156 of file stl_util.h.
References BOTAN_STATE_CHECK, and remaining().
Referenced by Botan::Keccak_Permutation::absorb(), Botan::AlignmentBuffer< T, BLOCK_SIZE, FINAL_BLOCK_STRATEGY >::aligned_data_to_process(), Botan::SHA_256::compress_digest(), Botan::SHA_512::compress_digest(), Botan::SHA_512::compress_digest_bmi2(), Botan::SHA_256::compress_digest_x86_bmi2(), Botan::MD4::compress_n(), Botan::MD5::compress_n(), Botan::RIPEMD_160::compress_n(), Botan::SHA_1::compress_n(), Botan::SM3::compress_n(), Botan::Whirlpool::compress_n(), Botan::compute_root(), Botan::TLS::Session::decrypt(), Botan::fors_public_key_from_signature(), Botan::FrodoKEM_PrivateKey::FrodoKEM_PrivateKey(), Botan::FrodoKEM_PublicKey::FrodoKEM_PublicKey(), Botan::Sphincs_Hash_Functions::H_msg(), Botan::AlignmentBuffer< T, BLOCK_SIZE, FINAL_BLOCK_STRATEGY >::handle_unaligned_data(), Botan::ht_verify(), Botan::Kyber_PublicKey::initialize_from_encoding(), Botan::Kyber_PrivateKey::Kyber_PrivateKey(), Botan::Kyber_PrivateKey::Kyber_PrivateKey(), Botan::TLS::Hybrid_KEM_PublicKey::load_for_group(), Botan::AlignmentBuffer< T, BLOCK_SIZE, FINAL_BLOCK_STRATEGY >::next_aligned_block_to_process(), and Botan::wots_public_key_from_signature().
|
inline |
Definition at line 172 of file stl_util.h.
References take().
|
inline |
Definition at line 176 of file stl_util.h.
References take().
Referenced by Botan::Keccak_Permutation::absorb().