Let us walk on the 3-isogeny graph
Loading...
Searching...
No Matches
ctidh_api.h
Go to the documentation of this file.
1#ifndef _CTIDH_API_H_
2#define _CTIDH_API_H_
3
5#include "../common/primes.h"
6#include "ctidh.h"
7#if defined AVX2
8 #include "../common/fp/avx2/fp-avx2.h"
9#elif defined GMP
11#elif defined KARATSUBA
13#else
14 #include "../common/fp/mulx/fp.h"
15#endif
16
17extern const size_t NSAPI(pk_size);
18extern const size_t NSAPI(sk_size);
19extern const size_t NSAPI(ss_size);
20
21#define internal_keygen NS(keygen)
22void internal_keygen(public_key* pk, private_key* sk); // key generation (both secret and public keys are generated)
23#define internal_derive NS(derive)
24bool internal_derive(fp* ss, public_key* const pk, private_key* const sk); // secret sharing derivation
25#define init_keys NS(init_keys)
26void init_keys(public_key** pk, int8_t** sk);
27#define skgen NS(skgen)
28void skgen(int8_t* sk); // secret key generation
29#define pkgen NS(pkgen)
30void pkgen(public_key* pk, int8_t* const sk); // public key generation
31#define free_keys NS(free_keys)
32void free_keys(public_key** pk, int8_t** sk);
33
34#endif
#define sk_size
Definition checkct.c:29
#define pk_size
Definition checkct.c:28
#define ss_size
Definition checkct.c:30
#define internal_keygen
Definition ctidh_api.h:21
#define internal_derive
Definition ctidh_api.h:23
#define free_keys
Definition ctidh_api.h:31
#define skgen
Definition ctidh_api.h:27
#define pkgen
Definition ctidh_api.h:29
#define init_keys
Definition ctidh_api.h:25
uint64_t fp[NUMBER_OF_WORDS]
Definition fp-gmp.h:22
#define NSAPI(fname)
Definition namespace.h:25