nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > > Struct Template Reference

#include <h2c_suites.hpp>

+ Collaboration diagram for nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >:

Public Types

typedef algebra::curves::bls12_381 curve_type
 
typedef group_type::field_type field_type
 
typedef field_type::value_type field_value_type
 
typedef algebra::curves::bls12_381::g1_type< Coordinates, Form > group_type
 
typedef group_type::value_type group_value_type
 
typedef sha2< 256 > hash_type
 
typedef group_type::field_type::integral_type integral_type
 
typedef group_type::field_type::modular_type modular_type
 

Static Public Attributes

constexpr static const field_value_type Ai
 
constexpr static const field_value_type Bi
 
constexpr static integral_type h_eff = 0xd201000000010001_cppui381
 
constexpr static std::size_t k = 128
 
constexpr static std::size_t L = 64
 
constexpr static std::size_t m = 1
 
constexpr static integral_type p = curve_type::base_field_type::modulus
 
constexpr static std::array< std::uint8_t, 31 > suite_id
 
constexpr static const field_value_type Z = field_value_type(11)
 

Member Typedef Documentation

◆ curve_type

template<typename Coordinates , typename Form >
typedef algebra::curves::bls12_381 nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::curve_type

◆ field_type

template<typename Coordinates , typename Form >
typedef group_type::field_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::field_type

◆ field_value_type

template<typename Coordinates , typename Form >
typedef field_type::value_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::field_value_type

◆ group_type

template<typename Coordinates , typename Form >
typedef algebra::curves::bls12_381::g1_type<Coordinates, Form> nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::group_type

◆ group_value_type

template<typename Coordinates , typename Form >
typedef group_type::value_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::group_value_type

◆ hash_type

template<typename Coordinates , typename Form >
typedef sha2<256> nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::hash_type

◆ integral_type

template<typename Coordinates , typename Form >
typedef group_type::field_type::integral_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::integral_type

◆ modular_type

template<typename Coordinates , typename Form >
typedef group_type::field_type::modular_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::modular_type

Member Data Documentation

◆ Ai

template<typename Coordinates , typename Form >
constexpr static const field_value_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::Ai
inlinestaticconstexpr
Initial value:
0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d_cppui381)
field_type::value_type field_value_type
Definition: hash/include/nil/crypto3/hash/h2c_suites.hpp:56

◆ Bi

template<typename Coordinates , typename Form >
constexpr static const field_value_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::Bi
inlinestaticconstexpr
Initial value:
0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0_cppui381)

◆ h_eff

template<typename Coordinates , typename Form >
constexpr static integral_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::h_eff = 0xd201000000010001_cppui381
staticconstexpr

◆ k

template<typename Coordinates , typename Form >
constexpr static std::size_t nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::k = 128
staticconstexpr

◆ L

template<typename Coordinates , typename Form >
constexpr static std::size_t nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::L = 64
staticconstexpr

◆ m

template<typename Coordinates , typename Form >
constexpr static std::size_t nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::m = 1
staticconstexpr

◆ p

template<typename Coordinates , typename Form >
constexpr static integral_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::p = curve_type::base_field_type::modulus
staticconstexpr

◆ suite_id

template<typename Coordinates , typename Form >
constexpr static std::array<std::uint8_t, 31> nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::suite_id
staticconstexpr
Initial value:
= {66, 76, 83, 49, 50, 51, 56, 49, 71, 49, 95,
88, 77, 68, 58, 83, 72, 65, 45, 50, 53, 54,
95, 83, 83, 87, 85, 95, 82, 79, 95}

◆ Z

template<typename Coordinates , typename Form >
constexpr static const field_value_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g1_type< Coordinates, Form > >::Z = field_value_type(11)
inlinestaticconstexpr

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