Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
blake3s.hpp File Reference
#include <array>
#include <cstddef>
#include <cstdint>
#include <string>
#include <vector>
#include "blake3-impl.hpp"

Go to the source code of this file.

Classes

struct  blake3::blake3_hasher
 

Namespaces

namespace  blake3
 

Typedefs

using blake3::key_array = std::array< uint32_t, BLAKE3_KEY_LEN >
 
using blake3::block_array = std::array< uint8_t, BLAKE3_BLOCK_LEN >
 
using blake3::state_array = std::array< uint32_t, 16 >
 
using blake3::out_array = std::array< uint8_t, BLAKE3_OUT_LEN >
 

Enumerations

enum  blake3::blake3_flags {
  blake3::CHUNK_START = 1 << 0 , blake3::CHUNK_END = 1 << 1 , blake3::PARENT = 1 << 2 , blake3::ROOT = 1 << 3 ,
  blake3::KEYED_HASH = 1 << 4 , blake3::DERIVE_KEY_CONTEXT = 1 << 5 , blake3::DERIVE_KEY_MATERIAL = 1 << 6
}
 
enum  blake3::blake3s_constant {
  blake3::BLAKE3_KEY_LEN = 32 , blake3::BLAKE3_OUT_LEN = 32 , blake3::BLAKE3_BLOCK_LEN = 64 , blake3::BLAKE3_CHUNK_LEN = 1024 ,
  blake3::BLAKE3_MAX_DEPTH = 54
}
 

Functions

const char * blake3::blake3_version ()
 
constexpr void blake3::blake3_hasher_init (blake3_hasher *self)
 
constexpr void blake3::blake3_hasher_update (blake3_hasher *self, const uint8_t *input, size_t input_len)
 
constexpr void blake3::blake3_hasher_finalize (const blake3_hasher *self, uint8_t *out)
 
constexpr void blake3::g (state_array &state, size_t a, size_t b, size_t c, size_t d, uint32_t x, uint32_t y)
 
constexpr void blake3::round_fn (state_array &state, const uint32_t *msg, size_t round)
 
constexpr void blake3::compress_pre (state_array &state, const key_array &cv, const uint8_t *block, uint8_t block_len, uint8_t flags)
 
constexpr void blake3::blake3_compress_in_place (key_array &cv, const uint8_t *block, uint8_t block_len, uint8_t flags)
 
constexpr void blake3::blake3_compress_xof (const key_array &cv, const uint8_t *block, uint8_t block_len, uint8_t flags, uint8_t *out)
 
constexpr std::array< uint8_t, BLAKE3_OUT_LENblake3::blake3s_constexpr (const uint8_t *input, size_t input_size)
 
std::vector< uint8_t > blake3::blake3s (std::vector< uint8_t > const &input)