1*0ac341f1SConrad Meyer
2*0ac341f1SConrad Meyer #define TEST_NAME "core6"
3*0ac341f1SConrad Meyer #include "cmptest.h"
4*0ac341f1SConrad Meyer
5*0ac341f1SConrad Meyer static unsigned char k[32] = { 0xee, 0x30, 0x4f, 0xca, 0x27, 0x00, 0x8d, 0x8c,
6*0ac341f1SConrad Meyer 0x12, 0x6f, 0x90, 0x02, 0x79, 0x01, 0xd8, 0x0f,
7*0ac341f1SConrad Meyer 0x7f, 0x1d, 0x8b, 0x8d, 0xc9, 0x36, 0xcf, 0x3b,
8*0ac341f1SConrad Meyer 0x9f, 0x81, 0x96, 0x92, 0x82, 0x7e, 0x57, 0x77 };
9*0ac341f1SConrad Meyer
10*0ac341f1SConrad Meyer static unsigned char in[16] = {
11*0ac341f1SConrad Meyer 0x81, 0x91, 0x8e, 0xf2, 0xa5, 0xe0, 0xda, 0x9b,
12*0ac341f1SConrad Meyer 0x3e, 0x90, 0x60, 0x52, 0x1e, 0x4b, 0xb3, 0x52
13*0ac341f1SConrad Meyer };
14*0ac341f1SConrad Meyer
15*0ac341f1SConrad Meyer static unsigned char c[16] = { 101, 120, 112, 97, 110, 100, 32, 51,
16*0ac341f1SConrad Meyer 50, 45, 98, 121, 116, 101, 32, 107 };
17*0ac341f1SConrad Meyer
18*0ac341f1SConrad Meyer static unsigned char out[64];
19*0ac341f1SConrad Meyer
20*0ac341f1SConrad Meyer static void
print(unsigned char * x,unsigned char * y)21*0ac341f1SConrad Meyer print(unsigned char *x, unsigned char *y)
22*0ac341f1SConrad Meyer {
23*0ac341f1SConrad Meyer int i;
24*0ac341f1SConrad Meyer unsigned int borrow = 0;
25*0ac341f1SConrad Meyer
26*0ac341f1SConrad Meyer for (i = 0; i < 4; ++i) {
27*0ac341f1SConrad Meyer unsigned int xi = x[i];
28*0ac341f1SConrad Meyer unsigned int yi = y[i];
29*0ac341f1SConrad Meyer printf(",0x%02x", 255 & (xi - yi - borrow));
30*0ac341f1SConrad Meyer borrow = (xi < yi + borrow);
31*0ac341f1SConrad Meyer }
32*0ac341f1SConrad Meyer }
33*0ac341f1SConrad Meyer
34*0ac341f1SConrad Meyer int
main(void)35*0ac341f1SConrad Meyer main(void)
36*0ac341f1SConrad Meyer {
37*0ac341f1SConrad Meyer crypto_core_salsa20(out, in, k, c);
38*0ac341f1SConrad Meyer print(out, c);
39*0ac341f1SConrad Meyer print(out + 20, c + 4);
40*0ac341f1SConrad Meyer printf("\n");
41*0ac341f1SConrad Meyer print(out + 40, c + 8);
42*0ac341f1SConrad Meyer print(out + 60, c + 12);
43*0ac341f1SConrad Meyer printf("\n");
44*0ac341f1SConrad Meyer print(out + 24, in);
45*0ac341f1SConrad Meyer print(out + 28, in + 4);
46*0ac341f1SConrad Meyer printf("\n");
47*0ac341f1SConrad Meyer print(out + 32, in + 8);
48*0ac341f1SConrad Meyer print(out + 36, in + 12);
49*0ac341f1SConrad Meyer printf("\n");
50*0ac341f1SConrad Meyer
51*0ac341f1SConrad Meyer return 0;
52*0ac341f1SConrad Meyer }
53