salsa20_policy.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
Definition: stream/include/nil/crypto3/stream/detail/basic_functions.hpp:38
constexpr static const std::size_t word_bits
Definition: stream/include/nil/crypto3/stream/detail/basic_functions.hpp:41
boost::uint_t< word_bits >::exact word_type
Definition: stream/include/nil/crypto3/stream/detail/basic_functions.hpp:42
boost::uint_t< CHAR_BIT >::exact byte_type
Definition: stream/include/nil/crypto3/stream/detail/basic_functions.hpp:39
Definition: salsa20_policy.hpp:47
constexpr static const std::size_t key_size
Definition: salsa20_policy.hpp:66
constexpr static const std::size_t key_schedule_bits
Definition: salsa20_policy.hpp:72
basic_functions< 32 > policy_type
Definition: salsa20_policy.hpp:48
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
CRYPTO3_INLINE_VARIABLE(round_constants_type, tau,({0x61707865, 0x3120646e, 0x79622d36, 0x6b206574}))
constexpr static const std::size_t round_constants_size
Definition: salsa20_policy.hpp:75
std::array< word_type, key_schedule_size > key_schedule_type
Definition: salsa20_policy.hpp:73
constexpr static const std::size_t value_bits
Definition: salsa20_policy.hpp:56
BOOST_STATIC_ASSERT(Rounds % 2==0)
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
std::array< word_type, round_constants_size > round_constants_type
Definition: salsa20_policy.hpp:76
policy_type::word_type word_type
Definition: salsa20_policy.hpp:51
CRYPTO3_INLINE_VARIABLE(round_constants_type, sigma,({0x61707865, 0x3320646e, 0x79622d32, 0x6b206574}))
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
byte_type value_type
Definition: salsa20_policy.hpp:57
policy_type::byte_type byte_type
Definition: salsa20_policy.hpp:50
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
BOOST_STATIC_ASSERT(min_key_bits<=KeyBits<=max_key_bits)
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 iv_size
Definition: salsa20_policy.hpp:84
BOOST_STATIC_ASSERT(key_size % 16==0)
constexpr static const std::size_t block_size
Definition: salsa20_policy.hpp:59