8 #include "crypto_core_salsa20.h"
10 #ifndef HAVE_AMD64_ASM
12 typedef unsigned int uint32
;
14 static const unsigned char sigma
[16] = {
15 'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k'
19 unsigned char *c
,unsigned long long clen
,
20 const unsigned char *n
,
21 const unsigned char *k
25 unsigned char block
[64];
31 for (i
= 0;i
< 8;++i
) in
[i
] = n
[i
];
32 for (i
= 8;i
< 16;++i
) in
[i
] = 0;
35 crypto_core_salsa20(c
,in
,k
,sigma
);
38 for (i
= 8;i
< 16;++i
) {
39 u
+= (unsigned int) in
[i
];
49 crypto_core_salsa20(block
,in
,k
,sigma
);
50 for (i
= 0;i
< clen
;++i
) c
[i
] = block
[i
];