#include <stdio.h>
#include <string.h>
#include <inttypes.h>
#include <crypto_secretbox.h>

char *m = "This is the message";
uint8_t key[32] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
                   0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
                   0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
                   0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f};

uint8_t nonce[32] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

int main(int argc, char **argv)
{
  int mlen =strlen(m)+1; /* NULL byte termination */
  int i;
  uint8_t buf[mlen+crypto_secretbox_ZEROBYTES];

  for(i=0;i<crypto_secretbox_ZEROBYTES;i++) buf[i] = 0;
  for(i=0;i<mlen;i++) buf[crypto_secretbox_ZEROBYTES+i] = (uint8_t)m[i];

  crypto_secretbox(buf, buf, mlen+crypto_secretbox_ZEROBYTES, nonce, key);

  /* Do something with the authenticated ciphertext */


  return 0;
}
  
