nil::crypto3::zk::components::sha256_round_function_component< FieldType > Class Template Reference

#include <sha256_construction.hpp>

+ Inheritance diagram for nil::crypto3::zk::components::sha256_round_function_component< FieldType >:
+ Collaboration diagram for nil::crypto3::zk::components::sha256_round_function_component< FieldType >:

Public Member Functions

void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
 sha256_round_function_component (blueprint< FieldType > &bp, const blueprint_linear_combination_vector< FieldType > &a, const blueprint_linear_combination_vector< FieldType > &b, const blueprint_linear_combination_vector< FieldType > &c, const blueprint_linear_combination_vector< FieldType > &d, const blueprint_linear_combination_vector< FieldType > &e, const blueprint_linear_combination_vector< FieldType > &f, const blueprint_linear_combination_vector< FieldType > &g, const blueprint_linear_combination_vector< FieldType > &h, const blueprint_variable< FieldType > &W, const long &K, const blueprint_linear_combination_vector< FieldType > &new_a, const blueprint_linear_combination_vector< FieldType > &new_e)
 

Public Attributes

blueprint_linear_combination_vector< FieldType > a
 
blueprint_linear_combination_vector< FieldType > b
 
blueprint_linear_combination_vector< FieldType > c
 
blueprint_variable< FieldType > choice
 
std::shared_ptr< choice_component< FieldType > > compute_choice
 
std::shared_ptr< majority_component< FieldType > > compute_majority
 
std::shared_ptr< big_sigma_component< FieldType > > compute_sigma0
 
std::shared_ptr< big_sigma_component< FieldType > > compute_sigma1
 
blueprint_linear_combination_vector< FieldType > d
 
blueprint_linear_combination_vector< FieldType > e
 
blueprint_linear_combination_vector< FieldType > f
 
blueprint_linear_combination_vector< FieldType > g
 
blueprint_linear_combination_vector< FieldType > h
 
long K
 
blueprint_variable< FieldType > majority
 
std::shared_ptr< lastbits_component< FieldType > > mod_reduce_new_a
 
std::shared_ptr< lastbits_component< FieldType > > mod_reduce_new_e
 
blueprint_linear_combination_vector< FieldType > new_a
 
blueprint_linear_combination_vector< FieldType > new_e
 
std::shared_ptr< packing_component< FieldType > > pack_d
 
std::shared_ptr< packing_component< FieldType > > pack_h
 
blueprint_variable< FieldType > packed_d
 
blueprint_variable< FieldType > packed_h
 
blueprint_variable< FieldType > packed_new_a
 
blueprint_variable< FieldType > packed_new_e
 
blueprint_variable< FieldType > sigma0
 
blueprint_variable< FieldType > sigma1
 
blueprint_variable< FieldType > unreduced_new_a
 
blueprint_variable< FieldType > unreduced_new_e
 
blueprint_variable< FieldType > W
 

Protected Attributes

blueprint< FieldType > & bp
 

Constructor & Destructor Documentation

◆ sha256_round_function_component()

template<typename FieldType >
nil::crypto3::zk::components::sha256_round_function_component< FieldType >::sha256_round_function_component ( blueprint< FieldType > &  bp,
const blueprint_linear_combination_vector< FieldType > &  a,
const blueprint_linear_combination_vector< FieldType > &  b,
const blueprint_linear_combination_vector< FieldType > &  c,
const blueprint_linear_combination_vector< FieldType > &  d,
const blueprint_linear_combination_vector< FieldType > &  e,
const blueprint_linear_combination_vector< FieldType > &  f,
const blueprint_linear_combination_vector< FieldType > &  g,
const blueprint_linear_combination_vector< FieldType > &  h,
const blueprint_variable< FieldType > &  W,
const long &  K,
const blueprint_linear_combination_vector< FieldType > &  new_a,
const blueprint_linear_combination_vector< FieldType > &  new_e 
)
inline

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldType >
void nil::crypto3::zk::components::sha256_round_function_component< FieldType >::generate_r1cs_constraints ( )
inline

◆ generate_r1cs_witness()

template<typename FieldType >
void nil::crypto3::zk::components::sha256_round_function_component< FieldType >::generate_r1cs_witness ( )
inline

Member Data Documentation

◆ a

◆ b

◆ bp

template<typename FieldType >
blueprint<FieldType>& nil::crypto3::zk::components::component< FieldType >::bp
protectedinherited

◆ c

◆ choice

template<typename FieldType >
blueprint_variable<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::choice

◆ compute_choice

template<typename FieldType >
std::shared_ptr<choice_component<FieldType> > nil::crypto3::zk::components::sha256_round_function_component< FieldType >::compute_choice

◆ compute_majority

template<typename FieldType >
std::shared_ptr<majority_component<FieldType> > nil::crypto3::zk::components::sha256_round_function_component< FieldType >::compute_majority

◆ compute_sigma0

template<typename FieldType >
std::shared_ptr<big_sigma_component<FieldType> > nil::crypto3::zk::components::sha256_round_function_component< FieldType >::compute_sigma0

◆ compute_sigma1

template<typename FieldType >
std::shared_ptr<big_sigma_component<FieldType> > nil::crypto3::zk::components::sha256_round_function_component< FieldType >::compute_sigma1

◆ d

◆ e

◆ f

◆ g

◆ h

◆ K

template<typename FieldType >
long nil::crypto3::zk::components::sha256_round_function_component< FieldType >::K

◆ majority

template<typename FieldType >
blueprint_variable<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::majority

◆ mod_reduce_new_a

template<typename FieldType >
std::shared_ptr<lastbits_component<FieldType> > nil::crypto3::zk::components::sha256_round_function_component< FieldType >::mod_reduce_new_a

◆ mod_reduce_new_e

template<typename FieldType >
std::shared_ptr<lastbits_component<FieldType> > nil::crypto3::zk::components::sha256_round_function_component< FieldType >::mod_reduce_new_e

◆ new_a

template<typename FieldType >
blueprint_linear_combination_vector<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::new_a

◆ new_e

template<typename FieldType >
blueprint_linear_combination_vector<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::new_e

◆ pack_d

template<typename FieldType >
std::shared_ptr<packing_component<FieldType> > nil::crypto3::zk::components::sha256_round_function_component< FieldType >::pack_d

◆ pack_h

template<typename FieldType >
std::shared_ptr<packing_component<FieldType> > nil::crypto3::zk::components::sha256_round_function_component< FieldType >::pack_h

◆ packed_d

template<typename FieldType >
blueprint_variable<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::packed_d

◆ packed_h

template<typename FieldType >
blueprint_variable<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::packed_h

◆ packed_new_a

template<typename FieldType >
blueprint_variable<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::packed_new_a

◆ packed_new_e

template<typename FieldType >
blueprint_variable<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::packed_new_e

◆ sigma0

template<typename FieldType >
blueprint_variable<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::sigma0

◆ sigma1

template<typename FieldType >
blueprint_variable<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::sigma1

◆ unreduced_new_a

template<typename FieldType >
blueprint_variable<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::unreduced_new_a

◆ unreduced_new_e

template<typename FieldType >
blueprint_variable<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::unreduced_new_e

◆ W

template<typename FieldType >
blueprint_variable<FieldType> nil::crypto3::zk::components::sha256_round_function_component< FieldType >::W

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