Changes to update Tomato RAF.
[tomato.git] / release / src / router / dnscrypt / src / libnacl / tests / secretbox5.cpp
blobe8cc0eebe19f3c670cfac9d24efd354dac27201d
1 #include <string>
2 using std::string;
3 #include <stdio.h>
4 #include "crypto_secretbox.h"
5 #include "randombytes.h"
7 main()
9 int mlen;
10 for (mlen = 0;mlen < 1000;++mlen) {
11 unsigned char kbytes[crypto_secretbox_KEYBYTES];
12 randombytes(kbytes,crypto_secretbox_KEYBYTES);
13 string k((char *) kbytes,crypto_secretbox_KEYBYTES);
14 unsigned char nbytes[crypto_secretbox_NONCEBYTES];
15 randombytes(nbytes,crypto_secretbox_NONCEBYTES);
16 string n((char *) nbytes,crypto_secretbox_NONCEBYTES);
17 unsigned char mbytes[mlen];
18 randombytes(mbytes,mlen);
19 string m((char *) mbytes,mlen);
20 string c = crypto_secretbox(m,n,k);
21 try {
22 string m2 = crypto_secretbox_open(c,n,k);
23 if (m != m2) printf("bad decryption\n");
24 } catch(const char *s) {
25 printf("%s\n",s);
28 return 0;