salsa20_functions.hpp
Go to the documentation of this file.
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
Definition: pair.hpp:31
constexpr static const std::size_t word_bits
Definition: stream/include/nil/crypto3/stream/detail/basic_functions.hpp:41
policy_type::key_schedule_type key_schedule_type
Definition: salsa20_functions.hpp:114
policy_type::block_type block_type
Definition: salsa20_functions.hpp:123
void schedule_iv(block_type &block, key_schedule_type &schedule, const iv_type &iv)
Definition: salsa20_functions.hpp:143
policy_type::word_type word_type
Definition: salsa20_functions.hpp:110
policy_type::key_type key_type
Definition: salsa20_functions.hpp:119
void schedule_key(key_schedule_type &schedule, const key_type &key)
Definition: salsa20_functions.hpp:128
policy_type::iv_type iv_type
Definition: salsa20_functions.hpp:126
salsa20_policy< 64, 128, Rounds > policy_type
Definition: salsa20_functions.hpp:106
void schedule_iv(block_type &block, key_schedule_type &schedule, const iv_type &iv)
Definition: salsa20_functions.hpp:272
policy_type::iv_type iv_type
Definition: salsa20_functions.hpp:254
policy_type::word_type word_type
Definition: salsa20_functions.hpp:238
policy_type::key_type key_type
Definition: salsa20_functions.hpp:247
void schedule_key(key_schedule_type &state, const key_type &key)
Definition: salsa20_functions.hpp:256
policy_type::key_schedule_type key_schedule_type
Definition: salsa20_functions.hpp:242
policy_type::block_type block_type
Definition: salsa20_functions.hpp:251
salsa20_policy< 64, 256, Rounds > policy_type
Definition: salsa20_functions.hpp:234
salsa20_policy< 96, 128, Rounds > policy_type
Definition: salsa20_functions.hpp:158
policy_type::word_type word_type
Definition: salsa20_functions.hpp:162
void schedule_iv(block_type &block, key_schedule_type &state, const iv_type &iv)
Definition: salsa20_functions.hpp:195
void schedule_key(key_schedule_type &schedule, const key_type &key)
Definition: salsa20_functions.hpp:180
policy_type::key_type key_type
Definition: salsa20_functions.hpp:171
policy_type::iv_type iv_type
Definition: salsa20_functions.hpp:178
policy_type::block_type block_type
Definition: salsa20_functions.hpp:175
policy_type::key_schedule_type key_schedule_type
Definition: salsa20_functions.hpp:166
policy_type::word_type word_type
Definition: salsa20_functions.hpp:291
void schedule_iv(block_type &block, key_schedule_type &state, const iv_type &iv)
Definition: salsa20_functions.hpp:325
salsa20_policy< 96, 256, Rounds > policy_type
Definition: salsa20_functions.hpp:287
policy_type::key_type key_type
Definition: salsa20_functions.hpp:300
policy_type::key_schedule_type key_schedule_type
Definition: salsa20_functions.hpp:295
policy_type::iv_type iv_type
Definition: salsa20_functions.hpp:307
policy_type::block_type block_type
Definition: salsa20_functions.hpp:304
void schedule_key(key_schedule_type &state, const key_type &key)
Definition: salsa20_functions.hpp:309
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
constexpr static const std::size_t block_bits
Definition: salsa20_functions.hpp:61
constexpr static const std::size_t word_bytes
Definition: salsa20_functions.hpp:47
constexpr static const std::size_t word_bits
Definition: salsa20_functions.hpp:46
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
salsa20_policy< IVSize, KeyBits, Rounds > policy_type
Definition: salsa20_functions.hpp:44
constexpr static const std::size_t block_size
Definition: salsa20_functions.hpp:62
policy_type::word_type word_type
Definition: salsa20_functions.hpp:48
constexpr static const std::size_t iv_bits
Definition: salsa20_functions.hpp:65
Definition: salsa20_policy.hpp:47
constexpr static const std::size_t key_schedule_bits
Definition: salsa20_policy.hpp:72
std::array< byte_type, key_size > key_type
Definition: salsa20_policy.hpp:69
static void hsalsa20(word_type output[8], const key_schedule_type input)
Definition: salsa20_policy.hpp:87
std::array< word_type, key_schedule_size > key_schedule_type
Definition: salsa20_policy.hpp:73
static void salsa_core(block_type &block, const key_schedule_type &input)
Definition: salsa20_policy.hpp:115
constexpr static const std::size_t rounds
Definition: salsa20_policy.hpp:53
constexpr static const std::size_t min_key_bits
Definition: salsa20_policy.hpp:63
policy_type::word_type word_type
Definition: salsa20_policy.hpp:51
constexpr static const std::size_t iv_bits
Definition: salsa20_policy.hpp:83
constexpr static const std::size_t key_bits
Definition: salsa20_policy.hpp:65
std::array< byte_type, block_size > block_type
Definition: salsa20_policy.hpp:61
constexpr static const std::size_t key_schedule_size
Definition: salsa20_policy.hpp:71
std::array< byte_type, iv_size > iv_type
Definition: salsa20_policy.hpp:85
constexpr static const std::size_t block_bits
Definition: salsa20_policy.hpp:60
constexpr static const std::size_t max_key_bits
Definition: salsa20_policy.hpp:64
constexpr static const std::size_t block_size
Definition: salsa20_policy.hpp:59