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

#include <h2c_suites.hpp>

+ Collaboration diagram for nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g2_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::g2_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 field_value_type Ai = field_value_type(0, 240)
 
constexpr static field_value_type Bi = field_value_type(1012, 1012)
 
constexpr static auto h_eff
 
constexpr static std::size_t k = 128
 
constexpr static std::size_t L = 64
 
constexpr static std::size_t m = 2
 
constexpr static integral_type p = curve_type::base_field_type::modulus
 
constexpr static std::array< std::uint8_t, 31 > suite_id
 
constexpr static field_value_type Z = -field_value_type(2, 1)
 

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::g2_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::g2_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::g2_type< Coordinates, Form > >::field_value_type

◆ group_type

template<typename Coordinates , typename Form >
typedef algebra::curves::bls12_381::g2_type<Coordinates, Form> nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g2_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::g2_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::g2_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::g2_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::g2_type< Coordinates, Form > >::modular_type

Member Data Documentation

◆ Ai

template<typename Coordinates , typename Form >
constexpr static field_value_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g2_type< Coordinates, Form > >::Ai = field_value_type(0, 240)
inlinestaticconstexpr

◆ Bi

template<typename Coordinates , typename Form >
constexpr static field_value_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g2_type< Coordinates, Form > >::Bi = field_value_type(1012, 1012)
inlinestaticconstexpr

◆ h_eff

template<typename Coordinates , typename Form >
constexpr static auto nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g2_type< Coordinates, Form > >::h_eff
inlinestaticconstexpr
Initial value:
=
0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551_cppui636

◆ k

template<typename Coordinates , typename Form >
constexpr static std::size_t nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g2_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::g2_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::g2_type< Coordinates, Form > >::m = 2
staticconstexpr

◆ p

template<typename Coordinates , typename Form >
constexpr static integral_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g2_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::g2_type< Coordinates, Form > >::suite_id
staticconstexpr
Initial value:
= {
0x42, 0x4c, 0x53, 0x31, 0x32, 0x33, 0x38, 0x31, 0x47, 0x32, 0x5f, 0x58, 0x4d, 0x44, 0x3a, 0x53,
0x48, 0x41, 0x2d, 0x32, 0x35, 0x36, 0x5f, 0x53, 0x53, 0x57, 0x55, 0x5f, 0x52, 0x4f, 0x5f}

◆ Z

template<typename Coordinates , typename Form >
constexpr static field_value_type nil::crypto3::hashes::h2c_suite< typename algebra::curves::bls12_381::g2_type< Coordinates, Form > >::Z = -field_value_type(2, 1)
inlinestaticconstexpr

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