nil::crypto3::algebra::curves::detail::edwards_basic_policy< 183 > Struct Reference

A struct representing details about base and scalar fields of the size 183 bits and 181 bits respectively. More...

#include <basic_policy.hpp>

+ Collaboration diagram for nil::crypto3::algebra::curves::detail::edwards_basic_policy< 183 >:

Public Types

typedef g1_field_type base_field_type
 
typedef base_field_type::extended_integral_type extended_integral_type
 
typedef fields::edwards_fq< versiong1_field_type
 
typedef fields::fp3< base_field_typeg2_field_type
 
typedef fields::fp6_2over3< base_field_typegt_field_type
 
typedef base_field_type::integral_type integral_type
 
typedef fields::edwards_fr< versionscalar_field_type
 

Static Public Attributes

constexpr static const integral_type a
 coefficient of short Weierstrass curve $y^2=x^3+a*x+b$ More...
 
constexpr static const integral_type base_field_modulus
 characteristic of the base field More...
 
constexpr static const integral_type d
 
constexpr static const std::array< typename g1_field_type::value_type, 3 > g1_one_fill
 
constexpr static const std::array< typename g1_field_type::value_type, 3 > g1_zero_fill
 
constexpr static const std::array< typename g2_field_type::value_type, 3 > g2_one_fill
 
constexpr static const std::array< typename g2_field_type::value_type, 3 > g2_zero_fill
 
constexpr static const integral_type p
 characteristic of the base field More...
 
constexpr static const integral_type q
 
constexpr static const integral_type scalar_field_modulus
 
constexpr static const std::size_t version = 183
 size of the base field in bits More...
 

Detailed Description

A struct representing details about base and scalar fields of the size 183 bits and 181 bits respectively.

Member Typedef Documentation

◆ base_field_type

◆ extended_integral_type

typedef base_field_type::extended_integral_type nil::crypto3::algebra::curves::detail::edwards_basic_policy< 183 >::extended_integral_type

◆ g1_field_type

◆ g2_field_type

◆ gt_field_type

◆ integral_type

typedef base_field_type::integral_type nil::crypto3::algebra::curves::detail::edwards_basic_policy< 183 >::integral_type

◆ scalar_field_type

Member Data Documentation

◆ a

Initial value:
=
0x01

coefficient of short Weierstrass curve $y^2=x^3+a*x+b$

◆ base_field_modulus

constexpr edwards_basic_policy< 183 >::integral_type const nil::crypto3::algebra::curves::detail::edwards_basic_policy< 183 >::base_field_modulus
staticconstexpr
Initial value:
=
base_field_type::modulus

characteristic of the base field

◆ d

Initial value:
=
0x64536D55979879327CF1306BB5A6277D254EF9776CE70_cppui179

coefficient of short Weierstrass curve $y^2=x^3+a*x+b$

◆ g1_one_fill

constexpr std::array< typename edwards_basic_policy< 183 >::g1_field_type::value_type, 3 > const nil::crypto3::algebra::curves::detail::edwards_basic_policy< 183 >::g1_one_fill
staticconstexpr
Initial value:
= {
typename g1_field_type::value_type(
0x32d83d8aaa0c500f57b15fda90b1ad111067f812c7dd27_cppui182),
typename g1_field_type::value_type(
0x26c5df4587aa6a5d345efc9f2d47f8b1656517ef618f7a_cppui182),
typename g1_field_type::value_type(
0x3c6395f7eeafc1d930f0234a46e4a4806b953f0c3374ac_cppui182)}

◆ g1_zero_fill

constexpr std::array< typename edwards_basic_policy< 183 >::g1_field_type::value_type, 3 > const nil::crypto3::algebra::curves::detail::edwards_basic_policy< 183 >::g1_zero_fill
staticconstexpr
Initial value:
= {
g1_field_type::value_type::one(), g1_field_type::value_type::zero(),
g1_field_type::value_type::zero()}

◆ g2_one_fill

constexpr std::array< typename edwards_basic_policy< 183 >::g2_field_type::value_type, 3 > const nil::crypto3::algebra::curves::detail::edwards_basic_policy< 183 >::g2_one_fill
staticconstexpr
Initial value:
= {
typename g2_field_type::value_type(
0x3CE954C85AD30F53B1BB4C4F87029780F4141927FEB19_cppui178,
0x2214EB976DE3A4D9DF9C8D5F7AEDFEC337E03A20B32FFF_cppui182,
0x249774AB0EDC7FE2E665DDBFE08594F3071E0B3AC994C3_cppui182),
typename g2_field_type::value_type(
0x2F501F9482C0D0D6E80AC55A79FD4D4594CAF187952660_cppui182,
0x37BF8F1B1CDA11A81E8BB8F41B5FF462C9A13DC7DE1578_cppui182,
0x2962F0DA0C7928B2CFBBACE3D0354652B6922A764C12D8_cppui182),
typename g2_field_type::value_type(
0x3b6ad5c355d8b231b16e97b5c6f635357993efdc248101_cppui182,
0x2e8b3daf5fa18f9d9c6fa2ca0603fd0c9b09eeece8fd0d_cppui182,
0x3c3baf061e62a04a4e9d1db335b8779c70384ae2933a73_cppui182)}

◆ g2_zero_fill

constexpr std::array< typename edwards_basic_policy< 183 >::g2_field_type::value_type, 3 > const nil::crypto3::algebra::curves::detail::edwards_basic_policy< 183 >::g2_zero_fill
staticconstexpr
Initial value:
= {
g2_field_type::value_type::one(), g2_field_type::value_type::zero(),
g2_field_type::value_type::zero()}

◆ p

Initial value:
=
constexpr static const integral_type base_field_modulus
characteristic of the base field
Definition: algebra/include/nil/crypto3/algebra/curves/detail/edwards/basic_policy.hpp:65

characteristic of the base field

◆ q

Initial value:
=
constexpr static const integral_type scalar_field_modulus
Definition: algebra/include/nil/crypto3/algebra/curves/detail/edwards/basic_policy.hpp:69

characteristic of the scalar field (order of the group of points)

◆ scalar_field_modulus

constexpr edwards_basic_policy< 183 >::integral_type const nil::crypto3::algebra::curves::detail::edwards_basic_policy< 183 >::scalar_field_modulus
staticconstexpr
Initial value:
=
scalar_field_type::modulus

characteristic of the scalar field (order of the group of points)

◆ version

constexpr static const std::size_t nil::crypto3::algebra::curves::detail::edwards_basic_policy< 183 >::version = 183
staticconstexpr

size of the base field in bits


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