1
2#include "crypto_stream.h"
3#include "randombytes.h"
4
5size_t
6crypto_stream_keybytes(void)
7{
8    return crypto_stream_KEYBYTES;
9}
10
11size_t
12crypto_stream_noncebytes(void)
13{
14    return crypto_stream_NONCEBYTES;
15}
16
17size_t
18crypto_stream_messagebytes_max(void)
19{
20    return crypto_stream_MESSAGEBYTES_MAX;
21}
22
23const char *
24crypto_stream_primitive(void)
25{
26    return crypto_stream_PRIMITIVE;
27}
28
29int
30crypto_stream(unsigned char *c, unsigned long long clen,
31              const unsigned char *n, const unsigned char *k)
32{
33    return crypto_stream_xsalsa20(c, clen, n, k);
34}
35
36
37int
38crypto_stream_xor(unsigned char *c, const unsigned char *m,
39                  unsigned long long mlen, const unsigned char *n,
40                  const unsigned char *k)
41{
42    return crypto_stream_xsalsa20_xor(c, m, mlen, n, k);
43}
44
45void
46crypto_stream_keygen(unsigned char k[crypto_stream_KEYBYTES])
47{
48    randombytes_buf(k, crypto_stream_KEYBYTES);
49}
50