#ifndef __PUBLICKEY_HPP #define __PUBLICKEY_HPP #include "Bipoint.hpp" #include "zout.hpp" #include class PublicKey { public: PublicKey() = default; PublicKey(Bipoint a,Bipoint b, Bipoint c,Bipoint d); void set(Bipoint a,Bipoint b, Bipoint c,Bipoint d); void print() const; 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,j1,g) Bipoint bipoint_twistgen; //subgroup_gen (i2h, j2h) Bipoint bipoint_curve_groupelt; // u Bipoint bipoint_twist_groupelt; // v }; extern PublicKey public_key; #endif