Home | History | Annotate | Line # | Download | only in default
      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