Public Types |
Public Member Functions |
Static Public Member Functions |
Static Public Attributes |
List of all members
nil::crypto3::stream::detail::chacha_functions< Round, IVSize, 256 > Struct Template Reference
#include <chacha_functions.hpp>
Inheritance diagram for nil::crypto3::stream::detail::chacha_functions< Round, IVSize, 256 >:
Collaboration diagram for nil::crypto3::stream::detail::chacha_functions< Round, IVSize, 256 >:
Public Types | |
typedef policy_type::block_type | block_type |
typedef basic_functions< 32 >::byte_type | byte_type |
typedef detail::chacha_avx2_impl< Round, IVSize, 256 > | impl_type |
typedef policy_type::iv_type | iv_type |
typedef policy_type::key_schedule_type | key_schedule_type |
typedef policy_type::key_type | key_type |
typedef chacha_policy< Round, IVSize, 256 > | policy_type |
typedef std::array< word_type, round_constants_size > | round_constants_type |
typedef byte_type | value_type |
typedef basic_functions< 32 >::word_type | word_type |
Public Member Functions | |
BOOST_STATIC_ASSERT (key_size % 16==0) | |
BOOST_STATIC_ASSERT (min_key_bits<=KeyBits<=max_key_bits) | |
BOOST_STATIC_ASSERT (Rounds % 2==0) | |
CRYPTO3_INLINE_VARIABLE (round_constants_type, sigma,({0x61707865, 0x3320646e, 0x79622d32, 0x6b206574})) | |
CRYPTO3_INLINE_VARIABLE (round_constants_type, tau,({0x61707865, 0x3120646e, 0x79622d36, 0x6b206574})) | |
Static Public Member Functions | |
template<std::size_t n> | |
static word_type | rotl (word_type x) |
static word_type | rotl (word_type x, std::size_t n) |
template<std::size_t n> | |
static word_type | rotr (word_type x) |
static word_type | rotr (word_type x, std::size_t n) |
static void | schedule_key (key_schedule_type &schedule, const key_type &key) |
template<std::size_t n> | |
static word_type | shl (word_type x) |
static word_type | shl (word_type x, std::size_t n) |
template<std::size_t n> | |
static word_type | shr (word_type x) |
static word_type | shr (word_type x, std::size_t n) |
Static Public Attributes | |
constexpr static const std::size_t | block_bits = policy_type::block_bits |
constexpr static const std::size_t | block_size |
constexpr static const std::size_t | iv_bits = policy_type::iv_bits |
constexpr static const std::size_t | iv_size |
constexpr static const std::size_t | key_bits = policy_type::key_bits |
constexpr static const std::size_t | key_schedule_bits |
constexpr static const std::size_t | key_schedule_size |
constexpr static const std::size_t | key_size |
constexpr static const std::size_t | max_key_bits = policy_type::max_key_bits |
constexpr static const std::size_t | min_key_bits = policy_type::min_key_bits |
constexpr static const std::size_t | min_key_schedule_bits = policy_type::key_schedule_bits |
constexpr static const std::size_t | min_key_schedule_size = policy_type::key_schedule_size |
constexpr static const std::size_t | round_constants_size |
constexpr static const std::size_t | rounds = policy_type::rounds |
constexpr static const std::size_t | value_bits |
constexpr static const std::size_t | word_bits |
Member Typedef Documentation
◆ block_type
template<std::size_t Round, std::size_t IVSize>
typedef policy_type::block_type nil::crypto3::stream::detail::chacha_functions< Round, IVSize, 256 >::block_type |
◆ byte_type
|
inherited |
◆ impl_type
template<std::size_t Round, std::size_t IVSize>
typedef detail::chacha_avx2_impl<Round, IVSize, 256> nil::crypto3::stream::detail::chacha_functions< Round, IVSize, 256 >::impl_type |
◆ iv_type
template<std::size_t Round, std::size_t IVSize>
typedef policy_type::iv_type nil::crypto3::stream::detail::chacha_functions< Round, IVSize, 256 >::iv_type |
◆ key_schedule_type
template<std::size_t Round, std::size_t IVSize>
typedef policy_type::key_schedule_type nil::crypto3::stream::detail::chacha_functions< Round, IVSize, 256 >::key_schedule_type |
◆ key_type
template<std::size_t Round, std::size_t IVSize>
typedef policy_type::key_type nil::crypto3::stream::detail::chacha_functions< Round, IVSize, 256 >::key_type |
◆ policy_type
template<std::size_t Round, std::size_t IVSize>
typedef chacha_policy<Round, IVSize, 256> nil::crypto3::stream::detail::chacha_functions< Round, IVSize, 256 >::policy_type |
◆ round_constants_type
|
inherited |
◆ value_type
|
inherited |
◆ word_type
|
inherited |
Member Function Documentation
◆ BOOST_STATIC_ASSERT() [1/3]
|
inherited |
◆ BOOST_STATIC_ASSERT() [2/3]
|
inherited |
◆ BOOST_STATIC_ASSERT() [3/3]
|
inherited |
◆ CRYPTO3_INLINE_VARIABLE() [1/2]
|
inherited |
◆ CRYPTO3_INLINE_VARIABLE() [2/2]
|
inherited |
◆ rotl() [1/2]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ rotl() [2/2]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ rotr() [1/2]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ rotr() [2/2]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ schedule_key()
template<std::size_t Round, std::size_t IVSize>
|
inlinestatic |
◆ shl() [1/2]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ shl() [2/2]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ shr() [1/2]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ shr() [2/2]
template<std::size_t WordBits>
|
inlinestaticinherited |
Member Data Documentation
◆ block_bits
template<std::size_t Round, std::size_t IVSize>
|
staticconstexpr |
◆ block_size
|
staticconstexprinherited |
◆ iv_bits
template<std::size_t Round, std::size_t IVSize>
|
staticconstexpr |
◆ iv_size
|
staticconstexprinherited |
◆ key_bits
template<std::size_t Round, std::size_t IVSize>
|
staticconstexpr |
◆ key_schedule_bits
|
staticconstexprinherited |
◆ key_schedule_size
|
staticconstexprinherited |
◆ key_size
|
staticconstexprinherited |
◆ max_key_bits
template<std::size_t Round, std::size_t IVSize>
|
staticconstexpr |
◆ min_key_bits
template<std::size_t Round, std::size_t IVSize>
|
staticconstexpr |
◆ min_key_schedule_bits
template<std::size_t Round, std::size_t IVSize>
|
staticconstexpr |
◆ min_key_schedule_size
template<std::size_t Round, std::size_t IVSize>
|
staticconstexpr |
◆ round_constants_size
|
staticconstexprinherited |
◆ rounds
template<std::size_t Round, std::size_t IVSize>
|
staticconstexpr |
◆ value_bits
|
staticconstexprinherited |
◆ word_bits
|
staticconstexprinherited |
The documentation for this struct was generated from the following file: