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

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