Public Types |
Public Member Functions |
Static Public Member Functions |
Static Public Attributes |
List of all members
nil::crypto3::block::detail::rijndael_policy< KeyBits, BlockBits > Struct Template Reference
#include <rijndael_policy.hpp>
Inheritance diagram for nil::crypto3::block::detail::rijndael_policy< KeyBits, BlockBits >:
Collaboration diagram for nil::crypto3::block::detail::rijndael_policy< KeyBits, BlockBits >:
Public Types | |
typedef std::array< byte_type, block_bytes > | block_type |
typedef rijndael_functions< 32, BlockBits >::byte_type | byte_type |
typedef rijndael_functions< 32, block_bits >::constants_type | constants_type |
typedef std::array< key_schedule_word_type, key_schedule_words > | key_schedule_type |
typedef typename ::nil::crypto3::detail::basic_functions< word_bits >::word_type | key_schedule_word_type |
typedef std::array< byte_type, key_bytes > | key_type |
typedef std::array< byte_type, mm_size > | mm_type |
typedef rijndael_functions< 32, block_bits >::prefetched_constants_type | prefetched_constants_type |
typedef std::array< byte_type, round_constants_size > | round_constants_type |
typedef std::array< byte_type, shift_offsets_size > | shift_offsets_type |
typedef basic_rijndael_policy< KeyBits, BlockBits >::word_type | word_type |
Public Member Functions | |
BOOST_ALIGNMENT (64) const expr static const ants_type const inverted_constants | |
BOOST_ALIGNMENT (64) const expr static const constants_type const ants | |
BOOST_ALIGNMENT (64) const expr static const round_constants_type round_constants | |
Static Public Member Functions | |
static byte_type | mul (byte_type x, byte_type y) |
static const prefetched_constants_type | prefetch_constants (const constants_type &constants) |
static const prefetched_constants_type | prefetch_inverted_constants (const constants_type &constants) |
static typename ::nil::crypto3::detail::basic_functions< WordBits >::word_type | rotate_left (typename ::nil::crypto3::detail::basic_functions< WordBits >::word_type x) |
template<std::size_t n> | |
static word_type | rotl (word_type x) |
template<std::size_t n> | |
static word_type | rotl (word_type x) |
template<std::size_t n> | |
static word_type | rotl (word_type x) |
template<std::size_t n> | |
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) |
template<std::size_t n> | |
static word_type | rotr (word_type x) |
template<std::size_t n> | |
static word_type | rotr (word_type x) |
template<std::size_t n> | |
static word_type | rotr (word_type x) |
template<std::size_t n> | |
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) |
template<std::size_t n> | |
static word_type | shl (word_type x) |
template<std::size_t n> | |
static word_type | shl (word_type x) |
template<std::size_t n> | |
static word_type | shl (word_type x) |
template<std::size_t n> | |
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) |
template<std::size_t n> | |
static word_type | shr (word_type x) |
template<std::size_t n> | |
static word_type | shr (word_type x) |
template<std::size_t n> | |
static word_type | shr (word_type x) |
template<std::size_t n> | |
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 byte_type | xtime (byte_type s) |
static byte_type | xtime11 (byte_type s) |
static byte_type | xtime13 (byte_type s) |
static byte_type | xtime14 (byte_type s) |
static byte_type | xtime3 (byte_type s) |
static byte_type | xtime4 (byte_type s) |
static byte_type | xtime8 (byte_type s) |
static byte_type | xtime9 (byte_type s) |
Static Public Attributes | |
constexpr static const std::size_t | block_bits |
constexpr static const std::size_t | block_bytes = BlockBits / byte_bits |
constexpr static const std::size_t | block_words |
constexpr static const std::size_t | byte_bits = rijndael_functions<32, BlockBits>::byte_bits |
constexpr static const std::size_t | constants_size |
constexpr static const mm_type | inverted_mm |
constexpr static const shift_offsets_type | inverted_shift_offsets |
constexpr static const std::size_t | key_bits = basic_rijndael_policy<KeyBits, BlockBits>::key_bits |
constexpr static const std::size_t | key_bytes = word_bytes * key_words |
constexpr static const std::size_t | key_schedule_bytes = key_schedule_words * word_bytes |
constexpr static const std::size_t | key_schedule_words |
constexpr static const std::size_t | key_words = basic_rijndael_policy<KeyBits, BlockBits>::key_words |
constexpr static const constants_type | log_ |
constexpr static const mm_type | mm |
constexpr static const std::size_t | mm_size = 16 |
constexpr static const constants_type | pow_ |
constexpr static const std::size_t | round_constants_size = 30 |
constexpr static const std::uint8_t | rounds |
constexpr static const shift_offsets_type | shift_offsets |
constexpr static const std::size_t | shift_offsets_size = 3 |
constexpr static const std::size_t | word_bits = basic_rijndael_policy<KeyBits, BlockBits>::word_bits |
constexpr static const std::size_t | word_bytes |
Member Typedef Documentation
◆ block_type
template<std::size_t KeyBits, std::size_t BlockBits>
|
inherited |
◆ byte_type
template<std::size_t KeyBits, std::size_t BlockBits>
|
inherited |
◆ constants_type
template<std::size_t KeyBits, std::size_t BlockBits>
|
inherited |
◆ key_schedule_type
template<std::size_t KeyBits, std::size_t BlockBits>
typedef std::array<key_schedule_word_type, key_schedule_words> nil::crypto3::block::detail::rijndael_policy< KeyBits, BlockBits >::key_schedule_type |
◆ key_schedule_word_type
template<std::size_t KeyBits, std::size_t BlockBits>
typedef typename ::nil::crypto3::detail::basic_functions<word_bits>::word_type nil::crypto3::block::detail::rijndael_policy< KeyBits, BlockBits >::key_schedule_word_type |
◆ key_type
template<std::size_t KeyBits, std::size_t BlockBits>
|
inherited |
◆ mm_type
template<std::size_t KeyBits, std::size_t BlockBits>
|
inherited |
◆ prefetched_constants_type
template<std::size_t KeyBits, std::size_t BlockBits>
|
inherited |
◆ round_constants_type
template<std::size_t KeyBits, std::size_t BlockBits>
|
inherited |
◆ shift_offsets_type
template<std::size_t KeyBits, std::size_t BlockBits>
|
inherited |
◆ word_type
template<std::size_t KeyBits, std::size_t BlockBits>
typedef basic_rijndael_policy<KeyBits, BlockBits>::word_type nil::crypto3::block::detail::rijndael_policy< KeyBits, BlockBits >::word_type |
Member Function Documentation
◆ BOOST_ALIGNMENT() [1/3]
template<std::size_t KeyBits, std::size_t BlockBits>
|
inlineinherited |
◆ BOOST_ALIGNMENT() [2/3]
template<std::size_t KeyBits, std::size_t BlockBits>
|
inlineinherited |
◆ BOOST_ALIGNMENT() [3/3]
template<std::size_t KeyBits, std::size_t BlockBits>
|
inlineinherited |
◆ mul()
|
inlinestaticinherited |
◆ prefetch_constants()
|
inlinestaticinherited |
◆ prefetch_inverted_constants()
|
inlinestaticinherited |
◆ rotate_left()
|
inlinestaticinherited |
◆ rotl() [1/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ rotl() [2/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ rotl() [3/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ rotl() [4/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ rotl() [5/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ rotl() [6/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ rotl() [7/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ rotl() [8/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ rotr() [1/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ rotr() [2/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ rotr() [3/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ rotr() [4/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ rotr() [5/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ rotr() [6/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ rotr() [7/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ rotr() [8/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ shl() [1/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ shl() [2/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ shl() [3/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ shl() [4/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ shl() [5/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ shl() [6/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ shl() [7/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ shl() [8/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ shr() [1/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ shr() [2/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ shr() [3/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ shr() [4/8]
template<std::size_t WordBits>
template<std::size_t n>
|
inlinestaticinherited |
◆ shr() [5/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ shr() [6/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ shr() [7/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ shr() [8/8]
template<std::size_t WordBits>
|
inlinestaticinherited |
◆ xtime()
|
inlinestaticinherited |
◆ xtime11()
|
inlinestaticinherited |
◆ xtime13()
|
inlinestaticinherited |
◆ xtime14()
|
inlinestaticinherited |
◆ xtime3()
|
inlinestaticinherited |
◆ xtime4()
|
inlinestaticinherited |
◆ xtime8()
|
inlinestaticinherited |
◆ xtime9()
|
inlinestaticinherited |
Member Data Documentation
◆ block_bits
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexpr |
Initial value:
=
constexpr static const std::size_t block_bits
Definition: rijndael_policy.hpp:43
◆ block_bytes
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexprinherited |
◆ block_words
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexpr |
Initial value:
=
constexpr static const std::size_t block_words
Definition: rijndael_policy.hpp:45
◆ byte_bits
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexprinherited |
◆ constants_size
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexprinherited |
Initial value:
=
constexpr static const std::size_t constants_size
Definition: rijndael_functions.hpp:49
◆ inverted_mm
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexprinherited |
Initial value:
= {0x0e, 0x0b, 0x0d, 0x09, 0x09, 0x0e, 0x0b, 0x0d,
0x0d, 0x09, 0x0e, 0x0b, 0x0b, 0x0d, 0x09, 0x0e}
◆ inverted_shift_offsets
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexprinherited |
Initial value:
= {
◆ key_bits
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexpr |
◆ key_bytes
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexprinherited |
◆ key_schedule_bytes
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexpr |
◆ key_schedule_words
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexpr |
Initial value:
=
constexpr static const std::uint8_t rounds
Definition: rijndael_policy.hpp:165
◆ key_words
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexpr |
◆ log_
|
staticconstexprinherited |
◆ mm
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexprinherited |
Initial value:
= {0x02, 0x03, 0x01, 0x01, 0x01, 0x02, 0x03, 0x01,
0x01, 0x01, 0x02, 0x03, 0x03, 0x01, 0x01, 0x02}
◆ mm_size
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexprinherited |
◆ pow_
|
staticconstexprinherited |
◆ round_constants_size
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexprinherited |
◆ rounds
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexpr |
Initial value:
=
constexpr static const std::size_t key_words
Definition: rijndael_policy.hpp:163
constexpr static const std::size_t block_words
Definition: rijndael_policy.hpp:159
◆ shift_offsets
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexprinherited |
Initial value:
= {1, block_words == 8 ? 3 : 2,
block_words > 6 ? 4 : 3}
◆ shift_offsets_size
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexprinherited |
◆ word_bits
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexpr |
◆ word_bytes
template<std::size_t KeyBits, std::size_t BlockBits>
|
staticconstexpr |
Initial value:
=
constexpr static const std::size_t word_bytes
Definition: rijndael_policy.hpp:40
The documentation for this struct was generated from the following file: