I am wondering whether it is safe to provide the same buffer as plaintext and ciphertext for crypto_stream_salsa20_xor
. I have tried to look into source files. crypto_stream_salsa20_xor
uses crypto_core_salsa20
, but this function appears only in a header file:
grep -r "int crypto_core_salsa" libsodium-1.0.5
libsodium-1.0.5/src/libsodium/include/sodium/crypto_core_salsa2012.h:int crypto_core_salsa2012(unsigned char *out, const unsigned char *in,
libsodium-1.0.5/src/libsodium/include/sodium/crypto_core_salsa208.h:int crypto_core_salsa208(unsigned char *out, const unsigned char *in,
libsodium-1.0.5/src/libsodium/include/sodium/crypto_core_salsa20.h:int crypto_core_salsa20(unsigned char *out, const unsigned char *in,