Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::avm2::tracegen::Sha256TraceBuilder Class Referencefinal

#include <sha256_trace.hpp>

Public Member Functions

void process (const simulation::EventEmitterInterface< simulation::Sha256CompressionEvent >::Container &events, TraceContainer &trace)
 

Static Public Attributes

static const InteractionDefinition interactions
 

Private Member Functions

void into_limbs_with_witness (const uint64_t, const uint8_t b, Column c_lhs, Column c_rhs, TraceContainer &trace)
 
uint32_t ror_with_witness (const uint32_t val, const uint8_t shift, Column c_result, Column c_lhs, Column c_rhs, TraceContainer &trace)
 
uint32_t shr_with_witness (const uint32_t val, const uint8_t shift, Column c_result, Column c_lhs, Column c_rhs, TraceContainer &trace)
 
uint32_t compute_w_with_witness (const std::array< uint32_t, 16 > &prev_w_helpers, TraceContainer &trace)
 
std::array< uint32_t, 8 > compute_compression_with_witness (const std::array< uint32_t, 8 > &state, uint32_t round_w, uint32_t round_constant, uint32_t row, TraceContainer &trace)
 
void set_helper_cols (const std::array< uint32_t, 16 > &prev_w_helpers, TraceContainer &trace)
 
void set_init_state_cols (const std::array< uint32_t, 8 > &init_state, TraceContainer &trace)
 
void set_state_cols (const std::array< uint32_t, 8 > &state, TraceContainer &trace)
 
void compute_sha256_output (const std::array< uint32_t, 8 > &out_state, const std::array< uint32_t, 8 > &init_state, TraceContainer &trace)
 

Private Attributes

uint32_t row = 1
 

Detailed Description

Definition at line 13 of file sha256_trace.hpp.

Member Function Documentation

◆ compute_compression_with_witness()

std::array< uint32_t, 8 > bb::avm2::tracegen::Sha256TraceBuilder::compute_compression_with_witness ( const std::array< uint32_t, 8 > &  state,
uint32_t  round_w,
uint32_t  round_constant,
uint32_t  row,
TraceContainer trace 
)
private

Definition at line 170 of file sha256_trace.cpp.

◆ compute_sha256_output()

void bb::avm2::tracegen::Sha256TraceBuilder::compute_sha256_output ( const std::array< uint32_t, 8 > &  out_state,
const std::array< uint32_t, 8 > &  init_state,
TraceContainer trace 
)
private

Definition at line 273 of file sha256_trace.cpp.

◆ compute_w_with_witness()

uint32_t bb::avm2::tracegen::Sha256TraceBuilder::compute_w_with_witness ( const std::array< uint32_t, 16 > &  prev_w_helpers,
TraceContainer trace 
)
private

Definition at line 113 of file sha256_trace.cpp.

◆ into_limbs_with_witness()

void bb::avm2::tracegen::Sha256TraceBuilder::into_limbs_with_witness ( const uint64_t  a,
const uint8_t  b,
Column  c_lhs,
Column  c_rhs,
TraceContainer trace 
)
private

Definition at line 84 of file sha256_trace.cpp.

◆ process()

void bb::avm2::tracegen::Sha256TraceBuilder::process ( const simulation::EventEmitterInterface< simulation::Sha256CompressionEvent >::Container &  events,
TraceContainer trace 
)

Definition at line 285 of file sha256_trace.cpp.

◆ ror_with_witness()

uint32_t bb::avm2::tracegen::Sha256TraceBuilder::ror_with_witness ( const uint32_t  val,
const uint8_t  shift,
Column  c_result,
Column  c_lhs,
Column  c_rhs,
TraceContainer trace 
)
private

Definition at line 93 of file sha256_trace.cpp.

◆ set_helper_cols()

void bb::avm2::tracegen::Sha256TraceBuilder::set_helper_cols ( const std::array< uint32_t, 16 > &  prev_w_helpers,
TraceContainer trace 
)
private

Definition at line 62 of file sha256_trace.cpp.

◆ set_init_state_cols()

void bb::avm2::tracegen::Sha256TraceBuilder::set_init_state_cols ( const std::array< uint32_t, 8 > &  init_state,
TraceContainer trace 
)
private

Definition at line 76 of file sha256_trace.cpp.

◆ set_state_cols()

void bb::avm2::tracegen::Sha256TraceBuilder::set_state_cols ( const std::array< uint32_t, 8 > &  state,
TraceContainer trace 
)
private

Definition at line 69 of file sha256_trace.cpp.

◆ shr_with_witness()

uint32_t bb::avm2::tracegen::Sha256TraceBuilder::shr_with_witness ( const uint32_t  val,
const uint8_t  shift,
Column  c_result,
Column  c_lhs,
Column  c_rhs,
TraceContainer trace 
)
private

Definition at line 103 of file sha256_trace.cpp.

Member Data Documentation

◆ interactions

const InteractionDefinition bb::avm2::tracegen::Sha256TraceBuilder::interactions
static

Definition at line 18 of file sha256_trace.hpp.

◆ row

uint32_t bb::avm2::tracegen::Sha256TraceBuilder::row = 1
private

Definition at line 21 of file sha256_trace.hpp.


The documentation for this class was generated from the following files: