1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
/********************************************************************************************
* Supersingular Isogeny Key Encapsulation Library
*
* Abstract: elliptic curve and isogeny functions
*********************************************************************************************/
#pragma once
#include "sikep434r3.h"
#define xDBL S2N_SIKE_P434_R3_NAMESPACE(xDBL)
void xDBL(const point_proj_t P, point_proj_t Q, const f2elm_t *A24plus, const f2elm_t *C24);
#define xDBLe S2N_SIKE_P434_R3_NAMESPACE(xDBLe)
void xDBLe(const point_proj_t P, point_proj_t Q, const f2elm_t *A24plus, const f2elm_t *C24, const int e);
#define get_4_isog S2N_SIKE_P434_R3_NAMESPACE(get_4_isog)
void get_4_isog(const point_proj_t P, f2elm_t *A24plus, f2elm_t *C24, f2elm_t *coeff);
#define eval_4_isog S2N_SIKE_P434_R3_NAMESPACE(eval_4_isog)
void eval_4_isog(point_proj_t P, f2elm_t* coeff);
#define xTPL S2N_SIKE_P434_R3_NAMESPACE(xTPL)
void xTPL(const point_proj_t P, point_proj_t Q, const f2elm_t *A24minus, const f2elm_t *A24plus);
#define xTPLe S2N_SIKE_P434_R3_NAMESPACE(xTPLe)
void xTPLe(const point_proj_t P, point_proj_t Q, const f2elm_t *A24minus, const f2elm_t *A24plus, const int e);
#define get_3_isog S2N_SIKE_P434_R3_NAMESPACE(get_3_isog)
void get_3_isog(const point_proj_t P, f2elm_t *A24minus, f2elm_t *A24plus, f2elm_t *coeff);
#define eval_3_isog S2N_SIKE_P434_R3_NAMESPACE(eval_3_isog)
void eval_3_isog(point_proj_t Q, const f2elm_t *coeff);
#define inv_3_way S2N_SIKE_P434_R3_NAMESPACE(inv_3_way)
void inv_3_way(f2elm_t *z1, f2elm_t *z2, f2elm_t *z3);
#define get_A S2N_SIKE_P434_R3_NAMESPACE(get_A)
void get_A(const f2elm_t *xP, const f2elm_t *xQ, const f2elm_t *xR, f2elm_t *A);
#define j_inv S2N_SIKE_P434_R3_NAMESPACE(j_inv)
void j_inv(const f2elm_t *A, const f2elm_t *C, f2elm_t *jinv);
#define LADDER3PT S2N_SIKE_P434_R3_NAMESPACE(LADDER3PT)
void LADDER3PT(const f2elm_t *xP, const f2elm_t *xQ, const f2elm_t *xPQ, const digit_t *m,
const unsigned int AliceOrBob, point_proj_t R, const f2elm_t *A);
#define xTPL_fast S2N_SIKE_P434_R3_NAMESPACE(xTPL_fast)
void xTPL_fast(const point_proj_t P, point_proj_t Q, const f2elm_t *A2);
#define xTPLe_fast S2N_SIKE_P434_R3_NAMESPACE(xTPLe_fast)
void xTPLe_fast(point_proj_t P, point_proj_t Q, const f2elm_t *A2, int e);
|