nil::crypto3::block::detail::shacal_policy Struct Reference

#include <shacal_policy.hpp>

+ Inheritance diagram for nil::crypto3::block::detail::shacal_policy:
+ Collaboration diagram for nil::crypto3::block::detail::shacal_policy:

Public Types

typedef std::array< word_type, block_wordsblock_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 std::array< word_type, roundsconstants_type
 
typedef std::array< word_type, key_wordskey_type
 
typedef std::array< word_type, roundsschedule_type
 
typedef ::nil::crypto3::detail::basic_functions< WordBits >::word_type word_type
 

Static Public Member Functions

static word_type Ch (word_type x, word_type y, word_type z)
 
static word_type f (unsigned t, word_type x, word_type y, word_type z)
 
static word_type Maj (word_type x, word_type y, word_type z)
 
static word_type Parity (word_type x, word_type y, word_type z)
 
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 Public Attributes

constexpr static const std::size_t block_bits = block_words * word_bits
 
constexpr static const std::size_t block_words = 5
 
constexpr static const std::size_t byte_bits = CHAR_BIT
 
constexpr static constants_type const constants
 
constexpr static const std::size_t key_bits = key_words * word_bits
 
constexpr static const std::size_t key_words = 16
 
static const std::size_t rounds = 80
 
constexpr static const std::size_t word_bits = WordBits
 

Member Typedef Documentation

◆ block_type

◆ byte_type [1/4]

template<std::size_t WordBits>
typedef boost::uint_t<byte_bits>::exact nil::crypto3::detail::basic_functions< WordBits >::byte_type
inherited

◆ byte_type [2/4]

template<std::size_t WordBits>
typedef boost::uint_t<CHAR_BIT>::exact nil::crypto3::detail::basic_functions< WordBits >::byte_type
inherited

◆ byte_type [3/4]

template<std::size_t WordBits>
typedef boost::uint_t<byte_bits>::exact nil::crypto3::detail::basic_functions< WordBits >::byte_type
inherited

◆ byte_type [4/4]

template<std::size_t WordBits>
typedef boost::uint_t<byte_bits>::exact nil::crypto3::detail::basic_functions< WordBits >::byte_type
inherited

◆ constants_type

◆ key_type

◆ schedule_type

◆ word_type

Member Function Documentation

◆ Ch()

static word_type nil::crypto3::block::detail::basic_shacal_functions< WordBits >::Ch ( word_type  x,
word_type  y,
word_type  z 
)
inlinestaticinherited

◆ f()

static word_type nil::crypto3::block::detail::shacal_functions::f ( unsigned  t,
word_type  x,
word_type  y,
word_type  z 
)
inlinestaticinherited

◆ Maj()

static word_type nil::crypto3::block::detail::basic_shacal_functions< WordBits >::Maj ( word_type  x,
word_type  y,
word_type  z 
)
inlinestaticinherited

◆ Parity()

static word_type nil::crypto3::block::detail::shacal_functions::Parity ( word_type  x,
word_type  y,
word_type  z 
)
inlinestaticinherited

◆ rotl() [1/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotl ( word_type  x)
inlinestaticinherited

◆ rotl() [2/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotl ( word_type  x)
inlinestaticinherited

◆ rotl() [3/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotl ( word_type  x)
inlinestaticinherited

◆ rotl() [4/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotl ( word_type  x)
inlinestaticinherited

◆ rotl() [5/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotl ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ rotl() [6/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotl ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ rotl() [7/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotl ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ rotl() [8/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotl ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ rotr() [1/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotr ( word_type  x)
inlinestaticinherited

◆ rotr() [2/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotr ( word_type  x)
inlinestaticinherited

◆ rotr() [3/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotr ( word_type  x)
inlinestaticinherited

◆ rotr() [4/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotr ( word_type  x)
inlinestaticinherited

◆ rotr() [5/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotr ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ rotr() [6/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotr ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ rotr() [7/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotr ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ rotr() [8/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::rotr ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ shl() [1/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shl ( word_type  x)
inlinestaticinherited

◆ shl() [2/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shl ( word_type  x)
inlinestaticinherited

◆ shl() [3/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shl ( word_type  x)
inlinestaticinherited

◆ shl() [4/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shl ( word_type  x)
inlinestaticinherited

◆ shl() [5/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shl ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ shl() [6/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shl ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ shl() [7/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shl ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ shl() [8/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shl ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ shr() [1/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shr ( word_type  x)
inlinestaticinherited

◆ shr() [2/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shr ( word_type  x)
inlinestaticinherited

◆ shr() [3/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shr ( word_type  x)
inlinestaticinherited

◆ shr() [4/8]

template<std::size_t WordBits>
template<std::size_t n>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shr ( word_type  x)
inlinestaticinherited

◆ shr() [5/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shr ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ shr() [6/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shr ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ shr() [7/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shr ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

◆ shr() [8/8]

template<std::size_t WordBits>
static word_type nil::crypto3::detail::basic_functions< WordBits >::shr ( word_type  x,
std::size_t  n 
)
inlinestaticinherited

Member Data Documentation

◆ block_bits

constexpr static const std::size_t nil::crypto3::block::detail::shacal_policy::block_bits = block_words * word_bits
staticconstexpr

◆ block_words

constexpr static const std::size_t nil::crypto3::block::detail::shacal_policy::block_words = 5
staticconstexpr

◆ byte_bits

template<std::size_t WordBits>
constexpr static const std::size_t nil::crypto3::detail::basic_functions< WordBits >::byte_bits = CHAR_BIT
staticconstexprinherited

◆ constants

constexpr shacal_policy::constants_type const nil::crypto3::block::detail::shacal_policy::constants
staticconstexpr
Initial value:
= {{
0x5a827999, 0x5a827999, 0x5a827999, 0x5a827999, 0x5a827999, 0x5a827999, 0x5a827999,
0x5a827999, 0x5a827999, 0x5a827999, 0x5a827999, 0x5a827999, 0x5a827999, 0x5a827999,
0x5a827999, 0x5a827999, 0x5a827999, 0x5a827999, 0x5a827999, 0x5a827999,
0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1,
0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1,
0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1, 0x6ed9eba1,
0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc,
0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc,
0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc, 0x8f1bbcdc,
0xca62c1d6, 0xca62c1d6, 0xca62c1d6, 0xca62c1d6, 0xca62c1d6, 0xca62c1d6, 0xca62c1d6,
0xca62c1d6, 0xca62c1d6, 0xca62c1d6, 0xca62c1d6, 0xca62c1d6, 0xca62c1d6, 0xca62c1d6,
0xca62c1d6, 0xca62c1d6, 0xca62c1d6, 0xca62c1d6, 0xca62c1d6, 0xca62c1d6,
}}

◆ key_bits

constexpr static const std::size_t nil::crypto3::block::detail::shacal_policy::key_bits = key_words * word_bits
staticconstexpr

◆ key_words

constexpr static const std::size_t nil::crypto3::block::detail::shacal_policy::key_words = 16
staticconstexpr

◆ rounds

const std::size_t nil::crypto3::block::detail::shacal_policy::rounds = 80
static

◆ word_bits

template<std::size_t WordBits>
constexpr static const std::size_t nil::crypto3::detail::basic_functions< WordBits >::word_bits = WordBits
staticconstexprinherited

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