Home | History | Annotate | Line # | Download | only in default
      1  1.1  riastrad 
      2  1.1  riastrad #define TEST_NAME "onetimeauth"
      3  1.1  riastrad #include "cmptest.h"
      4  1.1  riastrad 
      5  1.1  riastrad static unsigned char rs[32] = {
      6  1.1  riastrad     0xee, 0xa6, 0xa7, 0x25, 0x1c, 0x1e, 0x72, 0x91, 0x6d, 0x11, 0xc2,
      7  1.1  riastrad     0xcb, 0x21, 0x4d, 0x3c, 0x25, 0x25, 0x39, 0x12, 0x1d, 0x8e, 0x23,
      8  1.1  riastrad     0x4e, 0x65, 0x2d, 0x65, 0x1f, 0xa4, 0xc8, 0xcf, 0xf8, 0x80
      9  1.1  riastrad };
     10  1.1  riastrad 
     11  1.1  riastrad static unsigned char c[131] = {
     12  1.1  riastrad     0x8e, 0x99, 0x3b, 0x9f, 0x48, 0x68, 0x12, 0x73, 0xc2, 0x96, 0x50, 0xba,
     13  1.1  riastrad     0x32, 0xfc, 0x76, 0xce, 0x48, 0x33, 0x2e, 0xa7, 0x16, 0x4d, 0x96, 0xa4,
     14  1.1  riastrad     0x47, 0x6f, 0xb8, 0xc5, 0x31, 0xa1, 0x18, 0x6a, 0xc0, 0xdf, 0xc1, 0x7c,
     15  1.1  riastrad     0x98, 0xdc, 0xe8, 0x7b, 0x4d, 0xa7, 0xf0, 0x11, 0xec, 0x48, 0xc9, 0x72,
     16  1.1  riastrad     0x71, 0xd2, 0xc2, 0x0f, 0x9b, 0x92, 0x8f, 0xe2, 0x27, 0x0d, 0x6f, 0xb8,
     17  1.1  riastrad     0x63, 0xd5, 0x17, 0x38, 0xb4, 0x8e, 0xee, 0xe3, 0x14, 0xa7, 0xcc, 0x8a,
     18  1.1  riastrad     0xb9, 0x32, 0x16, 0x45, 0x48, 0xe5, 0x26, 0xae, 0x90, 0x22, 0x43, 0x68,
     19  1.1  riastrad     0x51, 0x7a, 0xcf, 0xea, 0xbd, 0x6b, 0xb3, 0x73, 0x2b, 0xc0, 0xe9, 0xda,
     20  1.1  riastrad     0x99, 0x83, 0x2b, 0x61, 0xca, 0x01, 0xb6, 0xde, 0x56, 0x24, 0x4a, 0x9e,
     21  1.1  riastrad     0x88, 0xd5, 0xf9, 0xb3, 0x79, 0x73, 0xf6, 0x22, 0xa4, 0x3d, 0x14, 0xa6,
     22  1.1  riastrad     0x59, 0x9b, 0x1f, 0x65, 0x4c, 0xb4, 0x5a, 0x74, 0xe3, 0x55, 0xa5
     23  1.1  riastrad };
     24  1.1  riastrad 
     25  1.1  riastrad static unsigned char a[16];
     26  1.1  riastrad 
     27  1.1  riastrad int
     28  1.1  riastrad main(void)
     29  1.1  riastrad {
     30  1.1  riastrad     crypto_onetimeauth_state st;
     31  1.1  riastrad     int                      i;
     32  1.1  riastrad 
     33  1.1  riastrad     assert(crypto_onetimeauth_statebytes() == sizeof st);
     34  1.1  riastrad     crypto_onetimeauth(a, c, 131, rs);
     35  1.1  riastrad     for (i = 0; i < 16; ++i) {
     36  1.1  riastrad         printf(",0x%02x", (unsigned int) a[i]);
     37  1.1  riastrad         if (i % 8 == 7)
     38  1.1  riastrad             printf("\n");
     39  1.1  riastrad     }
     40  1.1  riastrad 
     41  1.1  riastrad     memset(a, 0, sizeof a);
     42  1.1  riastrad     crypto_onetimeauth_init(&st, rs);
     43  1.1  riastrad     crypto_onetimeauth_update(&st, c, 100);
     44  1.1  riastrad     crypto_onetimeauth_update(&st, c, 0);
     45  1.1  riastrad     crypto_onetimeauth_update(&st, c + 100, 31);
     46  1.1  riastrad     crypto_onetimeauth_final(&st, a);
     47  1.1  riastrad     for (i = 0; i < 16; ++i) {
     48  1.1  riastrad         printf(",0x%02x", (unsigned int) a[i]);
     49  1.1  riastrad         if (i % 8 == 7)
     50  1.1  riastrad             printf("\n");
     51  1.1  riastrad     }
     52  1.1  riastrad 
     53  1.1  riastrad     assert(crypto_onetimeauth_bytes() > 0U);
     54  1.1  riastrad     assert(crypto_onetimeauth_keybytes() > 0U);
     55  1.1  riastrad     assert(strcmp(crypto_onetimeauth_primitive(), "poly1305") == 0);
     56  1.1  riastrad     assert(crypto_onetimeauth_poly1305_bytes() == crypto_onetimeauth_bytes());
     57  1.1  riastrad     assert(crypto_onetimeauth_poly1305_keybytes() ==
     58  1.1  riastrad            crypto_onetimeauth_keybytes());
     59  1.1  riastrad     assert(crypto_onetimeauth_statebytes() > 0);
     60  1.1  riastrad     assert(crypto_onetimeauth_statebytes() == crypto_onetimeauth_poly1305_statebytes());
     61  1.1  riastrad 
     62  1.1  riastrad     return 0;
     63  1.1  riastrad }
     64