pairing.cpp 477 B

12345678910111213141516171819
  1. #include "pairing.hpp"
  2. Quadripoint pairing(const CurveBipoint& op1, const TwistBipoint& op2)
  3. {
  4. CurveBipoint affine_op1 = op1;
  5. TwistBipoint affine_op2 = op2;
  6. affine_op1.make_affine();
  7. affine_op2.make_affine();
  8. Quadripoint retval;
  9. optate(retval[0], affine_op2[0], affine_op1[0]);
  10. optate(retval[1], affine_op2[1], affine_op1[0]);
  11. optate(retval[2], affine_op2[0], affine_op1[1]);
  12. optate(retval[3], affine_op2[1], affine_op1[1]);
  13. return retval;
  14. }