nil::crypto3::zk::components::hmac_component< FieldType, Hash1, Hash2 > Class Template Reference
#include <hmac_component.hpp>
Inheritance diagram for nil::crypto3::zk::components::hmac_component< FieldType, Hash1, Hash2 >:
Collaboration diagram for nil::crypto3::zk::components::hmac_component< FieldType, Hash1, Hash2 >:
Public Member Functions | |
void | generate_r1cs_constraints () |
void | generate_r1cs_witness () |
hmac_component (blueprint< FieldType > &bp, const block_variable< FieldType > &key, const block_variable< FieldType > &message, const typename Hash2::hash_variable_type &output) | |
Static Public Member Functions | |
static Hash2::hash_value_type | get_hmac (const std::vector< bool > &key, const std::vector< bool > &message) |
Public Attributes | |
std::shared_ptr< Hash1 > | hash1 |
std::shared_ptr< digest_variable< FieldType > > | hash1_result |
std::shared_ptr< Hash2 > | hash2 |
blueprint_variable_vector< FieldType > | key_xor_ipad |
blueprint_variable_vector< FieldType > | key_xor_opad |
blueprint_variable_vector< FieldType > | padded_key |
blueprint_variable< FieldType > | zero |
Constructor & Destructor Documentation
◆ hmac_component()
template<typename FieldType , typename Hash1 , typename Hash2 = Hash1>
|
inline |
Member Function Documentation
◆ generate_r1cs_constraints()
template<typename FieldType , typename Hash1 , typename Hash2 = Hash1>
|
inline |
◆ generate_r1cs_witness()
template<typename FieldType , typename Hash1 , typename Hash2 = Hash1>
|
inline |
◆ get_hmac()
template<typename FieldType , typename Hash1 , typename Hash2 = Hash1>
|
inlinestatic |
Member Data Documentation
◆ hash1
template<typename FieldType , typename Hash1 , typename Hash2 = Hash1>
std::shared_ptr<Hash1> nil::crypto3::zk::components::hmac_component< FieldType, Hash1, Hash2 >::hash1 |
◆ hash1_result
template<typename FieldType , typename Hash1 , typename Hash2 = Hash1>
std::shared_ptr<digest_variable<FieldType> > nil::crypto3::zk::components::hmac_component< FieldType, Hash1, Hash2 >::hash1_result |
◆ hash2
template<typename FieldType , typename Hash1 , typename Hash2 = Hash1>
std::shared_ptr<Hash2> nil::crypto3::zk::components::hmac_component< FieldType, Hash1, Hash2 >::hash2 |
◆ key_xor_ipad
template<typename FieldType , typename Hash1 , typename Hash2 = Hash1>
blueprint_variable_vector<FieldType> nil::crypto3::zk::components::hmac_component< FieldType, Hash1, Hash2 >::key_xor_ipad |
◆ key_xor_opad
template<typename FieldType , typename Hash1 , typename Hash2 = Hash1>
blueprint_variable_vector<FieldType> nil::crypto3::zk::components::hmac_component< FieldType, Hash1, Hash2 >::key_xor_opad |
◆ padded_key
template<typename FieldType , typename Hash1 , typename Hash2 = Hash1>
blueprint_variable_vector<FieldType> nil::crypto3::zk::components::hmac_component< FieldType, Hash1, Hash2 >::padded_key |
◆ zero
template<typename FieldType , typename Hash1 , typename Hash2 = Hash1>
blueprint_variable<FieldType> nil::crypto3::zk::components::hmac_component< FieldType, Hash1, Hash2 >::zero |
The documentation for this class was generated from the following file: