salsa20.hpp
Go to the documentation of this file.
Definition: salsa20.hpp:34
constexpr static const std::size_t rounds
Definition: salsa20.hpp:38
constexpr static const std::size_t key_schedule_bits
Definition: salsa20.hpp:42
policy_type::key_type key_type
Definition: salsa20.hpp:52
policy_type::block_type block_type
Definition: salsa20.hpp:40
void process(OutputRange &out, InputRange &in, key_schedule_type &schedule, block_type &block)
Definition: salsa20.hpp:55
constexpr static const std::size_t iv_bits
Definition: salsa20.hpp:46
constexpr static const std::size_t max_key_bits
Definition: salsa20.hpp:50
constexpr static const std::size_t key_bits
Definition: salsa20.hpp:51
constexpr static const std::size_t min_key_bits
Definition: salsa20.hpp:49
policy_type::key_schedule_type key_schedule_type
Definition: salsa20.hpp:44
constexpr static const std::size_t key_schedule_size
Definition: salsa20.hpp:43
policy_type::iv_type iv_type
Definition: salsa20.hpp:47
Definition: salsa20.hpp:67
void seek(key_schedule_type &schedule, block_type &block, std::size_t offset)
Definition: salsa20.hpp:101
constexpr static const std::size_t key_bits
Definition: salsa20.hpp:84
constexpr static const std::size_t key_schedule_bits
Definition: salsa20.hpp:75
constexpr static const std::size_t max_key_bits
Definition: salsa20.hpp:83
constexpr static const std::size_t rounds
Definition: salsa20.hpp:71
constexpr static const std::size_t iv_bits
Definition: salsa20.hpp:79
constexpr static const std::size_t min_key_bits
Definition: salsa20.hpp:82
void process(OutputRange &out, InputRange &in, key_schedule_type &schedule, block_type &block)
Definition: salsa20.hpp:93
salsa20(key_schedule_type &schedule, const key_type &key, const iv_type &iv=iv_type())
Definition: salsa20.hpp:87
policy_type::block_type block_type
Definition: salsa20.hpp:73
policy_type::key_schedule_type key_schedule_type
Definition: salsa20.hpp:77
constexpr static const std::size_t key_schedule_size
Definition: salsa20.hpp:76
boost::mpl::apply< AccumulatorSet, tag::block< Mode > >::type::result_type block(const AccumulatorSet &acc)
Definition: accumulators/block.hpp:259
boost::mpl::apply< AccumulatorSet, tag::stream< Mode > >::type::result_type stream(const AccumulatorSet &acc)
Definition: accumulators/stream.hpp:175
void xor_buf(uint8_t out[], const uint8_t in[], size_t length)
Definition: memory_operations.hpp:245
Definition: pair.hpp:31
Definition: salsa20_functions.hpp:43
constexpr static const std::size_t rounds
Definition: salsa20_functions.hpp:50
constexpr static const std::size_t key_schedule_size
Definition: salsa20_functions.hpp:53
policy_type::block_type block_type
Definition: salsa20_functions.hpp:63
policy_type::iv_type iv_type
Definition: salsa20_functions.hpp:66
policy_type::key_type key_type
Definition: salsa20_functions.hpp:59
constexpr static const std::size_t key_bits
Definition: salsa20_functions.hpp:58
policy_type::key_schedule_type key_schedule_type
Definition: salsa20_functions.hpp:54
constexpr static const std::size_t key_schedule_bits
Definition: salsa20_functions.hpp:52
constexpr static const std::size_t min_key_bits
Definition: salsa20_functions.hpp:56
void schedule_iv(block_type &block, key_schedule_type &schedule, const iv_type &iv)
Definition: salsa20_functions.hpp:68
constexpr static const std::size_t max_key_bits
Definition: salsa20_functions.hpp:57
constexpr static const std::size_t iv_bits
Definition: salsa20_functions.hpp:65
static void salsa_core(block_type &block, const key_schedule_type &input)
Definition: salsa20_policy.hpp:115