nil::crypto3::algebra::curves::bls12< Version > Struct Template Reference

A struct representing a BLS12-381 and BLS12-377 curve. More...

#include <bls12.hpp>

+ Collaboration diagram for nil::crypto3::algebra::curves::bls12< Version >:

Public Types

typedef policy_type::base_field_type base_field_type
 
template<typename Coordinates = coordinates::jacobian_with_a4_0, typename Form = forms::short_weierstrass>
using g1_type = typename detail::bls12_g1< Version, Form, Coordinates >
 
template<typename Coordinates = coordinates::jacobian_with_a4_0, typename Form = forms::short_weierstrass>
using g2_type = typename detail::bls12_g2< Version, Form, Coordinates >
 
typedef policy_type::gt_field_type gt_type
 
typedef policy_type::scalar_field_type scalar_field_type
 

Static Public Attributes

constexpr static const bool has_affine_pairing = false
 

Detailed Description

template<std::size_t Version>
struct nil::crypto3::algebra::curves::bls12< Version >

A struct representing a BLS12-381 and BLS12-377 curve.

Template Parameters
Versionversion of the curve

The basic equation of the curve is y^2 = x^3 + 4.

Member Typedef Documentation

◆ base_field_type

template<std::size_t Version>
typedef policy_type::base_field_type nil::crypto3::algebra::curves::bls12< Version >::base_field_type

◆ g1_type

template<std::size_t Version>
template<typename Coordinates = coordinates::jacobian_with_a4_0, typename Form = forms::short_weierstrass>
using nil::crypto3::algebra::curves::bls12< Version >::g1_type = typename detail::bls12_g1<Version, Form, Coordinates>

◆ g2_type

template<std::size_t Version>
template<typename Coordinates = coordinates::jacobian_with_a4_0, typename Form = forms::short_weierstrass>
using nil::crypto3::algebra::curves::bls12< Version >::g2_type = typename detail::bls12_g2<Version, Form, Coordinates>

◆ gt_type

template<std::size_t Version>
typedef policy_type::gt_field_type nil::crypto3::algebra::curves::bls12< Version >::gt_type

◆ scalar_field_type

Member Data Documentation

◆ has_affine_pairing

template<std::size_t Version>
constexpr static const bool nil::crypto3::algebra::curves::bls12< Version >::has_affine_pairing = false
staticconstexpr

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