1#ifndef crypto_aead_xchacha20poly1305_H
2#define crypto_aead_xchacha20poly1305_H
3
4#if 0
5#include <stddef.h>
6#endif
7#include "export.h"
8
9#ifdef __cplusplus
10# ifdef __GNUC__
11#  pragma GCC diagnostic ignored "-Wlong-long"
12# endif
13extern "C" {
14#endif
15
16#define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U
17SODIUM_EXPORT
18size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void);
19
20#define crypto_aead_xchacha20poly1305_ietf_NSECBYTES 0U
21SODIUM_EXPORT
22size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes(void);
23
24#define crypto_aead_xchacha20poly1305_ietf_NPUBBYTES 24U
25SODIUM_EXPORT
26size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void);
27
28#define crypto_aead_xchacha20poly1305_ietf_ABYTES 16U
29SODIUM_EXPORT
30size_t crypto_aead_xchacha20poly1305_ietf_abytes(void);
31
32#define crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX \
33    (SODIUM_SIZE_MAX - crypto_aead_xchacha20poly1305_ietf_ABYTES)
34SODIUM_EXPORT
35size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max(void);
36
37SODIUM_EXPORT
38int crypto_aead_xchacha20poly1305_ietf_encrypt(unsigned char *c,
39                                               unsigned long long *clen_p,
40                                               const unsigned char *m,
41                                               unsigned long long mlen,
42                                               const unsigned char *ad,
43                                               unsigned long long adlen,
44                                               const unsigned char *nsec,
45                                               const unsigned char *npub,
46                                               const unsigned char *k);
47
48SODIUM_EXPORT
49int crypto_aead_xchacha20poly1305_ietf_decrypt(unsigned char *m,
50                                               unsigned long long *mlen_p,
51                                               unsigned char *nsec,
52                                               const unsigned char *c,
53                                               unsigned long long clen,
54                                               const unsigned char *ad,
55                                               unsigned long long adlen,
56                                               const unsigned char *npub,
57                                               const unsigned char *k)
58            __attribute__ ((warn_unused_result));
59
60SODIUM_EXPORT
61int crypto_aead_xchacha20poly1305_ietf_encrypt_detached(unsigned char *c,
62                                                        unsigned char *mac,
63                                                        unsigned long long *maclen_p,
64                                                        const unsigned char *m,
65                                                        unsigned long long mlen,
66                                                        const unsigned char *ad,
67                                                        unsigned long long adlen,
68                                                        const unsigned char *nsec,
69                                                        const unsigned char *npub,
70                                                        const unsigned char *k);
71
72SODIUM_EXPORT
73int crypto_aead_xchacha20poly1305_ietf_decrypt_detached(unsigned char *m,
74                                                        unsigned char *nsec,
75                                                        const unsigned char *c,
76                                                        unsigned long long clen,
77                                                        const unsigned char *mac,
78                                                        const unsigned char *ad,
79                                                        unsigned long long adlen,
80                                                        const unsigned char *npub,
81                                                        const unsigned char *k)
82        __attribute__ ((warn_unused_result));
83
84SODIUM_EXPORT
85void crypto_aead_xchacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_xchacha20poly1305_ietf_KEYBYTES]);
86
87/* Aliases */
88
89#define crypto_aead_xchacha20poly1305_IETF_KEYBYTES         crypto_aead_xchacha20poly1305_ietf_KEYBYTES
90#define crypto_aead_xchacha20poly1305_IETF_NSECBYTES        crypto_aead_xchacha20poly1305_ietf_NSECBYTES
91#define crypto_aead_xchacha20poly1305_IETF_NPUBBYTES        crypto_aead_xchacha20poly1305_ietf_NPUBBYTES
92#define crypto_aead_xchacha20poly1305_IETF_ABYTES           crypto_aead_xchacha20poly1305_ietf_ABYTES
93#define crypto_aead_xchacha20poly1305_IETF_MESSAGEBYTES_MAX crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX
94
95#ifdef __cplusplus
96}
97#endif
98
99#endif
100#ifndef crypto_aead_xchacha20poly1305_H
101#define crypto_aead_xchacha20poly1305_H
102
103#if 0
104#include <stddef.h>
105#endif
106#include "export.h"
107
108#ifdef __cplusplus
109# ifdef __GNUC__
110#  pragma GCC diagnostic ignored "-Wlong-long"
111# endif
112extern "C" {
113#endif
114
115#define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U
116SODIUM_EXPORT
117size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void);
118
119#define crypto_aead_xchacha20poly1305_ietf_NSECBYTES 0U
120SODIUM_EXPORT
121size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes(void);
122
123#define crypto_aead_xchacha20poly1305_ietf_NPUBBYTES 24U
124SODIUM_EXPORT
125size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void);
126
127#define crypto_aead_xchacha20poly1305_ietf_ABYTES 16U
128SODIUM_EXPORT
129size_t crypto_aead_xchacha20poly1305_ietf_abytes(void);
130
131#define crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX \
132    (SODIUM_SIZE_MAX - crypto_aead_xchacha20poly1305_ietf_ABYTES)
133SODIUM_EXPORT
134size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max(void);
135
136SODIUM_EXPORT
137int crypto_aead_xchacha20poly1305_ietf_encrypt(unsigned char *c,
138                                               unsigned long long *clen_p,
139                                               const unsigned char *m,
140                                               unsigned long long mlen,
141                                               const unsigned char *ad,
142                                               unsigned long long adlen,
143                                               const unsigned char *nsec,
144                                               const unsigned char *npub,
145                                               const unsigned char *k);
146
147SODIUM_EXPORT
148int crypto_aead_xchacha20poly1305_ietf_decrypt(unsigned char *m,
149                                               unsigned long long *mlen_p,
150                                               unsigned char *nsec,
151                                               const unsigned char *c,
152                                               unsigned long long clen,
153                                               const unsigned char *ad,
154                                               unsigned long long adlen,
155                                               const unsigned char *npub,
156                                               const unsigned char *k)
157            __attribute__ ((warn_unused_result));
158
159SODIUM_EXPORT
160int crypto_aead_xchacha20poly1305_ietf_encrypt_detached(unsigned char *c,
161                                                        unsigned char *mac,
162                                                        unsigned long long *maclen_p,
163                                                        const unsigned char *m,
164                                                        unsigned long long mlen,
165                                                        const unsigned char *ad,
166                                                        unsigned long long adlen,
167                                                        const unsigned char *nsec,
168                                                        const unsigned char *npub,
169                                                        const unsigned char *k);
170
171SODIUM_EXPORT
172int crypto_aead_xchacha20poly1305_ietf_decrypt_detached(unsigned char *m,
173                                                        unsigned char *nsec,
174                                                        const unsigned char *c,
175                                                        unsigned long long clen,
176                                                        const unsigned char *mac,
177                                                        const unsigned char *ad,
178                                                        unsigned long long adlen,
179                                                        const unsigned char *npub,
180                                                        const unsigned char *k)
181        __attribute__ ((warn_unused_result));
182
183SODIUM_EXPORT
184void crypto_aead_xchacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_xchacha20poly1305_ietf_KEYBYTES]);
185
186/* Aliases */
187
188#define crypto_aead_xchacha20poly1305_IETF_KEYBYTES         crypto_aead_xchacha20poly1305_ietf_KEYBYTES
189#define crypto_aead_xchacha20poly1305_IETF_NSECBYTES        crypto_aead_xchacha20poly1305_ietf_NSECBYTES
190#define crypto_aead_xchacha20poly1305_IETF_NPUBBYTES        crypto_aead_xchacha20poly1305_ietf_NPUBBYTES
191#define crypto_aead_xchacha20poly1305_IETF_ABYTES           crypto_aead_xchacha20poly1305_ietf_ABYTES
192#define crypto_aead_xchacha20poly1305_IETF_MESSAGEBYTES_MAX crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX
193
194#ifdef __cplusplus
195}
196#endif
197
198#endif
199#ifndef crypto_aead_xchacha20poly1305_H
200#define crypto_aead_xchacha20poly1305_H
201
202#if 0
203#include <stddef.h>
204#endif
205#include "export.h"
206
207#ifdef __cplusplus
208# ifdef __GNUC__
209#  pragma GCC diagnostic ignored "-Wlong-long"
210# endif
211extern "C" {
212#endif
213
214#define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U
215SODIUM_EXPORT
216size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void);
217
218#define crypto_aead_xchacha20poly1305_ietf_NSECBYTES 0U
219SODIUM_EXPORT
220size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes(void);
221
222#define crypto_aead_xchacha20poly1305_ietf_NPUBBYTES 24U
223SODIUM_EXPORT
224size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void);
225
226#define crypto_aead_xchacha20poly1305_ietf_ABYTES 16U
227SODIUM_EXPORT
228size_t crypto_aead_xchacha20poly1305_ietf_abytes(void);
229
230#define crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX \
231    (SODIUM_SIZE_MAX - crypto_aead_xchacha20poly1305_ietf_ABYTES)
232SODIUM_EXPORT
233size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max(void);
234
235SODIUM_EXPORT
236int crypto_aead_xchacha20poly1305_ietf_encrypt(unsigned char *c,
237                                               unsigned long long *clen_p,
238                                               const unsigned char *m,
239                                               unsigned long long mlen,
240                                               const unsigned char *ad,
241                                               unsigned long long adlen,
242                                               const unsigned char *nsec,
243                                               const unsigned char *npub,
244                                               const unsigned char *k);
245
246SODIUM_EXPORT
247int crypto_aead_xchacha20poly1305_ietf_decrypt(unsigned char *m,
248                                               unsigned long long *mlen_p,
249                                               unsigned char *nsec,
250                                               const unsigned char *c,
251                                               unsigned long long clen,
252                                               const unsigned char *ad,
253                                               unsigned long long adlen,
254                                               const unsigned char *npub,
255                                               const unsigned char *k)
256            __attribute__ ((warn_unused_result));
257
258SODIUM_EXPORT
259int crypto_aead_xchacha20poly1305_ietf_encrypt_detached(unsigned char *c,
260                                                        unsigned char *mac,
261                                                        unsigned long long *maclen_p,
262                                                        const unsigned char *m,
263                                                        unsigned long long mlen,
264                                                        const unsigned char *ad,
265                                                        unsigned long long adlen,
266                                                        const unsigned char *nsec,
267                                                        const unsigned char *npub,
268                                                        const unsigned char *k);
269
270SODIUM_EXPORT
271int crypto_aead_xchacha20poly1305_ietf_decrypt_detached(unsigned char *m,
272                                                        unsigned char *nsec,
273                                                        const unsigned char *c,
274                                                        unsigned long long clen,
275                                                        const unsigned char *mac,
276                                                        const unsigned char *ad,
277                                                        unsigned long long adlen,
278                                                        const unsigned char *npub,
279                                                        const unsigned char *k)
280        __attribute__ ((warn_unused_result));
281
282SODIUM_EXPORT
283void crypto_aead_xchacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_xchacha20poly1305_ietf_KEYBYTES]);
284
285/* Aliases */
286
287#define crypto_aead_xchacha20poly1305_IETF_KEYBYTES         crypto_aead_xchacha20poly1305_ietf_KEYBYTES
288#define crypto_aead_xchacha20poly1305_IETF_NSECBYTES        crypto_aead_xchacha20poly1305_ietf_NSECBYTES
289#define crypto_aead_xchacha20poly1305_IETF_NPUBBYTES        crypto_aead_xchacha20poly1305_ietf_NPUBBYTES
290#define crypto_aead_xchacha20poly1305_IETF_ABYTES           crypto_aead_xchacha20poly1305_ietf_ABYTES
291#define crypto_aead_xchacha20poly1305_IETF_MESSAGEBYTES_MAX crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX
292
293#ifdef __cplusplus
294}
295#endif
296
297#endif
298#ifndef crypto_aead_xchacha20poly1305_H
299#define crypto_aead_xchacha20poly1305_H
300
301#if 0
302#include <stddef.h>
303#endif
304#include "export.h"
305
306#ifdef __cplusplus
307# ifdef __GNUC__
308#  pragma GCC diagnostic ignored "-Wlong-long"
309# endif
310extern "C" {
311#endif
312
313#define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U
314SODIUM_EXPORT
315size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void);
316
317#define crypto_aead_xchacha20poly1305_ietf_NSECBYTES 0U
318SODIUM_EXPORT
319size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes(void);
320
321#define crypto_aead_xchacha20poly1305_ietf_NPUBBYTES 24U
322SODIUM_EXPORT
323size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void);
324
325#define crypto_aead_xchacha20poly1305_ietf_ABYTES 16U
326SODIUM_EXPORT
327size_t crypto_aead_xchacha20poly1305_ietf_abytes(void);
328
329#define crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX \
330    (SODIUM_SIZE_MAX - crypto_aead_xchacha20poly1305_ietf_ABYTES)
331SODIUM_EXPORT
332size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max(void);
333
334SODIUM_EXPORT
335int crypto_aead_xchacha20poly1305_ietf_encrypt(unsigned char *c,
336                                               unsigned long long *clen_p,
337                                               const unsigned char *m,
338                                               unsigned long long mlen,
339                                               const unsigned char *ad,
340                                               unsigned long long adlen,
341                                               const unsigned char *nsec,
342                                               const unsigned char *npub,
343                                               const unsigned char *k);
344
345SODIUM_EXPORT
346int crypto_aead_xchacha20poly1305_ietf_decrypt(unsigned char *m,
347                                               unsigned long long *mlen_p,
348                                               unsigned char *nsec,
349                                               const unsigned char *c,
350                                               unsigned long long clen,
351                                               const unsigned char *ad,
352                                               unsigned long long adlen,
353                                               const unsigned char *npub,
354                                               const unsigned char *k)
355            __attribute__ ((warn_unused_result));
356
357SODIUM_EXPORT
358int crypto_aead_xchacha20poly1305_ietf_encrypt_detached(unsigned char *c,
359                                                        unsigned char *mac,
360                                                        unsigned long long *maclen_p,
361                                                        const unsigned char *m,
362                                                        unsigned long long mlen,
363                                                        const unsigned char *ad,
364                                                        unsigned long long adlen,
365                                                        const unsigned char *nsec,
366                                                        const unsigned char *npub,
367                                                        const unsigned char *k);
368
369SODIUM_EXPORT
370int crypto_aead_xchacha20poly1305_ietf_decrypt_detached(unsigned char *m,
371                                                        unsigned char *nsec,
372                                                        const unsigned char *c,
373                                                        unsigned long long clen,
374                                                        const unsigned char *mac,
375                                                        const unsigned char *ad,
376                                                        unsigned long long adlen,
377                                                        const unsigned char *npub,
378                                                        const unsigned char *k)
379        __attribute__ ((warn_unused_result));
380
381SODIUM_EXPORT
382void crypto_aead_xchacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_xchacha20poly1305_ietf_KEYBYTES]);
383
384/* Aliases */
385
386#define crypto_aead_xchacha20poly1305_IETF_KEYBYTES         crypto_aead_xchacha20poly1305_ietf_KEYBYTES
387#define crypto_aead_xchacha20poly1305_IETF_NSECBYTES        crypto_aead_xchacha20poly1305_ietf_NSECBYTES
388#define crypto_aead_xchacha20poly1305_IETF_NPUBBYTES        crypto_aead_xchacha20poly1305_ietf_NPUBBYTES
389#define crypto_aead_xchacha20poly1305_IETF_ABYTES           crypto_aead_xchacha20poly1305_ietf_ABYTES
390#define crypto_aead_xchacha20poly1305_IETF_MESSAGEBYTES_MAX crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX
391
392#ifdef __cplusplus
393}
394#endif
395
396#endif
397