nil::crypto3::hashes::detail::keccak_1600_functions< DigestBits > Struct Template Reference
#include <keccak_functions.hpp>
Inheritance diagram for nil::crypto3::hashes::detail::keccak_1600_functions< DigestBits >:
Collaboration diagram for nil::crypto3::hashes::detail::keccak_1600_functions< DigestBits >:
Public Types | |
typedef std::array< word_type, block_words > | block_type |
typedef boost::uint_t< byte_bits >::exact | byte_type |
typedef boost::uint_t< CHAR_BIT >::exact | byte_type |
typedef boost::uint_t< byte_bits >::exact | byte_type |
typedef boost::uint_t< byte_bits >::exact | byte_type |
typedef stream_endian::big_octet_big_bit | digest_endian |
typedef static_digest< digest_bits > | digest_type |
typedef keccak_1600_policy< DigestBits > | policy_type |
typedef std::array< word_type, round_constants_size > | round_constants_type |
typedef policy_type::state_type | state_type |
typedef policy_type::word_type | word_type |
Static Public Member Functions | |
static void | permute (state_type &A) |
static word_type | rotl (word_type x) |
static word_type | rotl (word_type x) |
static word_type | rotl (word_type x) |
static word_type | rotl (word_type x) |
static word_type | rotl (word_type x, std::size_t n) |
static word_type | rotl (word_type x, std::size_t n) |
static word_type | rotl (word_type x, std::size_t n) |
static word_type | rotl (word_type x, std::size_t n) |
static word_type | rotr (word_type x) |
static word_type | rotr (word_type x) |
static word_type | rotr (word_type x) |
static word_type | rotr (word_type x) |
static word_type | rotr (word_type x, std::size_t n) |
static word_type | rotr (word_type x, std::size_t n) |
static word_type | rotr (word_type x, std::size_t n) |
static word_type | rotr (word_type x, std::size_t n) |
static word_type | shl (word_type x) |
static word_type | shl (word_type x) |
static word_type | shl (word_type x) |
static word_type | shl (word_type x) |
static word_type | shl (word_type x, std::size_t n) |
static word_type | shl (word_type x, std::size_t n) |
static word_type | shl (word_type x, std::size_t n) |
static word_type | shl (word_type x, std::size_t n) |
static word_type | shr (word_type x) |
static word_type | shr (word_type x) |
static word_type | shr (word_type x) |
static word_type | shr (word_type x) |
static word_type | shr (word_type x, std::size_t n) |
static word_type | shr (word_type x, std::size_t n) |
static word_type | shr (word_type x, std::size_t n) |
static word_type | shr (word_type x, std::size_t n) |
Static Public Attributes | |
constexpr static const std::size_t | block_bits = state_bits - 2 * digest_bits |
constexpr static const std::size_t | block_words = block_bits / word_bits |
constexpr static const std::size_t | byte_bits |
constexpr static const std::size_t | digest_bits = DigestBits |
constexpr static const std::size_t | length_bits = 0 |
constexpr static const round_constants_type | round_constants |
constexpr static const std::size_t | round_constants_size = policy_type::rounds |
constexpr static const std::size_t | rounds = 24 |
constexpr static const std::size_t | state_bits = 1600 |
constexpr static const std::size_t | state_words = state_bits / word_bits |
constexpr static const std::size_t | word_bits = policy_type::word_bits |
Member Typedef Documentation
◆ block_type
template<std::size_t DigestBits>
|
inherited |
◆ byte_type [1/4]
|
inherited |
◆ byte_type [2/4]
|
inherited |
◆ byte_type [3/4]
|
inherited |
◆ byte_type [4/4]
|
inherited |
◆ digest_endian
template<std::size_t DigestBits>
|
inherited |
◆ digest_type
template<std::size_t DigestBits>
|
inherited |
◆ policy_type
template<std::size_t DigestBits>
typedef keccak_1600_policy<DigestBits> nil::crypto3::hashes::detail::keccak_1600_functions< DigestBits >::policy_type |
◆ round_constants_type
template<std::size_t DigestBits>
typedef std::array<word_type, round_constants_size> nil::crypto3::hashes::detail::keccak_1600_functions< DigestBits >::round_constants_type |
◆ state_type
template<std::size_t DigestBits>
typedef policy_type::state_type nil::crypto3::hashes::detail::keccak_1600_functions< DigestBits >::state_type |
◆ word_type
template<std::size_t DigestBits>
typedef policy_type::word_type nil::crypto3::hashes::detail::keccak_1600_functions< DigestBits >::word_type |
Member Function Documentation
◆ permute()
template<std::size_t DigestBits>
|
inlinestatic |
◆ rotl() [1/8]
|
inlinestaticinherited |
◆ rotl() [2/8]
|
inlinestaticinherited |
◆ rotl() [3/8]
|
inlinestaticinherited |
◆ rotl() [4/8]
|
inlinestaticinherited |
◆ rotl() [5/8]
|
inlinestaticinherited |
◆ rotl() [6/8]
|
inlinestaticinherited |
◆ rotl() [7/8]
|
inlinestaticinherited |
◆ rotl() [8/8]
|
inlinestaticinherited |
◆ rotr() [1/8]
|
inlinestaticinherited |
◆ rotr() [2/8]
|
inlinestaticinherited |
◆ rotr() [3/8]
|
inlinestaticinherited |
◆ rotr() [4/8]
|
inlinestaticinherited |
◆ rotr() [5/8]
|
inlinestaticinherited |
◆ rotr() [6/8]
|
inlinestaticinherited |
◆ rotr() [7/8]
|
inlinestaticinherited |
◆ rotr() [8/8]
|
inlinestaticinherited |
◆ shl() [1/8]
|
inlinestaticinherited |
◆ shl() [2/8]
|
inlinestaticinherited |
◆ shl() [3/8]
|
inlinestaticinherited |
◆ shl() [4/8]
|
inlinestaticinherited |
◆ shl() [5/8]
|
inlinestaticinherited |
◆ shl() [6/8]
|
inlinestaticinherited |
◆ shl() [7/8]
|
inlinestaticinherited |
◆ shl() [8/8]
|
inlinestaticinherited |
◆ shr() [1/8]
|
inlinestaticinherited |
◆ shr() [2/8]
|
inlinestaticinherited |
◆ shr() [3/8]
|
inlinestaticinherited |
◆ shr() [4/8]
|
inlinestaticinherited |
◆ shr() [5/8]
|
inlinestaticinherited |
◆ shr() [6/8]
|
inlinestaticinherited |
◆ shr() [7/8]
|
inlinestaticinherited |
◆ shr() [8/8]
|
inlinestaticinherited |
Member Data Documentation
◆ block_bits
template<std::size_t DigestBits>
|
staticconstexprinherited |
◆ block_words
template<std::size_t DigestBits>
|
staticconstexprinherited |
◆ byte_bits
|
staticconstexprinherited |
◆ digest_bits
template<std::size_t DigestBits>
|
staticconstexprinherited |
◆ length_bits
template<std::size_t DigestBits>
|
staticconstexprinherited |
◆ round_constants
template<std::size_t DigestBits>
|
staticconstexpr |
Initial value:
= {
UINT64_C(0x0000000000000001), UINT64_C(0x0000000000008082), UINT64_C(0x800000000000808a),
UINT64_C(0x8000000080008000), UINT64_C(0x000000000000808b), UINT64_C(0x0000000080000001),
UINT64_C(0x8000000080008081), UINT64_C(0x8000000000008009), UINT64_C(0x000000000000008a),
UINT64_C(0x0000000000000088), UINT64_C(0x0000000080008009), UINT64_C(0x000000008000000a),
UINT64_C(0x000000008000808b), UINT64_C(0x800000000000008b), UINT64_C(0x8000000000008089),
UINT64_C(0x8000000000008003), UINT64_C(0x8000000000008002), UINT64_C(0x8000000000000080),
UINT64_C(0x000000000000800a), UINT64_C(0x800000008000000a), UINT64_C(0x8000000080008081),
UINT64_C(0x8000000000008080), UINT64_C(0x0000000080000001), UINT64_C(0x8000000080008008)}
◆ round_constants_size
template<std::size_t DigestBits>
|
staticconstexpr |
◆ rounds
template<std::size_t DigestBits>
|
staticconstexprinherited |
◆ state_bits
template<std::size_t DigestBits>
|
staticconstexprinherited |
◆ state_words
template<std::size_t DigestBits>
|
staticconstexprinherited |
◆ word_bits
template<std::size_t DigestBits>
|
staticconstexpr |
The documentation for this struct was generated from the following file: