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

#include <chacha_impl.hpp>

+ Collaboration diagram for nil::crypto3::stream::detail::chacha_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 void chacha_x4 (const std::array< std::uint8_t, block_size *4 > &block, key_schedule_type &input)
 
static void chacha_x8 (const std::array< std::uint8_t, block_size *8 > &block, key_schedule_type &schedule)
 

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::min_key_schedule_bits
 
constexpr static const std::size_t min_key_schedule_size = policy_type::min_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_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_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_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_impl< Round, IVSize, KeyBits >::word_type

Member Function Documentation

◆ chacha_x4()

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
static void nil::crypto3::stream::detail::chacha_impl< Round, IVSize, KeyBits >::chacha_x4 ( const std::array< std::uint8_t, block_size *4 > &  block,
key_schedule_type input 
)
inlinestatic

◆ chacha_x8()

template<std::size_t Round, std::size_t IVSize, std::size_t KeyBits>
static void nil::crypto3::stream::detail::chacha_impl< Round, IVSize, KeyBits >::chacha_x8 ( const std::array< std::uint8_t, block_size *8 > &  block,
key_schedule_type schedule 
)
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_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_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_impl< Round, IVSize, KeyBits >::min_key_schedule_bits = policy_type::min_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_impl< Round, IVSize, KeyBits >::min_key_schedule_size = policy_type::min_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_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_impl< Round, IVSize, KeyBits >::word_bits = policy_type::word_bits
staticconstexpr

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