Public Types |
Public Member Functions |
Static Public Member Functions |
Public Attributes |
List of all members
nil::crypto3::algebra::curves::detail::curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 > Struct Template Reference
A struct representing an element from the group G1 of short Weierstrass curve of projective_with_a4_minus_3 coordinates representation. Description: http://www.hyperelliptic.org/EFD/g1p/auto-shortw-projective-3.html. More...
#include <element_g1.hpp>
Collaboration diagram for nil::crypto3::algebra::curves::detail::curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 >:
Public Types | |
using | coordinates = coordinates::projective_with_a4_minus_3 |
using | field_type = typename params_type::field_type |
using | form = forms::short_weierstrass |
using | group_type = typename params_type::template group_type< coordinates > |
using | params_type = CurveParams |
Public Member Functions | |
constexpr | curve_element () |
constexpr | curve_element (field_value_type X, field_value_type Y, field_value_type Z) |
constexpr curve_element | doubled () const |
constexpr bool | is_well_formed () const |
constexpr bool | is_zero () const |
constexpr curve_element | mixed_add (const curve_element &other) const |
“Mixed addition” refers to the case Z2 known to be 1. More... | |
constexpr bool | operator!= (const curve_element &other) const |
constexpr curve_element | operator+ (const curve_element &other) const |
constexpr curve_element | operator- () const |
constexpr curve_element | operator- (const curve_element &other) const |
constexpr curve_element | operator= (const curve_element &other) |
constexpr bool | operator== (const curve_element &other) const |
constexpr curve_element< params_type, form, typename curves::coordinates::affine > | to_affine () const |
Static Public Member Functions | |
constexpr static curve_element | one () |
Get the generator of group G1. More... | |
constexpr static curve_element | zero () |
Get the point at infinity. More... | |
Public Attributes | |
field_value_type | X |
field_value_type | Y |
field_value_type | Z |
Detailed Description
template<typename CurveParams>
struct nil::crypto3::algebra::curves::detail::curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 >
A struct representing an element from the group G1 of short Weierstrass curve of projective_with_a4_minus_3 coordinates representation. Description: http://www.hyperelliptic.org/EFD/g1p/auto-shortw-projective-3.html.
Member Typedef Documentation
◆ coordinates
template<typename CurveParams >
using nil::crypto3::algebra::curves::detail::curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 >::coordinates = coordinates::projective_with_a4_minus_3 |
◆ field_type
template<typename CurveParams >
using nil::crypto3::algebra::curves::detail::curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 >::field_type = typename params_type::field_type |
◆ form
template<typename CurveParams >
using nil::crypto3::algebra::curves::detail::curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 >::form = forms::short_weierstrass |
◆ group_type
template<typename CurveParams >
using nil::crypto3::algebra::curves::detail::curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 >::group_type = typename params_type::template group_type<coordinates> |
◆ params_type
template<typename CurveParams >
using nil::crypto3::algebra::curves::detail::curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 >::params_type = CurveParams |
Constructor & Destructor Documentation
◆ curve_element() [1/2]
template<typename CurveParams >
|
inlineconstexpr |
- Returns
- the point at infinity by default
◆ curve_element() [2/2]
template<typename CurveParams >
|
inlineconstexpr |
- Returns
- the selected point (X:Y:Z)
Member Function Documentation
◆ doubled()
template<typename CurveParams >
|
inlineconstexpr |
- Returns
- doubled element from group G1
◆ is_well_formed()
template<typename CurveParams >
|
inlineconstexpr |
- Returns
- true if element from group G1 lies on the elliptic curve
◆ is_zero()
template<typename CurveParams >
|
inlineconstexpr |
- Returns
- true if element from group G1 is the point at infinity
◆ mixed_add()
template<typename CurveParams >
|
inlineconstexpr |
“Mixed addition” refers to the case Z2 known to be 1.
- Returns
- addition of two elements from group G1
◆ one()
template<typename CurveParams >
|
inlinestaticconstexpr |
Get the generator of group G1.
◆ operator!=()
template<typename CurveParams >
|
inlineconstexpr |
◆ operator+()
template<typename CurveParams >
|
inlineconstexpr |
◆ operator-() [1/2]
template<typename CurveParams >
|
inlineconstexpr |
◆ operator-() [2/2]
template<typename CurveParams >
|
inlineconstexpr |
◆ operator=()
template<typename CurveParams >
|
inlineconstexpr |
◆ operator==()
template<typename CurveParams >
|
inlineconstexpr |
◆ to_affine()
template<typename CurveParams >
|
inlineconstexpr |
- Returns
- return the corresponding element from projective_with_a4_minus_3 coordinates to affine coordinates
◆ zero()
template<typename CurveParams >
|
inlinestaticconstexpr |
Get the point at infinity.
Member Data Documentation
◆ X
template<typename CurveParams >
field_value_type nil::crypto3::algebra::curves::detail::curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 >::X |
◆ Y
template<typename CurveParams >
field_value_type nil::crypto3::algebra::curves::detail::curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 >::Y |
◆ Z
template<typename CurveParams >
field_value_type nil::crypto3::algebra::curves::detail::curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 >::Z |
The documentation for this struct was generated from the following file: