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
4
#include "
../common/namespace.h
"
5
#if defined AVX2
6
#include "../common/fp/avx2/fp-avx2.h"
7
#elif defined GMP
8
#include "
../common/fp/gmp/fp-gmp.h
"
9
#elif defined KARATSUBA
10
#include "
../common/fp/karatsuba/fp-karatsuba.h
"
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)
31
void
xmul_cofactor
(
proj
*Q,
proj
const
*P,
proj
const
*A);
32
#endif
33
34
void
xA24
(
proj
*A24,
const
proj
*A);
35
void
xDBL
(
proj
*Q,
proj
const
*P,
const
proj
*A24,
int
Aaffine);
36
void
xADD
(
proj
*S,
proj
const
*P,
proj
const
*Q,
proj
const
*PQ);
37
void
xDBLADD
(
proj
*R,
proj
*S,
proj
const
*P,
proj
const
*Q,
proj
const
*PQ,
proj
const
*A24,
int
Aaffine);
38
void
xMUL_dac
(
proj
*Q,
proj
const
*A24,
int
Aaffine,
proj
const
*P,int64_t dac,int64_t daclen,int64_t maxdaclen);
39
void
xMUL
(
proj
*Q,
proj
const
*A,
int
Aaffine,
proj
const
*P,
uintbig
const
*k,int64_t kbits);
40
void
xMUL_vartime
(
proj
*Q,
proj
const
*A,
int
Aaffine,
proj
const
*P,
uintbig
const
*k);
41
42
void
xISOG_matryoshka
(
proj
*A,
proj
*P,int64_t Plen,
proj
const
*K,int64_t k,int64_t klower,int64_t kupper);
43
void
xISOG
(
proj
*A,
proj
*P,int64_t Plen,
proj
const
*K,int64_t k);
44
void
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
fp-gmp.h
fp-karatsuba.h
xMUL
#define xMUL
Definition
mont.h:22
xA24
#define xA24
Definition
mont.h:17
xMUL_dac
#define xMUL_dac
Definition
mont.h:21
xISOG_old
#define xISOG_old
Definition
mont.h:26
xDBLADD
#define xDBLADD
Definition
mont.h:20
xISOG
#define xISOG
Definition
mont.h:25
xMUL_vartime
#define xMUL_vartime
Definition
mont.h:23
xADD
#define xADD
Definition
mont.h:19
xISOG_matryoshka
#define xISOG_matryoshka
Definition
mont.h:24
xmul_cofactor
#define xmul_cofactor
Definition
mont.h:30
xDBL
#define xDBL
Definition
mont.h:18
namespace.h
proj.h
proj
Definition
proj.h:18
uintbig
Definition
fp-gmp.h:266
E:
pqc-engineering-ssec-23
dCTIDH
src
common
mont.h
Generated by
1.14.0