Public Types |
Public Member Functions |
Public Attributes |
Static Public Attributes |
List of all members
nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds > Struct Template Reference
#include <poseidon_constants_operator.hpp>
Collaboration diagram for nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >:
Public Types | |
typedef poseidon_lfsr< field_type, Arity, PartRounds > | constants_generator_policy_type |
typedef field_type::value_type | element_type |
typedef algebra::vector< element_type, equivalent_round_constants_size > | equivalent_round_constants_type |
typedef FieldType | field_type |
typedef poseidon_mds_matrix< field_type, Arity, PartRounds > | matrix_policy_type |
typedef poseidon_policy< field_type, Arity, PartRounds > | policy_type |
typedef policy_type::state_type | state_type |
typedef matrix_policy_type::state_vector_type | state_vector_type |
Public Attributes | |
equivalent_round_constants_type | equivalent_round_constants |
matrix_policy_type | policy_matrix |
constants_generator_policy_type | round_constants_generator |
Static Public Attributes | |
constexpr static const std::size_t | equivalent_round_constants_size |
constexpr static const std::size_t | full_rounds = policy_type::full_rounds |
constexpr static const std::size_t | half_full_rounds = policy_type::half_full_rounds |
constexpr static const std::size_t | part_rounds = policy_type::part_rounds |
constexpr static const std::size_t | round_constants_size = (full_rounds + part_rounds) * state_words |
constexpr static const std::size_t | state_words = policy_type::state_words |
Member Typedef Documentation
◆ constants_generator_policy_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef poseidon_lfsr<field_type, Arity, PartRounds> nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >::constants_generator_policy_type |
◆ element_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef field_type::value_type nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >::element_type |
◆ equivalent_round_constants_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef algebra::vector<element_type, equivalent_round_constants_size> nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >::equivalent_round_constants_type |
◆ field_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef FieldType nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >::field_type |
◆ matrix_policy_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef poseidon_mds_matrix<field_type, Arity, PartRounds> nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >::matrix_policy_type |
◆ policy_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef poseidon_policy<field_type, Arity, PartRounds> nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >::policy_type |
◆ state_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef policy_type::state_type nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >::state_type |
◆ state_vector_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef matrix_policy_type::state_vector_type nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >::state_vector_type |
Constructor & Destructor Documentation
◆ poseidon_constants_operator()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inline |
Member Function Documentation
◆ arc_mds_part_round_optimized_init()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inline |
◆ arc_sbox_mds_full_round()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inline |
◆ arc_sbox_mds_full_round_optimized_first()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inline |
◆ arc_sbox_mds_full_round_optimized_last()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inline |
◆ arc_sbox_mds_part_round()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inline |
◆ generate_equivalent_round_constants()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inline |
◆ get_equivalent_round_constant()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inline |
◆ get_round_constant()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inlineconstexpr |
◆ get_round_constants_slice()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inlineconstexpr |
◆ sbox_arc_mds_part_round_optimized()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inline |
◆ sbox_mds_part_round_optimized_last()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inline |
Member Data Documentation
◆ equivalent_round_constants
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
equivalent_round_constants_type nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >::equivalent_round_constants |
◆ equivalent_round_constants_size
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
Initial value:
=
constexpr static const std::size_t state_words
Definition: poseidon_constants_operator.hpp:33
constexpr static const std::size_t full_rounds
Definition: poseidon_constants_operator.hpp:36
constexpr static const std::size_t part_rounds
Definition: poseidon_constants_operator.hpp:38
◆ full_rounds
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
◆ half_full_rounds
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
◆ part_rounds
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
◆ policy_matrix
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
matrix_policy_type nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >::policy_matrix |
◆ round_constants_generator
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
constants_generator_policy_type nil::crypto3::hashes::detail::poseidon_constants_operator< FieldType, Arity, PartRounds >::round_constants_generator |
◆ round_constants_size
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
◆ state_words
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
The documentation for this struct was generated from the following file: