1 #ifndef crypto_box_curve25519xsalsa20poly1305_H
2 #define crypto_box_curve25519xsalsa20poly1305_H
9 # pragma GCC diagnostic ignored "-Wlong-long"
14 #define crypto_box_curve25519xsalsa20poly1305_SEEDBYTES 32U
16 size_t crypto_box_curve25519xsalsa20poly1305_seedbytes(void);
18 #define crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES 32U
20 size_t crypto_box_curve25519xsalsa20poly1305_publickeybytes(void);
22 #define crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES 32U
24 size_t crypto_box_curve25519xsalsa20poly1305_secretkeybytes(void);
26 #define crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES 32U
28 size_t crypto_box_curve25519xsalsa20poly1305_beforenmbytes(void);
30 #define crypto_box_curve25519xsalsa20poly1305_NONCEBYTES 24U
32 size_t crypto_box_curve25519xsalsa20poly1305_noncebytes(void);
34 #define crypto_box_curve25519xsalsa20poly1305_ZEROBYTES 32U
36 size_t crypto_box_curve25519xsalsa20poly1305_zerobytes(void);
38 #define crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES 16U
40 size_t crypto_box_curve25519xsalsa20poly1305_boxzerobytes(void);
42 #define crypto_box_curve25519xsalsa20poly1305_MACBYTES \
43 (crypto_box_curve25519xsalsa20poly1305_ZEROBYTES - \
44 crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES)
46 size_t crypto_box_curve25519xsalsa20poly1305_macbytes(void);
49 int crypto_box_curve25519xsalsa20poly1305(unsigned char *c,
50 const unsigned char *m,
51 unsigned long long mlen,
52 const unsigned char *n,
53 const unsigned char *pk,
54 const unsigned char *sk);
57 int crypto_box_curve25519xsalsa20poly1305_open(unsigned char *m,
58 const unsigned char *c,
59 unsigned long long clen,
60 const unsigned char *n,
61 const unsigned char *pk,
62 const unsigned char *sk);
65 int crypto_box_curve25519xsalsa20poly1305_seed_keypair(unsigned char *pk,
67 const unsigned char *seed);
70 int crypto_box_curve25519xsalsa20poly1305_keypair(unsigned char *pk,
74 int crypto_box_curve25519xsalsa20poly1305_beforenm(unsigned char *k,
75 const unsigned char *pk,
76 const unsigned char *sk);
79 int crypto_box_curve25519xsalsa20poly1305_afternm(unsigned char *c,
80 const unsigned char *m,
81 unsigned long long mlen,
82 const unsigned char *n,
83 const unsigned char *k);
86 int crypto_box_curve25519xsalsa20poly1305_open_afternm(unsigned char *m,
87 const unsigned char *c,
88 unsigned long long clen,
89 const unsigned char *n,
90 const unsigned char *k);