Blame SOURCES/libsodium-1.0.18/test/default/onetimeauth.c

rdobuilder 775784
rdobuilder 775784
#define TEST_NAME "onetimeauth"
rdobuilder 775784
#include "cmptest.h"
rdobuilder 775784
rdobuilder 775784
static unsigned char rs[32] = {
rdobuilder 775784
    0xee, 0xa6, 0xa7, 0x25, 0x1c, 0x1e, 0x72, 0x91, 0x6d, 0x11, 0xc2,
rdobuilder 775784
    0xcb, 0x21, 0x4d, 0x3c, 0x25, 0x25, 0x39, 0x12, 0x1d, 0x8e, 0x23,
rdobuilder 775784
    0x4e, 0x65, 0x2d, 0x65, 0x1f, 0xa4, 0xc8, 0xcf, 0xf8, 0x80
rdobuilder 775784
};
rdobuilder 775784
rdobuilder 775784
static unsigned char c[131] = {
rdobuilder 775784
    0x8e, 0x99, 0x3b, 0x9f, 0x48, 0x68, 0x12, 0x73, 0xc2, 0x96, 0x50, 0xba,
rdobuilder 775784
    0x32, 0xfc, 0x76, 0xce, 0x48, 0x33, 0x2e, 0xa7, 0x16, 0x4d, 0x96, 0xa4,
rdobuilder 775784
    0x47, 0x6f, 0xb8, 0xc5, 0x31, 0xa1, 0x18, 0x6a, 0xc0, 0xdf, 0xc1, 0x7c,
rdobuilder 775784
    0x98, 0xdc, 0xe8, 0x7b, 0x4d, 0xa7, 0xf0, 0x11, 0xec, 0x48, 0xc9, 0x72,
rdobuilder 775784
    0x71, 0xd2, 0xc2, 0x0f, 0x9b, 0x92, 0x8f, 0xe2, 0x27, 0x0d, 0x6f, 0xb8,
rdobuilder 775784
    0x63, 0xd5, 0x17, 0x38, 0xb4, 0x8e, 0xee, 0xe3, 0x14, 0xa7, 0xcc, 0x8a,
rdobuilder 775784
    0xb9, 0x32, 0x16, 0x45, 0x48, 0xe5, 0x26, 0xae, 0x90, 0x22, 0x43, 0x68,
rdobuilder 775784
    0x51, 0x7a, 0xcf, 0xea, 0xbd, 0x6b, 0xb3, 0x73, 0x2b, 0xc0, 0xe9, 0xda,
rdobuilder 775784
    0x99, 0x83, 0x2b, 0x61, 0xca, 0x01, 0xb6, 0xde, 0x56, 0x24, 0x4a, 0x9e,
rdobuilder 775784
    0x88, 0xd5, 0xf9, 0xb3, 0x79, 0x73, 0xf6, 0x22, 0xa4, 0x3d, 0x14, 0xa6,
rdobuilder 775784
    0x59, 0x9b, 0x1f, 0x65, 0x4c, 0xb4, 0x5a, 0x74, 0xe3, 0x55, 0xa5
rdobuilder 775784
};
rdobuilder 775784
rdobuilder 775784
static unsigned char a[16];
rdobuilder 775784
rdobuilder 775784
int
rdobuilder 775784
main(void)
rdobuilder 775784
{
rdobuilder 775784
    crypto_onetimeauth_state st;
rdobuilder 775784
    int                      i;
rdobuilder 775784
rdobuilder 775784
    assert(crypto_onetimeauth_statebytes() == sizeof st);
rdobuilder 775784
    crypto_onetimeauth(a, c, 131, rs);
rdobuilder 775784
    for (i = 0; i < 16; ++i) {
rdobuilder 775784
        printf(",0x%02x", (unsigned int) a[i]);
rdobuilder 775784
        if (i % 8 == 7)
rdobuilder 775784
            printf("\n");
rdobuilder 775784
    }
rdobuilder 775784
rdobuilder 775784
    memset(a, 0, sizeof a);
rdobuilder 775784
    crypto_onetimeauth_init(&st, rs);
rdobuilder 775784
    crypto_onetimeauth_update(&st, c, 100);
rdobuilder 775784
    crypto_onetimeauth_update(&st, c, 0);
rdobuilder 775784
    crypto_onetimeauth_update(&st, c + 100, 31);
rdobuilder 775784
    crypto_onetimeauth_final(&st, a);
rdobuilder 775784
    for (i = 0; i < 16; ++i) {
rdobuilder 775784
        printf(",0x%02x", (unsigned int) a[i]);
rdobuilder 775784
        if (i % 8 == 7)
rdobuilder 775784
            printf("\n");
rdobuilder 775784
    }
rdobuilder 775784
rdobuilder 775784
    assert(crypto_onetimeauth_bytes() > 0U);
rdobuilder 775784
    assert(crypto_onetimeauth_keybytes() > 0U);
rdobuilder 775784
    assert(strcmp(crypto_onetimeauth_primitive(), "poly1305") == 0);
rdobuilder 775784
    assert(crypto_onetimeauth_poly1305_bytes() == crypto_onetimeauth_bytes());
rdobuilder 775784
    assert(crypto_onetimeauth_poly1305_keybytes() ==
rdobuilder 775784
           crypto_onetimeauth_keybytes());
rdobuilder 775784
    assert(crypto_onetimeauth_statebytes() > 0);
rdobuilder 775784
    assert(crypto_onetimeauth_statebytes() == crypto_onetimeauth_poly1305_statebytes());
rdobuilder 775784
rdobuilder 775784
    return 0;
rdobuilder 775784
}