nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits > Struct Template Reference

#include <chacha_avx2_impl.hpp>

+ Collaboration diagram for nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >:

Public Types

typedef policy_type::block_type block_type
 
typedef policy_type::key_schedule_type key_schedule_type
 
typedef chacha_policy< Round, IVSize, KeyBits > policy_type
 
typedef policy_type::word_type word_type
 

Static Public Member Functions

static BOOST_ATTRIBUTE_TARGET ("avx2") void chacha_x8(const std
 

Static Public Attributes

constexpr static const std::size_t block_bits = policy_type::block_bits
 
constexpr static const std::size_t block_size = policy_type::block_size
 
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 rounds = policy_type::rounds
 
constexpr static const std::size_t word_bits = policy_type::word_bits
 

Member Typedef Documentation

◆ block_type

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
typedef policy_type::block_type nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >::block_type

◆ key_schedule_type

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
typedef policy_type::key_schedule_type nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >::key_schedule_type

◆ policy_type

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
typedef chacha_policy<Round, IVSize, KeyBits> nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >::policy_type

◆ word_type

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
typedef policy_type::word_type nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >::word_type

Member Function Documentation

◆ BOOST_ATTRIBUTE_TARGET()

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
static nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >::BOOST_ATTRIBUTE_TARGET ( "avx2"  ) const
inlinestatic

Member Data Documentation

◆ block_bits

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
constexpr static const std::size_t nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >::block_bits = policy_type::block_bits
staticconstexpr

◆ block_size

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
constexpr static const std::size_t nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >::block_size = policy_type::block_size
staticconstexpr

◆ min_key_schedule_bits

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
constexpr static const std::size_t nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >::min_key_schedule_bits = policy_type::key_schedule_bits
staticconstexpr

◆ min_key_schedule_size

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
constexpr static const std::size_t nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >::min_key_schedule_size = policy_type::key_schedule_size
staticconstexpr

◆ rounds

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
constexpr static const std::size_t nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >::rounds = policy_type::rounds
staticconstexpr

◆ word_bits

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
constexpr static const std::size_t nil::crypto3::stream::detail::chacha_avx2_impl< Round, IVSize, KeyBits >::word_bits = policy_type::word_bits
staticconstexpr

The documentation for this struct was generated from the following file: