7#include <botan/sodium.h>
8#include <botan/internal/salsa20.h>
9#include <botan/internal/loadstor.h>
14 const uint8_t key[],
const uint8_t c[])
16 uint32_t in32[16] = { 0 };
18 static const uint32_t SIGMA[] =
19 { 0x61707865, 0x3320646e, 0x79622d32, 0x6b206574 };
51 uint32_t out32[8] = { 0 };
59 const uint8_t nonce[],
const uint8_t key[])
69 size_t in_len,
const uint8_t nonce[],
77 const uint8_t nonce[], uint64_t ic,
87 salsa.
cipher(in, out, in_len);
92 const uint8_t nonce[],
const uint8_t key[])
102 size_t in_len,
const uint8_t nonce[],
110 const uint8_t nonce[], uint64_t ic,
120 salsa.
cipher(in, out, in_len);
void seek(uint64_t offset) override
static void hsalsa20(uint32_t output[8], const uint32_t input[16])
void set_iv(const uint8_t iv[], size_t iv_len)
void write_keystream(uint8_t out[], size_t len)
void cipher(const uint8_t in[], uint8_t out[], size_t len)
void set_key(const SymmetricKey &key)
int crypto_stream_salsa20(uint8_t out[], size_t ctext_len, const uint8_t nonce[], const uint8_t key[])
int crypto_stream_xsalsa20_xor_ic(uint8_t out[], const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], uint64_t ic, const uint8_t key[])
@ crypto_stream_salsa20_NONCEBYTES
@ crypto_stream_xsalsa20_KEYBYTES
@ crypto_stream_xsalsa20_NONCEBYTES
@ crypto_stream_salsa20_KEYBYTES
int crypto_stream_salsa20_xor(uint8_t out[], const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], const uint8_t key[])
int crypto_stream_salsa20_xor_ic(uint8_t out[], const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], uint64_t ic, const uint8_t key[])
int crypto_core_hsalsa20(uint8_t out[], const uint8_t in[], const uint8_t key[], const uint8_t c[])
int crypto_stream_xsalsa20(uint8_t out[], size_t ctext_len, const uint8_t nonce[], const uint8_t key[])
int crypto_stream_xsalsa20_xor(uint8_t out[], const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], const uint8_t key[])
constexpr uint32_t load_le< uint32_t >(const uint8_t in[], size_t off)
void copy_out_le(uint8_t out[], size_t out_bytes, const T in[])