secretbox2.c revision 1.1 1 1.1 riastrad
2 1.1 riastrad #define TEST_NAME "secretbox2"
3 1.1 riastrad #include "cmptest.h"
4 1.1 riastrad
5 1.1 riastrad static unsigned char firstkey[32] = { 0x1b, 0x27, 0x55, 0x64, 0x73, 0xe9, 0x85,
6 1.1 riastrad 0xd4, 0x62, 0xcd, 0x51, 0x19, 0x7a, 0x9a,
7 1.1 riastrad 0x46, 0xc7, 0x60, 0x09, 0x54, 0x9e, 0xac,
8 1.1 riastrad 0x64, 0x74, 0xf2, 0x06, 0xc4, 0xee, 0x08,
9 1.1 riastrad 0x44, 0xf6, 0x83, 0x89 };
10 1.1 riastrad
11 1.1 riastrad static unsigned char nonce[24] = { 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6,
12 1.1 riastrad 0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8,
13 1.1 riastrad 0x75, 0xfc, 0x73, 0xd6, 0x82, 0x19,
14 1.1 riastrad 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 };
15 1.1 riastrad
16 1.1 riastrad /* API requires first 16 bytes to be 0 */
17 1.1 riastrad static unsigned char c[163] = {
18 1.1 riastrad 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19 1.1 riastrad 0, 0, 0, 0, 0xf3, 0xff, 0xc7, 0x70, 0x3f, 0x94, 0x00, 0xe5,
20 1.1 riastrad 0x2a, 0x7d, 0xfb, 0x4b, 0x3d, 0x33, 0x05, 0xd9, 0x8e, 0x99, 0x3b, 0x9f,
21 1.1 riastrad 0x48, 0x68, 0x12, 0x73, 0xc2, 0x96, 0x50, 0xba, 0x32, 0xfc, 0x76, 0xce,
22 1.1 riastrad 0x48, 0x33, 0x2e, 0xa7, 0x16, 0x4d, 0x96, 0xa4, 0x47, 0x6f, 0xb8, 0xc5,
23 1.1 riastrad 0x31, 0xa1, 0x18, 0x6a, 0xc0, 0xdf, 0xc1, 0x7c, 0x98, 0xdc, 0xe8, 0x7b,
24 1.1 riastrad 0x4d, 0xa7, 0xf0, 0x11, 0xec, 0x48, 0xc9, 0x72, 0x71, 0xd2, 0xc2, 0x0f,
25 1.1 riastrad 0x9b, 0x92, 0x8f, 0xe2, 0x27, 0x0d, 0x6f, 0xb8, 0x63, 0xd5, 0x17, 0x38,
26 1.1 riastrad 0xb4, 0x8e, 0xee, 0xe3, 0x14, 0xa7, 0xcc, 0x8a, 0xb9, 0x32, 0x16, 0x45,
27 1.1 riastrad 0x48, 0xe5, 0x26, 0xae, 0x90, 0x22, 0x43, 0x68, 0x51, 0x7a, 0xcf, 0xea,
28 1.1 riastrad 0xbd, 0x6b, 0xb3, 0x73, 0x2b, 0xc0, 0xe9, 0xda, 0x99, 0x83, 0x2b, 0x61,
29 1.1 riastrad 0xca, 0x01, 0xb6, 0xde, 0x56, 0x24, 0x4a, 0x9e, 0x88, 0xd5, 0xf9, 0xb3,
30 1.1 riastrad 0x79, 0x73, 0xf6, 0x22, 0xa4, 0x3d, 0x14, 0xa6, 0x59, 0x9b, 0x1f, 0x65,
31 1.1 riastrad 0x4c, 0xb4, 0x5a, 0x74, 0xe3, 0x55, 0xa5
32 1.1 riastrad };
33 1.1 riastrad
34 1.1 riastrad static unsigned char m[163];
35 1.1 riastrad
36 1.1 riastrad int
37 1.1 riastrad main(void)
38 1.1 riastrad {
39 1.1 riastrad int i;
40 1.1 riastrad
41 1.1 riastrad if (crypto_secretbox_open(m, c, 163, nonce, firstkey) == 0) {
42 1.1 riastrad for (i = 32; i < 163; ++i) {
43 1.1 riastrad printf(",0x%02x", (unsigned int) m[i]);
44 1.1 riastrad if (i % 8 == 7)
45 1.1 riastrad printf("\n");
46 1.1 riastrad }
47 1.1 riastrad printf("\n");
48 1.1 riastrad }
49 1.1 riastrad assert(crypto_secretbox_open(m, c, 31, nonce, firstkey) == -1);
50 1.1 riastrad assert(crypto_secretbox_open(m, c, 16, nonce, firstkey) == -1);
51 1.1 riastrad assert(crypto_secretbox_open(m, c, 1, nonce, firstkey) == -1);
52 1.1 riastrad assert(crypto_secretbox_open(m, c, 0, nonce, firstkey) == -1);
53 1.1 riastrad
54 1.1 riastrad return 0;
55 1.1 riastrad }
56