libsodium 1.0.8
[tomato.git] / release / src / router / libsodium / src / libsodium / crypto_scalarmult / curve25519 / sandy2x / fe51.h
blob7e88ef9ce2c00bff838a328d23d244815881c5d5
1 /*
2 This file is adapted from amd64-51/fe25519.h:
3 'fe25519' is renamed as 'fe51';
4 All the redundant functions are removed;
5 New function fe51_nsquare is introduced.
6 */
8 #ifndef fe51_H
9 #define fe51_H
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
15 #include "crypto_uint64.h"
16 #include "fe51_namespace.h"
18 typedef struct
20 crypto_uint64 v[5];
22 fe51;
24 extern void fe51_pack(unsigned char *, const fe51 *);
25 extern void fe51_mul(fe51 *, const fe51 *, const fe51 *);
26 extern void fe51_nsquare(fe51 *, const fe51 *, int);
27 extern void fe51_invert(fe51 *, const fe51 *);
29 #ifdef __cplusplus
31 #endif
33 #endif