Let us walk on the 3-isogeny graph
Loading...
Searching...
No Matches
mont.h
Go to the documentation of this file.
1#ifndef MONT_H
2#define MONT_H
3
5#if defined AVX2
6 #include "../common/fp/avx2/fp-avx2.h"
7#elif defined GMP
9#elif defined KARATSUBA
11#else
12 #include "../common/fp/mulx/fp.h"
13#endif
14#include "proj.h"
15
16
17#define xA24 COMMON(xA24)
18#define xDBL COMMON(xDBL)
19#define xADD COMMON(xADD)
20#define xDBLADD COMMON(xDBLADD)
21#define xMUL_dac COMMON(xMUL_dac)
22#define xMUL COMMON(xMUL)
23#define xMUL_vartime COMMON(xMUL_vartime)
24#define xISOG_matryoshka COMMON(xISOG_matryoshka)
25#define xISOG COMMON(xISOG)
26#define xISOG_old COMMON(xISOG_old)
27// #define xISOG_CSIDH NS(xISOG_CSIDH)
28
29#ifndef CTIDH
30#define xmul_cofactor NS(xmul_cofactor)
31void xmul_cofactor(proj *Q, proj const *P, proj const *A);
32#endif
33
34void xA24(proj *A24,const proj *A);
35void xDBL(proj *Q, proj const *P, const proj *A24, int Aaffine);
36void xADD(proj *S, proj const *P, proj const *Q, proj const *PQ);
37void xDBLADD(proj *R, proj *S, proj const *P, proj const *Q, proj const *PQ, proj const *A24, int Aaffine);
38void xMUL_dac(proj *Q, proj const *A24, int Aaffine, proj const *P,int64_t dac,int64_t daclen,int64_t maxdaclen);
39void xMUL(proj *Q, proj const *A, int Aaffine, proj const *P, uintbig const *k,int64_t kbits);
40void xMUL_vartime(proj *Q, proj const *A, int Aaffine, proj const *P, uintbig const *k);
41
42void xISOG_matryoshka(proj *A, proj *P,int64_t Plen, proj const *K,int64_t k,int64_t klower,int64_t kupper);
43void xISOG(proj *A, proj *P,int64_t Plen, proj const *K,int64_t k);
44void xISOG_old(proj *A, proj *P, proj const *K,int64_t k);
45// void xISOG_CSIDH(proj *A, proj *P, long long Plen, proj const *K, long long k);
46
47#endif
#define xMUL
Definition mont.h:22
#define xA24
Definition mont.h:17
#define xMUL_dac
Definition mont.h:21
#define xISOG_old
Definition mont.h:26
#define xDBLADD
Definition mont.h:20
#define xISOG
Definition mont.h:25
#define xMUL_vartime
Definition mont.h:23
#define xADD
Definition mont.h:19
#define xISOG_matryoshka
Definition mont.h:24
#define xmul_cofactor
Definition mont.h:30
#define xDBL
Definition mont.h:18
Definition proj.h:18