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

rdobuilder 775784
rdobuilder 775784
#define TEST_NAME "scalarmult6"
rdobuilder 775784
#include "cmptest.h"
rdobuilder 775784
rdobuilder 775784
static unsigned char bobsk_[crypto_scalarmult_SCALARBYTES] = {
rdobuilder 775784
    0x5d, 0xab, 0x08, 0x7e, 0x62, 0x4a, 0x8a, 0x4b, 0x79, 0xe1, 0x7f,
rdobuilder 775784
    0x8b, 0x83, 0x80, 0x0e, 0xe6, 0x6f, 0x3b, 0xb1, 0x29, 0x26, 0x18,
rdobuilder 775784
    0xb6, 0xfd, 0x1c, 0x2f, 0x8b, 0x27, 0xff, 0x88, 0xe0, 0xeb
rdobuilder 775784
};
rdobuilder 775784
rdobuilder 775784
static unsigned char alicepk_[crypto_scalarmult_SCALARBYTES] = {
rdobuilder 775784
    0x85, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54, 0x74, 0x8b, 0x7d,
rdobuilder 775784
    0xdc, 0xb4, 0x3e, 0xf7, 0x5a, 0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38,
rdobuilder 775784
    0x1a, 0xf4, 0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0x6a
rdobuilder 775784
};
rdobuilder 775784
rdobuilder 775784
int
rdobuilder 775784
main(void)
rdobuilder 775784
{
rdobuilder 775784
    unsigned char *k;
rdobuilder 775784
    unsigned char *bobsk;
rdobuilder 775784
    unsigned char *alicepk;
rdobuilder 775784
    int            i;
rdobuilder 775784
    int            ret;
rdobuilder 775784
rdobuilder 775784
    k       = (unsigned char *) sodium_malloc(crypto_scalarmult_BYTES);
rdobuilder 775784
    bobsk   = (unsigned char *) sodium_malloc(crypto_scalarmult_SCALARBYTES);
rdobuilder 775784
    alicepk = (unsigned char *) sodium_malloc(crypto_scalarmult_SCALARBYTES);
rdobuilder 775784
    assert(k != NULL && bobsk != NULL && alicepk != NULL);
rdobuilder 775784
rdobuilder 775784
    memcpy(bobsk, bobsk_, crypto_scalarmult_SCALARBYTES);
rdobuilder 775784
    memcpy(alicepk, alicepk_, crypto_scalarmult_SCALARBYTES);
rdobuilder 775784
rdobuilder 775784
    ret = crypto_scalarmult(k, bobsk, alicepk);
rdobuilder 775784
    assert(ret == 0);
rdobuilder 775784
rdobuilder 775784
    sodium_free(alicepk);
rdobuilder 775784
    sodium_free(bobsk);
rdobuilder 775784
rdobuilder 775784
    for (i = 0; i < 32; ++i) {
rdobuilder 775784
        if (i > 0) {
rdobuilder 775784
            printf(",");
rdobuilder 775784
        } else {
rdobuilder 775784
            printf(" ");
rdobuilder 775784
        }
rdobuilder 775784
        printf("0x%02x", (unsigned int) k[i]);
rdobuilder 775784
        if (i % 8 == 7) {
rdobuilder 775784
            printf("\n");
rdobuilder 775784
        }
rdobuilder 775784
    }
rdobuilder 775784
    sodium_free(k);
rdobuilder 775784
rdobuilder 775784
    return 0;
rdobuilder 775784
}