7 #include "crypto_core_salsa20.h"
8 #include "crypto_stream.h"
10 typedef unsigned int uint32
;
12 static const unsigned char sigma
[16] = "expand 32-byte k";
15 unsigned char *c
,unsigned long long clen
,
16 const unsigned char *n
,
17 const unsigned char *k
21 unsigned char block
[64];
27 for (i
= 0;i
< 8;++i
) in
[i
] = n
[i
];
28 for (i
= 8;i
< 16;++i
) in
[i
] = 0;
31 crypto_core_salsa20(c
,in
,k
,sigma
);
34 for (i
= 8;i
< 16;++i
) {
35 u
+= (unsigned int) in
[i
];
45 crypto_core_salsa20(block
,in
,k
,sigma
);
46 for (i
= 0;i
< clen
;++i
) c
[i
] = block
[i
];