1 2 #include "crypto_secretbox.h" 3 #include "randombytes.h" 4 5 size_t 6 crypto_secretbox_keybytes(void) 7 { 8 return crypto_secretbox_KEYBYTES; 9 } 10 11 size_t 12 crypto_secretbox_noncebytes(void) 13 { 14 return crypto_secretbox_NONCEBYTES; 15 } 16 17 size_t 18 crypto_secretbox_zerobytes(void) 19 { 20 return crypto_secretbox_ZEROBYTES; 21 } 22 23 size_t 24 crypto_secretbox_boxzerobytes(void) 25 { 26 return crypto_secretbox_BOXZEROBYTES; 27 } 28 29 size_t 30 crypto_secretbox_macbytes(void) 31 { 32 return crypto_secretbox_MACBYTES; 33 } 34 35 size_t 36 crypto_secretbox_messagebytes_max(void) 37 { 38 return crypto_secretbox_MESSAGEBYTES_MAX; 39 } 40 41 const char * 42 crypto_secretbox_primitive(void) 43 { 44 return crypto_secretbox_PRIMITIVE; 45 } 46 47 int 48 crypto_secretbox(unsigned char *c, const unsigned char *m, 49 unsigned long long mlen, const unsigned char *n, 50 const unsigned char *k) 51 { 52 return crypto_secretbox_xsalsa20poly1305(c, m, mlen, n, k); 53 } 54 55 int 56 crypto_secretbox_open(unsigned char *m, const unsigned char *c, 57 unsigned long long clen, const unsigned char *n, 58 const unsigned char *k) 59 { 60 return crypto_secretbox_xsalsa20poly1305_open(m, c, clen, n, k); 61 } 62 63 void 64 crypto_secretbox_keygen(unsigned char k[crypto_secretbox_KEYBYTES]) 65 { 66 randombytes_buf(k, crypto_secretbox_KEYBYTES); 67 } 68