b36807c63323336276b8ff8b7eb5128b684d91ea
[trex.git] /
1 #ifndef crypto_aead_chacha20poly1305_H
2 #define crypto_aead_chacha20poly1305_H
3
4 #include <stddef.h>
5 #include "export.h"
6
7 #ifdef __cplusplus
8 # if __GNUC__
9 #  pragma GCC diagnostic ignored "-Wlong-long"
10 # endif
11 extern "C" {
12 #endif
13
14 #define crypto_aead_chacha20poly1305_KEYBYTES 32U
15 SODIUM_EXPORT
16 size_t crypto_aead_chacha20poly1305_keybytes(void);
17
18 #define crypto_aead_chacha20poly1305_NSECBYTES 0U
19 SODIUM_EXPORT
20 size_t crypto_aead_chacha20poly1305_nsecbytes(void);
21
22 #define crypto_aead_chacha20poly1305_NPUBBYTES 8U
23 SODIUM_EXPORT
24 size_t crypto_aead_chacha20poly1305_npubbytes(void);
25
26 #define crypto_aead_chacha20poly1305_ABYTES 16U
27 SODIUM_EXPORT
28 size_t crypto_aead_chacha20poly1305_abytes(void);
29
30 SODIUM_EXPORT
31 int crypto_aead_chacha20poly1305_encrypt(unsigned char *c,
32                                          unsigned long long *clen,
33                                          const unsigned char *m,
34                                          unsigned long long mlen,
35                                          const unsigned char *ad,
36                                          unsigned long long adlen,
37                                          const unsigned char *nsec,
38                                          const unsigned char *npub,
39                                          const unsigned char *k);
40
41 SODIUM_EXPORT
42 int crypto_aead_chacha20poly1305_decrypt(unsigned char *m,
43                                          unsigned long long *mlen,
44                                          unsigned char *nsec,
45                                          const unsigned char *c,
46                                          unsigned long long clen,
47                                          const unsigned char *ad,
48                                          unsigned long long adlen,
49                                          const unsigned char *npub,
50                                          const unsigned char *k);
51 #ifdef __cplusplus
52 }
53 #endif
54
55 #endif