#ifndef __PUBLICKEY_HPP #define __PUBLICKEY_HPP #include "Bipoint.hpp" class PublicKey { public: PublicKey() = default; PublicKey(const Bipoint& a, const Bipoint& b, const Bipoint& c, const Bipoint& d); void set(const Bipoint& a, const Bipoint& b, const Bipoint& c, const Bipoint& d); Bipoint get_bipoint_curvegen() const; Bipoint get_bipoint_twistgen() const; Bipoint get_bipoint_curve_groupelt() const; Bipoint get_bipoint_twist_groupelt() const; private: Bipoint bipoint_curvegen; // subgroup_gen(i1g, j1g) Bipoint bipoint_twistgen; // subgroup_gen(i2h, j2h) Bipoint bipoint_curve_groupelt; // u Bipoint bipoint_twist_groupelt; // v }; #endif