2 #include "crypto_core_salsa20.h"
4 unsigned char k
[32] = {
5 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
11 unsigned char in
[16] = {
12 0x81,0x91,0x8e,0xf2,0xa5,0xe0,0xda,0x9b
13 ,0x3e,0x90,0x60,0x52,0x1e,0x4b,0xb3,0x52
16 unsigned char c
[16] = {
17 101,120,112, 97,110,100, 32, 51
18 , 50, 45, 98,121,116,101, 32,107
21 unsigned char out
[64];
23 void print(unsigned char *x
,unsigned char *y
)
26 unsigned int borrow
= 0;
27 for (i
= 0;i
< 4;++i
) {
28 unsigned int xi
= x
[i
];
29 unsigned int yi
= y
[i
];
30 printf(",0x%02x",255 & (xi
- yi
- borrow
));
31 borrow
= (xi
< yi
+ borrow
);
37 crypto_core_salsa20(out
,in
,k
,c
);
39 print(out
+ 20,c
+ 4); printf("\n");
40 print(out
+ 40,c
+ 8);
41 print(out
+ 60,c
+ 12); printf("\n");
43 print(out
+ 28,in
+ 4); printf("\n");
44 print(out
+ 32,in
+ 8);
45 print(out
+ 36,in
+ 12); printf("\n");