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