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