nil::crypto3::algebra::fields::curve25519_base_field Struct Reference

A struct representing a curve25519 curve. https://datatracker.ietf.org/doc/html/rfc7748#section-4.1 https://neuromancer.sk/std/other/Curve25519# https://neuromancer.sk/std/other/Ed25519#. More...

#include <base_field.hpp>

+ Inheritance diagram for nil::crypto3::algebra::fields::curve25519_base_field:
+ Collaboration diagram for nil::crypto3::algebra::fields::curve25519_base_field:

Public Types

typedef policy_type::extended_integral_type extended_integral_type
 
typedef policy_type::integral_type integral_type
 
typedef policy_type::modular_backend modular_backend
 
typedef nil::crypto3::multiprecision::modular_params< modular_backendmodular_params_type
 
typedef nil::crypto3::multiprecision::number< nil::crypto3::multiprecision::backends::modular_adaptor< modular_backend, nil::crypto3::multiprecision::backends::modular_params_ct< modular_backend, modulus_params > > > modular_type
 
typedef field< 255 > policy_type
 
typedef detail::element_fp< params< curve25519_base_field > > value_type
 

Static Public Attributes

constexpr static const std::size_t arity = 1
 
constexpr static const integral_type modulus
 
constexpr static const std::size_t modulus_bits = policy_type::modulus_bits
 
constexpr static const modular_params_type modulus_params = modulus
 
constexpr static const std::size_t number_bits = policy_type::number_bits
 
constexpr static const std::size_t value_bits = modulus_bits
 

Detailed Description

Member Typedef Documentation

◆ extended_integral_type

◆ integral_type

◆ modular_backend

◆ modular_params_type

typedef nil::crypto3::multiprecision::modular_params<modular_backend> nil::crypto3::algebra::fields::field< ModulusBits >::modular_params_type
inherited

◆ modular_type

typedef nil::crypto3::multiprecision::number< nil::crypto3::multiprecision::backends::modular_adaptor<modular_backend, nil::crypto3::multiprecision::backends::modular_params_ct<modular_backend, modulus_params> > > nil::crypto3::algebra::fields::curve25519_base_field::modular_type

◆ policy_type

◆ value_type

Member Data Documentation

◆ arity

constexpr static const std::size_t nil::crypto3::algebra::fields::curve25519_base_field::arity = 1
staticconstexpr

◆ modulus

constexpr curve25519_base_field::integral_type const nil::crypto3::algebra::fields::curve25519_base_field::modulus
staticconstexpr
Initial value:
=
0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed_cppui255

◆ modulus_bits

constexpr std::size_t const nil::crypto3::algebra::fields::curve25519_base_field::modulus_bits = policy_type::modulus_bits
staticconstexpr

◆ modulus_params

constexpr static const modular_params_type nil::crypto3::algebra::fields::curve25519_base_field::modulus_params = modulus
staticconstexpr

◆ number_bits

constexpr std::size_t const nil::crypto3::algebra::fields::curve25519_base_field::number_bits = policy_type::number_bits
staticconstexpr

◆ value_bits

constexpr std::size_t const nil::crypto3::algebra::fields::curve25519_base_field::value_bits = modulus_bits
staticconstexpr

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