nil::crypto3::hashes::detail::ripemd_policy< DigestBits > Struct Template Reference

#include <ripemd_policy.hpp>

+ Inheritance diagram for nil::crypto3::hashes::detail::ripemd_policy< DigestBits >:
+ Collaboration diagram for nil::crypto3::hashes::detail::ripemd_policy< DigestBits >:

Public Types

typedef std::array< word_type, block_wordsblock_type
 
typedef boost::uint_t< byte_bits >::exact byte_type
 
typedef boost::uint_t< byte_bits >::exact byte_type
 
typedef boost::uint_t< byte_bits >::exact byte_type
 
typedef stream_endian::little_octet_big_bit digest_endian
 
typedef static_digest< digest_bitsdigest_type
 
typedef std::array< byte_type, key_indexes_sizekey_indexes_type
 
typedef std::array< std::uint8_t, pkcs_id_sizepkcs_id_type
 
typedef boost::uint_t< word_bits >::exact word_type
 
typedef boost::uint_t< word_bits >::exact word_type
 
typedef boost::uint_t< word_bits >::exact word_type
 

Static Public Member Functions

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)
 
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)
 
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)
 
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 Public Attributes

constexpr static const std::size_t block_bits = 512
 
constexpr static const std::size_t block_words = block_bits / word_bits
 
constexpr static const std::size_t byte_bits = CHAR_BIT
 
constexpr static const std::size_t digest_bits = DigestBits
 
constexpr static const std::uint8_t ieee1363_hash_id = 0x00
 
constexpr static const std::size_t key_indexes_size = 80
 
constexpr static const std::size_t length_bits = word_bits * 2
 
constexpr static const pkcs_id_type pkcs_id
 
constexpr static const std::size_t pkcs_id_bits = pkcs_id_size * CHAR_BIT
 
constexpr static const std::size_t pkcs_id_size = 15
 
constexpr static const key_indexes_type r1
 
constexpr static const key_indexes_type r2
 
constexpr static const key_indexes_type s1
 
constexpr static const key_indexes_type s2
 
constexpr static const std::size_t word_bits = 32
 

Member Typedef Documentation

◆ block_type

template<std::size_t DigestBits>
typedef std::array<word_type, block_words> nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::block_type
inherited

◆ byte_type [1/3]

typedef boost::uint_t<byte_bits>::exact nil::crypto3::detail::basic_functions< 32 >::byte_type
inherited

◆ byte_type [2/3]

typedef boost::uint_t<byte_bits>::exact nil::crypto3::detail::basic_functions< 32 >::byte_type
inherited

◆ byte_type [3/3]

typedef boost::uint_t<byte_bits>::exact nil::crypto3::detail::basic_functions< 32 >::byte_type
inherited

◆ digest_endian

template<std::size_t DigestBits>
typedef stream_endian::little_octet_big_bit nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::digest_endian
inherited

◆ digest_type

template<std::size_t DigestBits>
typedef static_digest<digest_bits> nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::digest_type
inherited

◆ key_indexes_type

template<std::size_t DigestBits>
typedef std::array<byte_type, key_indexes_size> nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::key_indexes_type
inherited

◆ pkcs_id_type

template<std::size_t DigestBits>
typedef std::array<std::uint8_t, pkcs_id_size> nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::pkcs_id_type
inherited

◆ word_type [1/3]

typedef boost::uint_t<word_bits>::exact nil::crypto3::detail::basic_functions< 32 >::word_type
inherited

◆ word_type [2/3]

typedef boost::uint_t<word_bits>::exact nil::crypto3::detail::basic_functions< 32 >::word_type
inherited

◆ word_type [3/3]

typedef boost::uint_t<word_bits>::exact nil::crypto3::detail::basic_functions< 32 >::word_type
inherited

Member Function Documentation

◆ rotl() [1/6]

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

◆ rotl() [2/6]

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

◆ rotl() [3/6]

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

◆ rotl() [4/6]

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

◆ rotl() [5/6]

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

◆ rotl() [6/6]

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

◆ rotr() [1/6]

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

◆ rotr() [2/6]

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

◆ rotr() [3/6]

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

◆ rotr() [4/6]

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

◆ rotr() [5/6]

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

◆ rotr() [6/6]

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

◆ shl() [1/6]

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

◆ shl() [2/6]

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

◆ shl() [3/6]

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

◆ shl() [4/6]

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

◆ shl() [5/6]

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

◆ shl() [6/6]

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

◆ shr() [1/6]

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

◆ shr() [2/6]

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

◆ shr() [3/6]

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

◆ shr() [4/6]

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

◆ shr() [5/6]

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

◆ shr() [6/6]

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

Member Data Documentation

◆ block_bits

template<std::size_t DigestBits>
constexpr static const std::size_t nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::block_bits = 512
staticconstexprinherited

◆ block_words

template<std::size_t DigestBits>
constexpr static const std::size_t nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::block_words = block_bits / word_bits
staticconstexprinherited

◆ byte_bits

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

◆ digest_bits

template<std::size_t DigestBits>
constexpr static const std::size_t nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::digest_bits = DigestBits
staticconstexprinherited

◆ ieee1363_hash_id

template<std::size_t DigestBits>
constexpr static const std::uint8_t nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::ieee1363_hash_id = 0x00
staticconstexprinherited

◆ key_indexes_size

template<std::size_t DigestBits>
constexpr static const std::size_t nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::key_indexes_size = 80
staticconstexprinherited

◆ length_bits

template<std::size_t DigestBits>
constexpr static const std::size_t nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::length_bits = word_bits * 2
staticconstexprinherited

◆ pkcs_id

template<std::size_t DigestSize>
constexpr basic_ripemd_policy< DigestSize >::pkcs_id_type const nil::crypto3::hashes::detail::basic_ripemd_policy< DigestSize >::pkcs_id
staticconstexprinherited
Initial value:
= {0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x24,
0x03, 0x02, 0x01, 0x05, 0x00, 0x04, 0x14}

◆ pkcs_id_bits

template<std::size_t DigestBits>
constexpr static const std::size_t nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::pkcs_id_bits = pkcs_id_size * CHAR_BIT
staticconstexprinherited

◆ pkcs_id_size

template<std::size_t DigestBits>
constexpr static const std::size_t nil::crypto3::hashes::detail::basic_ripemd_policy< DigestBits >::pkcs_id_size = 15
staticconstexprinherited

◆ r1

template<std::size_t DigestSize>
constexpr basic_ripemd_policy< DigestSize >::key_indexes_type const nil::crypto3::hashes::detail::basic_ripemd_policy< DigestSize >::r1
staticconstexprinherited
Initial value:
= {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1,
10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1,
2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15,
14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13}

◆ r2

template<std::size_t DigestSize>
constexpr basic_ripemd_policy< DigestSize >::key_indexes_type const nil::crypto3::hashes::detail::basic_ripemd_policy< DigestSize >::r2
staticconstexprinherited
Initial value:
= {
5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7,
0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9,
11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13,
9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11}

◆ s1

template<std::size_t DigestSize>
constexpr basic_ripemd_policy< DigestSize >::key_indexes_type const nil::crypto3::hashes::detail::basic_ripemd_policy< DigestSize >::s1
staticconstexprinherited
Initial value:
= {
11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13,
11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15,
14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6,
8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6}

◆ s2

template<std::size_t DigestSize>
constexpr basic_ripemd_policy< DigestSize >::key_indexes_type const nil::crypto3::hashes::detail::basic_ripemd_policy< DigestSize >::s2
staticconstexprinherited
Initial value:
= {
8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7,
12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14,
12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9,
12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11}

◆ word_bits

constexpr static const std::size_t nil::crypto3::stream::detail::basic_functions< 32 >::word_bits = 32
staticconstexprinherited

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