1 #ifndef crypto_core_ed25519_H 2 #define crypto_core_ed25519_H 3 4 #include <stddef.h> 5 #include "export.h" 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 #define crypto_core_ed25519_BYTES 32 12 SODIUM_EXPORT 13 size_t crypto_core_ed25519_bytes(void); 14 15 #define crypto_core_ed25519_UNIFORMBYTES 32 16 SODIUM_EXPORT 17 size_t crypto_core_ed25519_uniformbytes(void); 18 19 SODIUM_EXPORT 20 int crypto_core_ed25519_is_valid_point(const unsigned char *p); 21 22 SODIUM_EXPORT 23 int crypto_core_ed25519_add(unsigned char *r, 24 const unsigned char *p, const unsigned char *q); 25 26 SODIUM_EXPORT 27 int crypto_core_ed25519_sub(unsigned char *r, 28 const unsigned char *p, const unsigned char *q); 29 30 SODIUM_EXPORT 31 int crypto_core_ed25519_from_uniform(unsigned char *p, const unsigned char *r); 32 33 #ifdef __cplusplus 34 } 35 #endif 36 37 #endif 38