xref: /netbsd-src/sys/crypto/sodium/crypto_aead_xchacha20poly1305.h (revision a5b568d2b48c11c3ad18eebbe13a39088222eb4b)
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
13 extern "C" {
14 #endif
15 
16 #define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U
17 SODIUM_EXPORT
18 size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void);
19 
20 #define crypto_aead_xchacha20poly1305_ietf_NSECBYTES 0U
21 SODIUM_EXPORT
22 size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes(void);
23 
24 #define crypto_aead_xchacha20poly1305_ietf_NPUBBYTES 24U
25 SODIUM_EXPORT
26 size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void);
27 
28 #define crypto_aead_xchacha20poly1305_ietf_ABYTES 16U
29 SODIUM_EXPORT
30 size_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)
34 SODIUM_EXPORT
35 size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max(void);
36 
37 SODIUM_EXPORT
38 int 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 
48 SODIUM_EXPORT
49 int 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 
60 SODIUM_EXPORT
61 int 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 
72 SODIUM_EXPORT
73 int 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 
84 SODIUM_EXPORT
85 void 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
112 extern "C" {
113 #endif
114 
115 #define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U
116 SODIUM_EXPORT
117 size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void);
118 
119 #define crypto_aead_xchacha20poly1305_ietf_NSECBYTES 0U
120 SODIUM_EXPORT
121 size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes(void);
122 
123 #define crypto_aead_xchacha20poly1305_ietf_NPUBBYTES 24U
124 SODIUM_EXPORT
125 size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void);
126 
127 #define crypto_aead_xchacha20poly1305_ietf_ABYTES 16U
128 SODIUM_EXPORT
129 size_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)
133 SODIUM_EXPORT
134 size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max(void);
135 
136 SODIUM_EXPORT
137 int 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 
147 SODIUM_EXPORT
148 int 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 
159 SODIUM_EXPORT
160 int 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 
171 SODIUM_EXPORT
172 int 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 
183 SODIUM_EXPORT
184 void 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
211 extern "C" {
212 #endif
213 
214 #define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U
215 SODIUM_EXPORT
216 size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void);
217 
218 #define crypto_aead_xchacha20poly1305_ietf_NSECBYTES 0U
219 SODIUM_EXPORT
220 size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes(void);
221 
222 #define crypto_aead_xchacha20poly1305_ietf_NPUBBYTES 24U
223 SODIUM_EXPORT
224 size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void);
225 
226 #define crypto_aead_xchacha20poly1305_ietf_ABYTES 16U
227 SODIUM_EXPORT
228 size_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)
232 SODIUM_EXPORT
233 size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max(void);
234 
235 SODIUM_EXPORT
236 int 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 
246 SODIUM_EXPORT
247 int 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 
258 SODIUM_EXPORT
259 int 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 
270 SODIUM_EXPORT
271 int 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 
282 SODIUM_EXPORT
283 void 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
310 extern "C" {
311 #endif
312 
313 #define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U
314 SODIUM_EXPORT
315 size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void);
316 
317 #define crypto_aead_xchacha20poly1305_ietf_NSECBYTES 0U
318 SODIUM_EXPORT
319 size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes(void);
320 
321 #define crypto_aead_xchacha20poly1305_ietf_NPUBBYTES 24U
322 SODIUM_EXPORT
323 size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void);
324 
325 #define crypto_aead_xchacha20poly1305_ietf_ABYTES 16U
326 SODIUM_EXPORT
327 size_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)
331 SODIUM_EXPORT
332 size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max(void);
333 
334 SODIUM_EXPORT
335 int 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 
345 SODIUM_EXPORT
346 int 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 
357 SODIUM_EXPORT
358 int 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 
369 SODIUM_EXPORT
370 int 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 
381 SODIUM_EXPORT
382 void 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