118334Speter
2169689Skan#define TEST_NAME "scalarmult7"
3169689Skan#include "cmptest.h"
418334Speter
590075Sobrienstatic unsigned char p1[32] = {
618334Speter    0x72, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54, 0x74, 0x8b, 0x7d,
790075Sobrien    0xdc, 0xb4, 0x3e, 0xf7, 0x5a, 0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38,
890075Sobrien    0x1a, 0xf4, 0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0xea
990075Sobrien};
1090075Sobrien
1118334Speterstatic unsigned char p2[32] = {
1290075Sobrien    0x85, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54, 0x74, 0x8b, 0x7d,
1390075Sobrien    0xdc, 0xb4, 0x3e, 0xf7, 0x5a, 0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38,
1490075Sobrien    0x1a, 0xf4, 0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0x6a
1590075Sobrien};
1618334Speter
1718334Speterstatic unsigned char scalar[32];
1890075Sobrienstatic unsigned char out1[32];
19169689Skanstatic unsigned char out2[32];
20169689Skan
2118334Speterint
2218334Spetermain(void)
2350397Sobrien{
24132718Skan    int ret;
25132718Skan
2650397Sobrien    scalar[0] = 1U;
2718334Speter    ret       = crypto_scalarmult_curve25519(out1, scalar, p1);
2818334Speter    assert(ret == 0);
2990075Sobrien    ret = crypto_scalarmult_curve25519(out2, scalar, p2);
3018334Speter    assert(ret == 0);
3150397Sobrien    printf("%d\n", !!memcmp(out1, out2, 32));
3250397Sobrien
3390075Sobrien    return 0;
3496263Sobrien}
3590075Sobrien