3 #include "crypto_stream.h"
5 string
crypto_stream_xor(const string
&m
,const string
&n
,const string
&k
)
7 if (n
.size() != crypto_stream_NONCEBYTES
) throw "incorrect nonce length";
8 if (k
.size() != crypto_stream_KEYBYTES
) throw "incorrect key length";
9 size_t mlen
= m
.size();
10 unsigned char c
[mlen
];
12 (const unsigned char *) m
.c_str(),mlen
,
13 (const unsigned char *) n
.c_str(),
14 (const unsigned char *) k
.c_str()
16 return string((char *) c
,mlen
);