Original implementation of the Salsa20 stream cipher.
#include <salsa20/ecrypt-sync.h>
void encrypt_decrypt_example {
char const* master_key{"cw4i14l79RPdQOJejv5xVMJPQ1UVnCHw"};
uint8_t k[32u];
memcpy(k, master_key, 32u);
uint8_t v[8u];
uint8_t plain_data[128u];
for (auto i{0u}; i < 128u; ++i)
plain_data[i] = i;
ECRYPT_ctx x;
ECRYPT_keysetup(&x, k, 256, 64);
ECRYPT_ivsetup(&x, v);
uint8_t cipher_data[128u];
ECRYPT_encrypt_bytes(&x, plain_data, cipher_data, 128u);
ECRYPT_ivsetup(&x, v);
uint8_t return_data[128u];
ECRYPT_decrypt_bytes(&x, cipher_data, return_data, 128u);
}