1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-19 18:15:18 -07:00
libsodium/test/default/core6.c

51 lines
1.2 KiB
C
Raw Normal View History

2013-01-20 16:41:17 -07:00
2013-01-20 16:55:10 -07:00
#define TEST_NAME "core6"
#include "cmptest.h"
2015-11-23 08:07:13 -07:00
static unsigned char k[32]
2014-09-14 11:32:55 -07:00
= { 0xee, 0x30, 0x4f, 0xca, 0x27, 0x00, 0x8d, 0x8c, 0x12, 0x6f, 0x90,
0x02, 0x79, 0x01, 0xd8, 0x0f, 0x7f, 0x1d, 0x8b, 0x8d, 0xc9, 0x36,
0xcf, 0x3b, 0x9f, 0x81, 0x96, 0x92, 0x82, 0x7e, 0x57, 0x77 };
2015-11-23 08:07:13 -07:00
static unsigned char in[16]
= { 0x81, 0x91, 0x8e, 0xf2, 0xa5, 0xe0, 0xda, 0x9b,
0x3e, 0x90, 0x60, 0x52, 0x1e, 0x4b, 0xb3, 0x52 };
2014-09-14 11:32:55 -07:00
2015-11-23 08:07:13 -07:00
static unsigned char c[16]
= { 101, 120, 112, 97, 110, 100, 32, 51,
50, 45, 98, 121, 116, 101, 32, 107 };
2013-01-20 16:41:17 -07:00
2015-11-23 08:07:13 -07:00
static unsigned char out[64];
2013-01-20 16:41:17 -07:00
static void print(unsigned char *x, unsigned char *y)
2013-01-20 16:41:17 -07:00
{
int i;
unsigned int borrow = 0;
2014-09-14 11:32:55 -07:00
for (i = 0; i < 4; ++i) {
unsigned int xi = x[i];
unsigned int yi = y[i];
2014-09-14 11:32:55 -07:00
printf(",0x%02x", 255 & (xi - yi - borrow));
borrow = (xi < yi + borrow);
}
2013-01-20 16:41:17 -07:00
}
2013-01-20 16:48:08 -07:00
int main(void)
2013-01-20 16:41:17 -07:00
{
2014-09-14 11:32:55 -07:00
crypto_core_salsa20(out, in, k, c);
print(out, c);
print(out + 20, c + 4);
printf("\n");
print(out + 40, c + 8);
print(out + 60, c + 12);
printf("\n");
print(out + 24, in);
print(out + 28, in + 4);
printf("\n");
print(out + 32, in + 8);
print(out + 36, in + 12);
printf("\n");
return 0;
2013-01-20 16:41:17 -07:00
}