summaryrefslogtreecommitdiff
path: root/nacl/crypto_sign/edwards25519sha512batch/ref/fe25519.h
diff options
context:
space:
mode:
Diffstat (limited to 'nacl/crypto_sign/edwards25519sha512batch/ref/fe25519.h')
-rw-r--r--nacl/crypto_sign/edwards25519sha512batch/ref/fe25519.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/nacl/crypto_sign/edwards25519sha512batch/ref/fe25519.h b/nacl/crypto_sign/edwards25519sha512batch/ref/fe25519.h
new file mode 100644
index 00000000..e07ddba7
--- /dev/null
+++ b/nacl/crypto_sign/edwards25519sha512batch/ref/fe25519.h
@@ -0,0 +1,54 @@
1#ifndef FE25519_H
2#define FE25519_H
3
4#define fe25519 crypto_sign_edwards25519sha512batch_fe25519
5#define fe25519_unpack crypto_sign_edwards25519sha512batch_fe25519_unpack
6#define fe25519_pack crypto_sign_edwards25519sha512batch_fe25519_pack
7#define fe25519_cmov crypto_sign_edwards25519sha512batch_fe25519_cmov
8#define fe25519_setone crypto_sign_edwards25519sha512batch_fe25519_setone
9#define fe25519_setzero crypto_sign_edwards25519sha512batch_fe25519_setzero
10#define fe25519_neg crypto_sign_edwards25519sha512batch_fe25519_neg
11#define fe25519_getparity crypto_sign_edwards25519sha512batch_fe25519_getparity
12#define fe25519_add crypto_sign_edwards25519sha512batch_fe25519_add
13#define fe25519_sub crypto_sign_edwards25519sha512batch_fe25519_sub
14#define fe25519_mul crypto_sign_edwards25519sha512batch_fe25519_mul
15#define fe25519_square crypto_sign_edwards25519sha512batch_fe25519_square
16#define fe25519_pow crypto_sign_edwards25519sha512batch_fe25519_pow
17#define fe25519_sqrt_vartime crypto_sign_edwards25519sha512batch_fe25519_sqrt_vartime
18#define fe25519_invert crypto_sign_edwards25519sha512batch_fe25519_invert
19
20#include "crypto_uint32.h"
21
22typedef struct {
23 crypto_uint32 v[32];
24} fe25519;
25
26void fe25519_unpack(fe25519 *r, const unsigned char x[32]);
27
28void fe25519_pack(unsigned char r[32], const fe25519 *x);
29
30void fe25519_cmov(fe25519 *r, const fe25519 *x, unsigned char b);
31
32void fe25519_setone(fe25519 *r);
33
34void fe25519_setzero(fe25519 *r);
35
36void fe25519_neg(fe25519 *r, const fe25519 *x);
37
38unsigned char fe25519_getparity(const fe25519 *x);
39
40void fe25519_add(fe25519 *r, const fe25519 *x, const fe25519 *y);
41
42void fe25519_sub(fe25519 *r, const fe25519 *x, const fe25519 *y);
43
44void fe25519_mul(fe25519 *r, const fe25519 *x, const fe25519 *y);
45
46void fe25519_square(fe25519 *r, const fe25519 *x);
47
48void fe25519_pow(fe25519 *r, const fe25519 *x, const unsigned char *e);
49
50int fe25519_sqrt_vartime(fe25519 *r, const fe25519 *x, unsigned char parity);
51
52void fe25519_invert(fe25519 *r, const fe25519 *x);
53
54#endif