PrivateKey.hpp 845 B

123456789101112131415161718192021222324252627
  1. #ifndef __PRIVATEKEY_HPP
  2. #define __PRIVATEKEY_HPP
  3. #include "Fp.hpp"
  4. #include "Bipoint.hpp"
  5. #include "Quadripoint.hpp"
  6. #include "fp12e.h"
  7. class PrivateKey
  8. {
  9. public:
  10. PrivateKey() = default;
  11. PrivateKey(const Fp& a, const Fp& b, const Fp& c, const Fp& d, const Fp& e, const Fp& f, const Fp& g, const Fp& h);
  12. void set(const Fp& a, const Fp& b, const Fp& c, const Fp& d, const Fp& e, const Fp& f, const Fp& g, const Fp& h);
  13. void set(string which, const Fp& input);
  14. Fp get(string which) const;
  15. Bipoint<curvepoint_fp_t> pi_1(const Bipoint<curvepoint_fp_t>& input) const;
  16. Bipoint<twistpoint_fp2_t> pi_2(const Bipoint<twistpoint_fp2_t>& input) const;
  17. Quadripoint pi_T(const Quadripoint& input) const;
  18. private:
  19. Fp i1, j1, k1, l1, i2, j2, k2, l2;
  20. };
  21. #endif