You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

20 lines
475 B

  1. #ifndef MONT_H
  2. #define MONT_H
  3. #include "u512.h"
  4. #include "fp.h"
  5. /* P^1 over fp. */
  6. typedef struct proj {
  7. fp x;
  8. fp z;
  9. } proj;
  10. void xDBL(proj *Q, proj const *A, proj const *P);
  11. void xADD(proj *S, proj const *P, proj const *Q, proj const *PQ);
  12. void xDBLADD(proj *R, proj *S, proj const *P, proj const *Q, proj const *PQ, proj const *A);
  13. void xMUL(proj *Q, proj const *A, proj const *P, u512 const *k);
  14. void xISOG(proj *A, proj *P, proj const *K, uint64_t k);
  15. #endif