xts.hpp
Go to the documentation of this file.
273 BOOST_ASSERT_MSG(sz >= minimum_final_size(), "Have sufficient final input in XTS isomorphic_decryption_mode");
Definition: xts.hpp:407
block_type begin_message(const block_type &plaintext)
Definition: xts.hpp:423
policy_type::padding_type padding_type
Definition: xts.hpp:412
cipher_type::block_type block_type
Definition: xts.hpp:418
constexpr static const std::size_t block_size
Definition: xts.hpp:440
policy_type::cipher_type cipher_type
Definition: xts.hpp:411
block_type process_block(const block_type &plaintext)
Definition: xts.hpp:427
block_type end_message(const block_type &plaintext)
Definition: xts.hpp:431
policy_type::size_type size_type
Definition: xts.hpp:414
size_type required_output_size(size_type inputlen) const
Definition: xts.hpp:435
constexpr static const std::size_t block_words
Definition: xts.hpp:417
constexpr static const std::size_t block_bits
Definition: xts.hpp:416
constexpr static const std::size_t key_length
Definition: xts.hpp:439
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 poly_double_n_le(uint8_t out[], InputIterator first, InputIterator last)
Definition: mac/include/nil/crypto3/detail/poly_dbl.hpp:118
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: cts.hpp:55
Definition: cts.hpp:45
xts_policy< Cipher, Padding >::cipher_type cipher_type
Definition: xts.hpp:385
xts_policy< Cipher, Padding >::size_type size_type
Definition: xts.hpp:383
block_type end_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:400
block_type begin_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:392
xts_policy< Cipher, Padding >::block_type block_type
Definition: xts.hpp:390
xts_policy< Cipher, Padding >::padding_type padding_type
Definition: xts.hpp:386
block_type process_block(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:396
block_type begin_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:257
xts_policy< Cipher, Padding >::block_type block_type
Definition: xts.hpp:255
xts_policy< Cipher, Padding >::size_type size_type
Definition: xts.hpp:248
block_type process_block(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:268
xts_policy< Cipher, Padding >::padding_type padding_type
Definition: xts.hpp:251
block_type end_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:307
xts_policy< Cipher, Padding >::cipher_type cipher_type
Definition: xts.hpp:250
block_type begin_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:342
xts_policy< Cipher, Padding >::size_type size_type
Definition: xts.hpp:333
block_type process_block(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:346
xts_policy< Cipher, Padding >::block_type block_type
Definition: xts.hpp:340
block_type end_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:350
xts_policy< Cipher, Padding >::cipher_type cipher_type
Definition: xts.hpp:335
xts_policy< Cipher, Padding >::padding_type padding_type
Definition: xts.hpp:336
block_type end_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:375
xts_policy< Cipher, Padding >::cipher_type cipher_type
Definition: xts.hpp:360
xts_policy< Cipher, Padding >::size_type size_type
Definition: xts.hpp:358
block_type process_block(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:371
xts_policy< Cipher, Padding >::block_type block_type
Definition: xts.hpp:365
block_type begin_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:367
xts_policy< Cipher, Padding >::padding_type padding_type
Definition: xts.hpp:361
Definition: xts.hpp:243
xts_policy< Cipher, Padding >::padding_type padding_type
Definition: xts.hpp:198
xts_policy< Cipher, Padding >::size_type size_type
Definition: xts.hpp:195
block_type begin_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:204
xts_policy< Cipher, Padding >::cipher_type cipher_type
Definition: xts.hpp:197
block_type end_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:212
block_type process_block(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:208
xts_policy< Cipher, Padding >::block_type block_type
Definition: xts.hpp:202
xts_policy< Cipher, Padding >::size_type size_type
Definition: xts.hpp:220
xts_policy< Cipher, Padding >::block_type block_type
Definition: xts.hpp:227
xts_policy< Cipher, Padding >::padding_type padding_type
Definition: xts.hpp:223
block_type process_block(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:233
xts_policy< Cipher, Padding >::cipher_type cipher_type
Definition: xts.hpp:222
block_type end_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:237
block_type begin_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:229
xts_policy< Cipher, Padding >::size_type size_type
Definition: xts.hpp:84
xts_policy< Cipher, Padding >::cipher_type cipher_type
Definition: xts.hpp:86
xts_policy< Cipher, Padding >::block_type block_type
Definition: xts.hpp:91
block_type process_block(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:104
xts_policy< Cipher, Padding >::padding_type padding_type
Definition: xts.hpp:87
block_type end_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:126
block_type begin_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:93
xts_policy< Cipher, Padding >::cipher_type cipher_type
Definition: xts.hpp:172
block_type end_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:187
block_type process_block(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:183
block_type begin_message(const cipher_type &cipher, const block_type &plaintext)
Definition: xts.hpp:179
xts_policy< Cipher, Padding >::block_type block_type
Definition: xts.hpp:177
xts_policy< Cipher, Padding >::padding_type padding_type
Definition: xts.hpp:173
xts_policy< Cipher, Padding >::size_type size_type
Definition: xts.hpp:170
Definition: xts.hpp:79
Definition: xts.hpp:40
constexpr static const std::size_t key_bits
Definition: xts.hpp:48
static void schedule_key(const key_type &key)
Definition: xts.hpp:66
constexpr static const std::size_t block_bits
Definition: xts.hpp:44
cipher_type::key_type key_type
Definition: xts.hpp:50
constexpr static const std::size_t block_words
Definition: xts.hpp:45
Padding padding_type
Definition: xts.hpp:42
constexpr static const std::size_t key_words
Definition: xts.hpp:49
cipher_type::block_type block_type
Definition: xts.hpp:46
static void update_tweak(const cipher_type &tweak_cipher, size_t which)
Definition: xts.hpp:52
Definition: xts.hpp:468
detail::xts< Policy< cipher_type, padding_type > > type
Definition: xts.hpp:469
CiphertextStealingMode< Cipher, Padding< Cipher > > ciphertext_stealing_type
Definition: xts.hpp:460
detail::xts_decryption_policy< cipher_type, padding_type, ciphertext_stealing_type > decryption_policy
Definition: xts.hpp:465
detail::xts_encryption_policy< cipher_type, padding_type, ciphertext_stealing_type > encryption_policy
Definition: xts.hpp:463