Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
blake3 Namespace Reference

Classes

struct  blake3_hasher
 

Typedefs

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

Enumerations

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

Functions

constexpr uint32_t rotr32 (uint32_t w, uint32_t c)
 
constexpr uint32_t load32 (const uint8_t *src)
 
constexpr void load_key_words (const std::array< uint8_t, BLAKE3_KEY_LEN > &key, key_array &key_words)
 
constexpr void store32 (uint8_t *dst, uint32_t w)
 
constexpr void store_cv_words (out_array &bytes_out, key_array &cv_words)
 
const char * blake3_version ()
 
constexpr void blake3_hasher_init (blake3_hasher *self)
 
constexpr void blake3_hasher_update (blake3_hasher *self, const uint8_t *input, size_t input_len)
 
constexpr void blake3_hasher_finalize (const blake3_hasher *self, uint8_t *out)
 
constexpr void g (state_array &state, size_t a, size_t b, size_t c, size_t d, uint32_t x, uint32_t y)
 
constexpr void round_fn (state_array &state, const uint32_t *msg, size_t round)
 
constexpr void compress_pre (state_array &state, const key_array &cv, const uint8_t *block, uint8_t block_len, uint8_t flags)
 
constexpr void blake3_compress_in_place (key_array &cv, const uint8_t *block, uint8_t block_len, uint8_t flags)
 
constexpr void 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_LENblake3s_constexpr (const uint8_t *input, size_t input_size)
 
std::vector< uint8_t > blake3s (std::vector< uint8_t > const &input)
 

Typedef Documentation

◆ block_array

using blake3::block_array = typedef std::array<uint8_t, BLAKE3_BLOCK_LEN>

Definition at line 66 of file blake3s.hpp.

◆ key_array

using blake3::key_array = typedef std::array<uint32_t, BLAKE3_KEY_LEN>

Definition at line 65 of file blake3s.hpp.

◆ out_array

using blake3::out_array = typedef std::array<uint8_t, BLAKE3_OUT_LEN>

Definition at line 68 of file blake3s.hpp.

◆ state_array

using blake3::state_array = typedef std::array<uint32_t, 16>

Definition at line 67 of file blake3s.hpp.

Enumeration Type Documentation

◆ blake3_flags

Enumerator
CHUNK_START 
CHUNK_END 
PARENT 
ROOT 
KEYED_HASH 
DERIVE_KEY_CONTEXT 
DERIVE_KEY_MATERIAL 

Definition at line 46 of file blake3s.hpp.

◆ blake3s_constant

Enumerator
BLAKE3_KEY_LEN 
BLAKE3_OUT_LEN 
BLAKE3_BLOCK_LEN 
BLAKE3_CHUNK_LEN 
BLAKE3_MAX_DEPTH 

Definition at line 57 of file blake3s.hpp.

Function Documentation

◆ blake3_compress_in_place()

constexpr void blake3::blake3_compress_in_place ( key_array cv,
const uint8_t *  block,
uint8_t  block_len,
uint8_t  flags 
)
constexpr

◆ blake3_compress_xof()

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

◆ blake3_hasher_finalize()

constexpr void blake3::blake3_hasher_finalize ( const blake3_hasher self,
uint8_t *  out 
)
constexpr

◆ blake3_hasher_init()

constexpr void blake3::blake3_hasher_init ( blake3_hasher self)
constexpr

◆ blake3_hasher_update()

constexpr void blake3::blake3_hasher_update ( blake3_hasher self,
const uint8_t *  input,
size_t  input_len 
)
constexpr

◆ blake3_version()

const char * blake3::blake3_version ( void  )
inline

Definition at line 93 of file blake3s.hpp.

◆ blake3s()

std::vector< uint8_t > blake3::blake3s ( std::vector< uint8_t > const &  input)
inline

◆ blake3s_constexpr()

constexpr std::array< uint8_t, BLAKE3_OUT_LEN > blake3::blake3s_constexpr ( const uint8_t *  input,
size_t  input_size 
)
constexpr

◆ compress_pre()

constexpr void blake3::compress_pre ( state_array state,
const key_array cv,
const uint8_t *  block,
uint8_t  block_len,
uint8_t  flags 
)
constexpr

◆ g()

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

◆ load32()

constexpr uint32_t blake3::load32 ( const uint8_t *  src)
constexpr

Definition at line 44 of file blake3-impl.hpp.

◆ load_key_words()

constexpr void blake3::load_key_words ( const std::array< uint8_t, BLAKE3_KEY_LEN > &  key,
key_array key_words 
)
constexpr

Definition at line 50 of file blake3-impl.hpp.

◆ rotr32()

constexpr uint32_t blake3::rotr32 ( uint32_t  w,
uint32_t  c 
)
constexpr

Definition at line 39 of file blake3-impl.hpp.

◆ round_fn()

constexpr void blake3::round_fn ( state_array state,
const uint32_t *  msg,
size_t  round 
)
constexpr

◆ store32()

constexpr void blake3::store32 ( uint8_t *  dst,
uint32_t  w 
)
constexpr

Definition at line 62 of file blake3-impl.hpp.

◆ store_cv_words()

constexpr void blake3::store_cv_words ( out_array bytes_out,
key_array cv_words 
)
constexpr

Definition at line 70 of file blake3-impl.hpp.