crypto_secretbox.c 1.3 KB

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