cbc.hpp
Go to the documentation of this file.
Definition: cbc.hpp:539
block_type end_message(const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:568
cipher_type::block_type block_type
Definition: cbc.hpp:553
static size_type required_output_size(size_type inputlen)
Definition: cbc.hpp:572
policy_type::padding_type padding_type
Definition: cbc.hpp:544
constexpr static const size_type block_words
Definition: cbc.hpp:552
constexpr static const size_type block_bits
Definition: cbc.hpp:551
cipher_block_chaining(const cipher_type &cipher)
Definition: cbc.hpp:555
cipher_type::key_type key_type
Definition: cbc.hpp:548
cipher_type cipher
Definition: cbc.hpp:578
policy_type::iv_type iv_type
Definition: cbc.hpp:549
policy_type::size_type size_type
Definition: cbc.hpp:546
block_type begin_message(const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:558
block_type process_block(const block_type &plaintext)
Definition: cbc.hpp:563
block_type previous
Definition: cbc.hpp:577
policy_type::cipher_type cipher_type
Definition: cbc.hpp:543
void pack(InputIterator first, InputIterator last, std::random_access_iterator_tag, OutputIterator out)
Packs elements from the range [first, last) into elements starting from out. Works for input containe...
Definition: block/include/nil/crypto3/detail/pack.hpp:835
constexpr T min(const vector< T, N > &v)
computes the minimum valued element
Definition: algebra/include/nil/crypto3/algebra/vector/math.hpp:135
boost::mpl::apply< AccumulatorSet, tag::block< Mode > >::type::result_type block(const AccumulatorSet &acc)
Definition: accumulators/block.hpp:259
void xor_buf(uint8_t out[], const uint8_t in[], size_t length)
Definition: memory_operations.hpp:245
void copy_mem(T *out, const T *in, size_t n)
Definition: memory_operations.hpp:186
Definition: pair.hpp:31
Definition: cipher.hpp:38
Definition: cbc.hpp:603
detail::cipher_block_chaining< Policy< cipher_type, padding_type > > type
Definition: cbc.hpp:604
Cipher Block Chaining Mode (CBC). Xors previous cipher text with current plaintext before encryption.
Definition: cbc.hpp:592
CiphertextStealingMode< Cipher, Padding > ciphertext_stealing_type
Definition: cbc.hpp:595
Padding< Cipher > padding_type
Definition: cbc.hpp:594
detail::cbc_encryption_policy< cipher_type, padding_type, ciphertext_stealing_type > encryption_policy
Definition: cbc.hpp:598
Cipher cipher_type
Definition: cbc.hpp:593
detail::cbc_decryption_policy< cipher_type, padding_type, ciphertext_stealing_type > decryption_policy
Definition: cbc.hpp:600
Definition: cts.hpp:55
Definition: cts.hpp:45
cbc_policy< Cipher, Padding >::iv_type iv_type
Definition: cbc.hpp:431
static block_type end_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:451
cbc_policy< Cipher, Padding >::block_type block_type
Definition: cbc.hpp:429
cbc_policy< Cipher, Padding >::cipher_type cipher_type
Definition: cbc.hpp:424
static block_type process_block(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type())
Definition: cbc.hpp:442
cbc_policy< Cipher, Padding >::padding_type padding_type
Definition: cbc.hpp:425
static block_type begin_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:433
cbc_policy< Cipher, Padding >::size_type size_type
Definition: cbc.hpp:422
static block_type process_block(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type())
Definition: cbc.hpp:400
cbc_policy< Cipher, Padding >::block_type block_type
Definition: cbc.hpp:387
cbc_policy< Cipher, Padding >::size_type size_type
Definition: cbc.hpp:380
cbc_policy< Cipher, Padding >::padding_type padding_type
Definition: cbc.hpp:383
static block_type end_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:409
cbc_policy< Cipher, Padding >::iv_type iv_type
Definition: cbc.hpp:389
static block_type begin_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:391
cbc_policy< Cipher, Padding >::cipher_type cipher_type
Definition: cbc.hpp:382
cbc_policy< Cipher, Padding >::iv_type iv_type
Definition: cbc.hpp:473
cbc_policy< Cipher, Padding >::block_type block_type
Definition: cbc.hpp:471
cbc_policy< Cipher, Padding >::size_type size_type
Definition: cbc.hpp:464
cbc_policy< Cipher, Padding >::padding_type padding_type
Definition: cbc.hpp:467
static block_type process_block(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type())
Definition: cbc.hpp:484
cbc_policy< Cipher, Padding >::cipher_type cipher_type
Definition: cbc.hpp:466
static block_type end_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:493
static block_type begin_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:475
cbc_policy< Cipher, Padding >::block_type block_type
Definition: cbc.hpp:318
cbc_policy< Cipher, Padding >::iv_type iv_type
Definition: cbc.hpp:320
cbc_policy< Cipher, Padding >::cipher_type cipher_type
Definition: cbc.hpp:313
static block_type process_block(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type())
Definition: cbc.hpp:331
static block_type begin_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:322
static block_type end_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:356
cbc_policy< Cipher, Padding >::padding_type padding_type
Definition: cbc.hpp:314
cbc_policy< Cipher, Padding >::size_type size_type
Definition: cbc.hpp:311
Definition: cbc.hpp:306
static block_type process_block(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type())
Definition: cbc.hpp:140
static block_type begin_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:130
static block_type end_message(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type(), const iv_type &iv=iv_type())
Definition: cbc.hpp:150
cbc_policy< Cipher, Padding >::padding_type padding_type
Definition: cbc.hpp:122
cbc_policy< Cipher, Padding >::cipher_type cipher_type
Definition: cbc.hpp:121
cbc_policy< Cipher, Padding >::size_type size_type
Definition: cbc.hpp:119
cbc_policy< Cipher, Padding >::block_type block_type
Definition: cbc.hpp:126
cbc_policy< Cipher, Padding >::iv_type iv_type
Definition: cbc.hpp:128
static block_type process_block(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type())
Definition: cbc.hpp:85
cbc_policy< Cipher, Padding >::iv_type iv_type
Definition: cbc.hpp:73
cbc_policy< Cipher, Padding >::padding_type padding_type
Definition: cbc.hpp:67
cbc_policy< Cipher, Padding >::size_type size_type
Definition: cbc.hpp:64
cbc_policy< Cipher, Padding >::cipher_type cipher_type
Definition: cbc.hpp:66
cbc_policy< Cipher, Padding >::block_type block_type
Definition: cbc.hpp:71
static block_type end_message(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type(), const iv_type &iv=iv_type())
Definition: cbc.hpp:95
static block_type begin_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:75
cbc_policy< Cipher, Padding >::iv_type iv_type
Definition: cbc.hpp:183
static block_type end_message(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type(), const iv_type &iv=iv_type())
Definition: cbc.hpp:205
static block_type begin_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:185
static block_type process_block(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type())
Definition: cbc.hpp:195
cbc_policy< Cipher, Padding >::size_type size_type
Definition: cbc.hpp:174
cbc_policy< Cipher, Padding >::block_type block_type
Definition: cbc.hpp:181
cbc_policy< Cipher, Padding >::padding_type padding_type
Definition: cbc.hpp:177
cbc_policy< Cipher, Padding >::cipher_type cipher_type
Definition: cbc.hpp:176
static block_type begin_message(const cipher_type &cipher, const block_type &plaintext, const iv_type &iv=iv_type())
Definition: cbc.hpp:240
cbc_policy< Cipher, Padding >::cipher_type cipher_type
Definition: cbc.hpp:231
cbc_policy< Cipher, Padding >::padding_type padding_type
Definition: cbc.hpp:232
static block_type process_block(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type())
Definition: cbc.hpp:250
cbc_policy< Cipher, Padding >::size_type size_type
Definition: cbc.hpp:229
static block_type end_message(const cipher_type &cipher, const block_type &plaintext, const block_type &previous=block_type(), const iv_type &iv=iv_type())
Definition: cbc.hpp:260
cbc_policy< Cipher, Padding >::block_type block_type
Definition: cbc.hpp:236
cbc_policy< Cipher, Padding >::iv_type iv_type
Definition: cbc.hpp:238
Definition: cbc.hpp:59
Definition: cbc.hpp:45
std::vector< boost::uint_t< CHAR_BIT >, Allocator< boost::uint_t< CHAR_BIT > > > iv_type
Definition: cbc.hpp:55
Padding padding_type
Definition: cbc.hpp:49
cipher_type::block_type block_type
Definition: cbc.hpp:53
constexpr static const size_type block_bits
Definition: cbc.hpp:51
std::size_t size_type
Definition: cbc.hpp:46
constexpr static const size_type block_words
Definition: cbc.hpp:52