nil::crypto3::block::modes::cipher_feedback< Cipher, FeedbackBits, Padding, CiphertextStealingMode > Struct Template Reference

Cipher Feedback Mode (CBC). More...

#include <cfb.hpp>

+ Collaboration diagram for nil::crypto3::block::modes::cipher_feedback< Cipher, FeedbackBits, Padding, CiphertextStealingMode >:

Classes

struct  bind
 

Public Types

typedef Cipher cipher_type
 
typedef CiphertextStealingMode< Cipher, Padding< Cipher > > ciphertext_stealing_type
 
typedef detail::cfb_decryption_policy< cipher_type, feedback_bits, padding_type, ciphertext_stealing_typedecryption_policy
 
typedef detail::cfb_encryption_policy< cipher_type, feedback_bits, padding_type, ciphertext_stealing_typeencryption_policy
 
typedef Padding< Cipher > padding_type
 

Public Member Functions

 BOOST_STATIC_ASSERT (feedback_bits % CHAR_BIT==0)
 
 BOOST_STATIC_ASSERT (feedback_bits<=cipher_type::block_bits)
 

Static Public Attributes

constexpr static const std::size_t feedback_bits = FeedbackBits
 

Detailed Description

template<typename Cipher, std::size_t FeedbackBits, template< typename > class Padding, template< typename, typename > class CiphertextStealingMode = cts0>
struct nil::crypto3::block::modes::cipher_feedback< Cipher, FeedbackBits, Padding, CiphertextStealingMode >

Cipher Feedback Mode (CBC).

Template Parameters
Cipher
FeedbackBits
Padding
CiphertextStealingMode

Member Typedef Documentation

◆ cipher_type

template<typename Cipher , std::size_t FeedbackBits, template< typename > class Padding, template< typename, typename > class CiphertextStealingMode = cts0>
typedef Cipher nil::crypto3::block::modes::cipher_feedback< Cipher, FeedbackBits, Padding, CiphertextStealingMode >::cipher_type

◆ ciphertext_stealing_type

template<typename Cipher , std::size_t FeedbackBits, template< typename > class Padding, template< typename, typename > class CiphertextStealingMode = cts0>
typedef CiphertextStealingMode<Cipher, Padding<Cipher> > nil::crypto3::block::modes::cipher_feedback< Cipher, FeedbackBits, Padding, CiphertextStealingMode >::ciphertext_stealing_type

◆ decryption_policy

template<typename Cipher , std::size_t FeedbackBits, template< typename > class Padding, template< typename, typename > class CiphertextStealingMode = cts0>
typedef detail::cfb_decryption_policy<cipher_type, feedback_bits, padding_type, ciphertext_stealing_type> nil::crypto3::block::modes::cipher_feedback< Cipher, FeedbackBits, Padding, CiphertextStealingMode >::decryption_policy

◆ encryption_policy

template<typename Cipher , std::size_t FeedbackBits, template< typename > class Padding, template< typename, typename > class CiphertextStealingMode = cts0>
typedef detail::cfb_encryption_policy<cipher_type, feedback_bits, padding_type, ciphertext_stealing_type> nil::crypto3::block::modes::cipher_feedback< Cipher, FeedbackBits, Padding, CiphertextStealingMode >::encryption_policy

◆ padding_type

template<typename Cipher , std::size_t FeedbackBits, template< typename > class Padding, template< typename, typename > class CiphertextStealingMode = cts0>
typedef Padding<Cipher> nil::crypto3::block::modes::cipher_feedback< Cipher, FeedbackBits, Padding, CiphertextStealingMode >::padding_type

Member Function Documentation

◆ BOOST_STATIC_ASSERT() [1/2]

template<typename Cipher , std::size_t FeedbackBits, template< typename > class Padding, template< typename, typename > class CiphertextStealingMode = cts0>
nil::crypto3::block::modes::cipher_feedback< Cipher, FeedbackBits, Padding, CiphertextStealingMode >::BOOST_STATIC_ASSERT ( feedback_bits CHAR_BIT = =0)

◆ BOOST_STATIC_ASSERT() [2/2]

template<typename Cipher , std::size_t FeedbackBits, template< typename > class Padding, template< typename, typename > class CiphertextStealingMode = cts0>
nil::crypto3::block::modes::cipher_feedback< Cipher, FeedbackBits, Padding, CiphertextStealingMode >::BOOST_STATIC_ASSERT ( feedback_bits<=cipher_type::block_bits  )

Member Data Documentation

◆ feedback_bits

template<typename Cipher , std::size_t FeedbackBits, template< typename > class Padding, template< typename, typename > class CiphertextStealingMode = cts0>
constexpr static const std::size_t nil::crypto3::block::modes::cipher_feedback< Cipher, FeedbackBits, Padding, CiphertextStealingMode >::feedback_bits = FeedbackBits
staticconstexpr

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