block/include/nil/crypto3/block/algorithm/decrypt.hpp
Go to the documentation of this file.
43 using decryption_policy = typename modes::isomorphic<BlockCipher, nop_padding>::decryption_policy;
64 template<typename BlockCipher, typename InputIterator, typename KeyInputIterator, typename OutputIterator,
98 template<typename BlockCipher, typename InputIterator, typename KeySinglePassRange, typename OutputIterator,
167 OutputIterator decrypt(InputIterator first, InputIterator last, const block::cipher_key<BlockCipher> &key,
177 return DecrypterImpl(first, last, std::move(out), CipherAccumulator(DecryptionMode(BlockCipher(key.key))));
199 typename std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value,
229 typename std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value,
258 typename std::enable_if<boost::accumulators::detail::is_accumulator_set<OutputAccumulator>::value,
290 decrypt(InputIterator first, InputIterator last, KeyInputIterator key_first, KeyInputIterator key_last) {
331 first, last, CipherAccumulator(DecryptionMode(BlockCipher(block::cipher_key<BlockCipher>(key).key))));
353 decrypt(InputIterator first, InputIterator last, std::initializer_list<KeySinglePassRange> key) {
362 first, last, CipherAccumulator(DecryptionMode(BlockCipher(block::cipher_key<BlockCipher>(key).key))));
410 template<typename BlockCipher, typename SinglePassRange, typename KeySinglePassRange, typename OutputIterator,
412 OutputIterator decrypt(const SinglePassRange &rng, const KeySinglePassRange &key, OutputIterator out) {
443 OutputIterator decrypt(std::initializer_list<T> rng, std::initializer_list<K> key, OutputIterator out) {
483 return DecrypterImpl(rng, std::move(out), CipherAccumulator(DecryptionMode(BlockCipher(key.key))));
511 return DecrypterImpl(rng, std::move(out), CipherAccumulator(DecryptionMode(BlockCipher(key.key))));
528 template<typename BlockCipher, typename SinglePassRange, typename KeySinglePassRange, typename OutputRange,
530 OutputRange &decrypt(const SinglePassRange &rng, const KeySinglePassRange &key, OutputRange &out) {
559 OutputRange &decrypt(std::initializer_list<T> rng, std::initializer_list<K> key, OutputRange &out) {
588 OutputRange &decrypt(const SinglePassRange &rng, const block::cipher_key<BlockCipher> &key, OutputRange &out) {
597 return DecrypterImpl(rng, std::move(out), CipherAccumulator(DecryptionMode(BlockCipher(key.key))));
624 return DecrypterImpl(rng, std::move(out), CipherAccumulator(DecryptionMode(BlockCipher(key.key))));
OutputIterator decrypt(InputIterator first, InputIterator last, KeyInputIterator key_first, KeyInputIterator key_last, OutputIterator out)
Definition: block/include/nil/crypto3/block/algorithm/decrypt.hpp:66
boost::accumulators::accumulator_set< digest< ProcessingMode::block_bits >, boost::accumulators::features< accumulators::tag::block< ProcessingMode > >, std::size_t > accumulator_set
Accumulator set with pre-defined block cipher accumulator params.
Definition: block/include/nil/crypto3/block/cipher_state.hpp:51
boost::mpl::apply< AccumulatorSet, tag::block< Mode > >::type::result_type block(const AccumulatorSet &acc)
Definition: accumulators/block.hpp:259
typename modes::isomorphic< BlockCipher, nop_padding >::decryption_policy decryption_policy
Definition: block/include/nil/crypto3/block/algorithm/decrypt.hpp:43
OutputIterator move(const SinglePassRange &rng, OutputIterator result)
Definition: move.hpp:45
boost::accumulators::accumulator_set< mac::digest< MessageAuthenticationCode::input_block_bits >, boost::accumulators::features< accumulators::tag::mac< MessageAuthenticationCode > >> BlockCipher
Definition: cbc_mac_state.hpp:40
Definition: pair.hpp:31
Definition: cipher_key.hpp:37
Definition: cipher_modes.hpp:69
Definition: block/include/nil/crypto3/block/cipher_value.hpp:165
Definition: block/include/nil/crypto3/block/cipher_value.hpp:77
Definition: block/include/nil/crypto3/block/cipher_value.hpp:47
Definition: block/include/nil/crypto3/block/cipher_value.hpp:62
Definition: cipher_modes.hpp:130
detail::isomorphic_decryption_policy< cipher_type, padding_type > decryption_policy
Definition: cipher_modes.hpp:135