Skip to content

ECElGamalPoint

More...

#include <ECElGamalTypes.hpp>

Public Types

Name
using boost::multiprecision::cpp_int cpp_int
typedef CurveType::template g1_type ::value_type curve_point_type
typedef CurveType::base_field_type::integral_type coeff_type

Public Functions

Name
ECElGamalPoint(const cpp_int & m_value)
ECElGamalPoint(const curve_point_type & m_value)
ECElGamalPoint operator+(const ECElGamalPoint & other)
ECElGamalPoint operator-(const ECElGamalPoint & other) const
cpp_int UnMap(void )

Public Attributes

Name
coeff_type a_coeff
coeff_type b_coeff
coeff_type prime_number
std::shared_ptr< curve_point_type > curve_point

Detailed Description

template <typename CurveType >
struct ECElGamalPoint;

Public Types Documentation

using cpp_int

using ECElGamalPoint< CurveType >::cpp_int = boost::multiprecision::cpp_int;

typedef curve_point_type

typedef CurveType::template g1_type ::value_type ECElGamalPoint< CurveType >::curve_point_type;

typedef coeff_type

typedef CurveType::base_field_type::integral_type ECElGamalPoint< CurveType >::coeff_type;

Public Functions Documentation

function ECElGamalPoint

inline explicit ECElGamalPoint(
    const cpp_int & m_value
)

function ECElGamalPoint

inline explicit ECElGamalPoint(
    const curve_point_type & m_value
)

function operator+

inline ECElGamalPoint operator+(
    const ECElGamalPoint & other
)

function operator-

inline ECElGamalPoint operator-(
    const ECElGamalPoint & other
) const

function UnMap

inline cpp_int UnMap(
    void 
)

Public Attributes Documentation

variable a_coeff

static coeff_type a_coeff = CurveType::template g1_type<>::params_type::a;

variable b_coeff

static coeff_type b_coeff = CurveType::template g1_type<>::params_type::b;

variable prime_number

static coeff_type prime_number = CurveType::base_field_type::modulus;

variable curve_point

std::shared_ptr< curve_point_type > curve_point;

Updated on 2026-03-04 at 13:10:44 -0800