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

Internal Header. More...

#include <botan/exceptn.h>
#include <botan/strong_type.h>
#include <botan/internal/stl_util.h>
#include <cstdint>
#include <functional>
#include <optional>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  Botan
 
namespace  Botan::concepts
 

Concepts

concept  Botan::concepts::tree_node
 
concept  Botan::concepts::tree_node_index
 An index of a node in a layer.
 
concept  Botan::concepts::tree_layer_index
 A layer in a Tree.
 
concept  Botan::concepts::strong_span
 
concept  Botan::concepts::tree_address
 An adress in a Tree.
 
concept  Botan::concepts::tree_hash_node_pair
 
concept  Botan::concepts::tree_gen_leaf
 

Functions

template<concepts::contiguous_strong_type TreeNode, concepts::strong_span AuthPathSS, concepts::tree_node_index TreeNodeIndex, concepts::tree_layer_index TreeLayerIndex, typename Address >
requires concepts::tree_address<Address, TreeLayerIndex, TreeNodeIndex>
void Botan::compute_root (StrongSpan< TreeNode > out_root, AuthPathSS authentication_path, TreeNodeIndex leaf_idx, StrongSpan< const TreeNode > leaf, size_t node_size, TreeLayerIndex total_tree_height, uint32_t idx_offset, concepts::tree_hash_node_pair< TreeNodeIndex, TreeLayerIndex, Address, StrongSpan< TreeNode > > auto node_pair_hash, Address &tree_address)
 Uses an authentication path and a leaf node to reconstruct the root node of a merkle tree.
 
template<concepts::contiguous_strong_type TreeNode, concepts::strong_span AuthPathSS, concepts::tree_node_index TreeNodeIndex, concepts::tree_layer_index TreeLayerIndex, typename Address >
requires concepts::tree_address<Address, TreeLayerIndex, TreeNodeIndex>
void Botan::treehash (StrongSpan< TreeNode > out_root, std::optional< AuthPathSS > out_auth_path, std::optional< TreeNodeIndex > leaf_idx, size_t node_size, TreeLayerIndex total_tree_height, uint32_t idx_offset, concepts::tree_hash_node_pair< TreeNodeIndex, TreeLayerIndex, Address, StrongSpan< TreeNode > > auto node_pair_hash, concepts::tree_gen_leaf< TreeNodeIndex, TreeLayerIndex, Address, StrongSpan< TreeNode > > auto gen_leaf, Address &tree_address)
 Treehash logic to build up a merkle hash tree.
 

Detailed Description

Internal Header.

Definition in file tree_hash.h.