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