Algorithms are meant to provide encryption interface similar to STL algorithms' one. More...

Functions

template<typename CipherMode , typename InputIterator , typename KeyIterator , typename OutputIterator , typename StreamDecrypter = typename detail::itr_stream_hash_traits<CipherMode, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
OutputIterator nil::crypto3::decrypt (InputIterator first, InputIterator last, KeyIterator key_first, KeyIterator key_last, OutputIterator out)
 
template<typename CipherMode , typename InputIterator , typename OutputIterator , typename StreamDecrypter = typename detail::itr_stream_hash_traits<CipherMode, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
OutputIterator nil::crypto3::decrypt (InputIterator first, InputIterator last, OutputIterator out, StreamDecrypter &sh)
 
template<typename CipherMode , typename InputIterator , typename StreamDecrypter = typename detail::itr_stream_hash_traits<CipherMode, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
detail::range_decrypter_impl< CipherMode, detail::value_decrypter_impl< StreamDecrypter > > nil::crypto3::decrypt (InputIterator first, InputIterator last)
 
template<typename CipherMode , typename InputIterator , typename StreamDecrypter = typename detail::itr_stream_hash_traits<CipherMode, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
detail::range_decrypter_impl< CipherMode, detail::ref_decrypter_impl< StreamDecrypter > > nil::crypto3::decrypt (InputIterator first, InputIterator last, StreamDecrypter &sh)
 
template<typename CipherMode , typename SinglePassRange , typename OutputIterator , typename StreamDecrypter = typename detail::range_stream_hash_traits<CipherMode, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
OutputIterator nil::crypto3::decrypt (const SinglePassRange &rng, OutputIterator out)
 
template<typename CipherMode , typename SinglePassRange , typename OutputIterator , typename StreamDecrypter = typename detail::range_stream_hash_traits<CipherMode, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
OutputIterator nil::crypto3::decrypt (const SinglePassRange &rng, OutputIterator out, StreamDecrypter &sh)
 
template<typename CipherMode , typename SinglePassRange , typename StreamDecrypter = typename detail::range_stream_hash_traits<CipherMode, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
detail::range_decrypter_impl< CipherMode, detail::value_decrypter_impl< StreamDecrypter > > nil::crypto3::decrypt (const SinglePassRange &r)
 
template<typename CipherMode , typename SinglePassRange , typename StreamDecrypter = typename detail::range_stream_hash_traits<CipherMode, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
detail::range_decrypter_impl< CipherMode, detail::ref_decrypter_impl< StreamDecrypter > > nil::crypto3::decrypt (const SinglePassRange &rng, StreamDecrypter &sh)
 
template<typename BlockCipher , typename InputIterator , typename KeyIterator , typename OutputIterator , typename StreamEncrypter = typename detail::itr_stream_hash_traits<BlockCipher, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
OutputIterator nil::crypto3::encrypt (InputIterator first, InputIterator last, KeyIterator key_first, KeyIterator key_last, OutputIterator out)
 
template<typename BlockCipher , typename InputIterator , typename OutputIterator , typename StreamEncrypter = typename detail::itr_stream_hash_traits<BlockCipher, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
OutputIterator nil::crypto3::encrypt (InputIterator first, InputIterator last, OutputIterator out, StreamEncrypter &sh)
 
template<typename BlockCipher , typename InputIterator , typename StreamEncrypter = typename detail::itr_stream_hash_traits<BlockCipher, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
detail::range_encrypter_impl< BlockCipher, detail::value_encrypter_impl< StreamEncrypter > > nil::crypto3::encrypt (InputIterator first, InputIterator last)
 
template<typename BlockCipher , typename InputIterator , typename StreamEncrypter = typename detail::itr_stream_hash_traits<BlockCipher, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
detail::range_encrypter_impl< BlockCipher, detail::ref_encrypter_impl< StreamEncrypter > > nil::crypto3::encrypt (InputIterator first, InputIterator last, StreamEncrypter &sh)
 
template<typename BlockCipher , typename SinglePassRange , typename OutputIterator , typename StreamEncrypter = typename detail::range_stream_hash_traits<BlockCipher, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
OutputIterator nil::crypto3::encrypt (const SinglePassRange &rng, OutputIterator out)
 
template<typename BlockCipher , typename SinglePassRange , typename OutputIterator , typename StreamEncrypter = typename detail::range_stream_hash_traits<BlockCipher, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
OutputIterator nil::crypto3::encrypt (const SinglePassRange &rng, OutputIterator out, StreamEncrypter &sh)
 
template<typename BlockCipher , typename SinglePassRange , typename StreamEncrypter = typename detail::range_stream_hash_traits<BlockCipher, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
detail::range_encrypter_impl< BlockCipher, detail::value_encrypter_impl< StreamEncrypter > > nil::crypto3::encrypt (const SinglePassRange &r)
 
template<typename BlockCipher , typename SinglePassRange , typename StreamEncrypter = typename detail::range_stream_hash_traits<BlockCipher, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
detail::range_encrypter_impl< BlockCipher, detail::ref_encrypter_impl< StreamEncrypter > > nil::crypto3::encrypt (const SinglePassRange &rng, StreamEncrypter &sh)
 

Detailed Description

Algorithms are meant to provide encryption interface similar to STL algorithms' one.

Algorithms are meant to provide decryption interface similar to STL algorithms' one.

Function Documentation

◆ decrypt() [1/8]

template<typename CipherMode , typename InputIterator , typename KeyIterator , typename OutputIterator , typename StreamDecrypter = typename detail::itr_stream_hash_traits<CipherMode, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
OutputIterator nil::crypto3::decrypt ( InputIterator  first,
InputIterator  last,
KeyIterator  key_first,
KeyIterator  key_last,
OutputIterator  out 
)
Template Parameters
CipherMode
InputIterator
OutputIterator
StreamDecrypter
Parameters
first
last
out
Returns

◆ decrypt() [2/8]

template<typename CipherMode , typename InputIterator , typename OutputIterator , typename StreamDecrypter = typename detail::itr_stream_hash_traits<CipherMode, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
OutputIterator nil::crypto3::decrypt ( InputIterator  first,
InputIterator  last,
OutputIterator  out,
StreamDecrypter &  sh 
)
Template Parameters
CipherMode
InputIterator
OutputIterator
StreamDecrypter
Parameters
first
last
out
sh
Returns

◆ decrypt() [3/8]

template<typename CipherMode , typename InputIterator , typename StreamDecrypter = typename detail::itr_stream_hash_traits<CipherMode, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
detail::range_decrypter_impl<CipherMode, detail::value_decrypter_impl<StreamDecrypter> > nil::crypto3::decrypt ( InputIterator  first,
InputIterator  last 
)
Template Parameters
CipherMode
InputIterator
StreamDecrypter
Parameters
first
last
Returns

◆ decrypt() [4/8]

template<typename CipherMode , typename InputIterator , typename StreamDecrypter = typename detail::itr_stream_hash_traits<CipherMode, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
detail::range_decrypter_impl<CipherMode, detail::ref_decrypter_impl<StreamDecrypter> > nil::crypto3::decrypt ( InputIterator  first,
InputIterator  last,
StreamDecrypter &  sh 
)
Template Parameters
CipherMode
InputIterator
StreamDecrypter
Parameters
first
last
sh
Returns

◆ decrypt() [5/8]

template<typename CipherMode , typename SinglePassRange , typename OutputIterator , typename StreamDecrypter = typename detail::range_stream_hash_traits<CipherMode, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
OutputIterator nil::crypto3::decrypt ( const SinglePassRange &  rng,
OutputIterator  out 
)
Template Parameters
CipherMode
SinglePassRange
OutputIterator
StreamDecrypter
Parameters
rng
out
Returns

◆ decrypt() [6/8]

template<typename CipherMode , typename SinglePassRange , typename OutputIterator , typename StreamDecrypter = typename detail::range_stream_hash_traits<CipherMode, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
OutputIterator nil::crypto3::decrypt ( const SinglePassRange &  rng,
OutputIterator  out,
StreamDecrypter &  sh 
)
Template Parameters
CipherMode
SinglePassRange
OutputIterator
StreamDecrypter
Parameters
rng
out
sh
Returns

◆ decrypt() [7/8]

template<typename CipherMode , typename SinglePassRange , typename StreamDecrypter = typename detail::range_stream_hash_traits<CipherMode, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
detail::range_decrypter_impl<CipherMode, detail::value_decrypter_impl<StreamDecrypter> > nil::crypto3::decrypt ( const SinglePassRange &  r)
Template Parameters
CipherMode
SinglePassRange
StreamDecrypter
Parameters
r
Returns

◆ decrypt() [8/8]

template<typename CipherMode , typename SinglePassRange , typename StreamDecrypter = typename detail::range_stream_hash_traits<CipherMode, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_decrypter<StreamDecrypter>::value>::type>
detail::range_decrypter_impl<CipherMode, detail::ref_decrypter_impl<StreamDecrypter> > nil::crypto3::decrypt ( const SinglePassRange &  rng,
StreamDecrypter &  sh 
)
Template Parameters
CipherMode
SinglePassRange
StreamDecrypter
Parameters
rng
sh
Returns

◆ encrypt() [1/8]

template<typename BlockCipher , typename InputIterator , typename KeyIterator , typename OutputIterator , typename StreamEncrypter = typename detail::itr_stream_hash_traits<BlockCipher, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
OutputIterator nil::crypto3::encrypt ( InputIterator  first,
InputIterator  last,
KeyIterator  key_first,
KeyIterator  key_last,
OutputIterator  out 
)
Template Parameters
BlockCipher
InputIterator
OutputIterator
StreamEncrypter
Parameters
first
last
out
Returns
Template Parameters
CipherMode
InputIterator
OutputIterator
StreamEncrypter
Parameters
first
last
out
Returns

◆ encrypt() [2/8]

template<typename BlockCipher , typename InputIterator , typename OutputIterator , typename StreamEncrypter = typename detail::itr_stream_hash_traits<BlockCipher, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
OutputIterator nil::crypto3::encrypt ( InputIterator  first,
InputIterator  last,
OutputIterator  out,
StreamEncrypter &  sh 
)
Template Parameters
BlockCipher
InputIterator
OutputIterator
StreamEncrypter
Parameters
first
last
out
sh
Returns
Template Parameters
CipherMode
InputIterator
OutputIterator
StreamEncrypter
Parameters
first
last
out
sh
Returns

◆ encrypt() [3/8]

template<typename BlockCipher , typename InputIterator , typename StreamEncrypter = typename detail::itr_stream_hash_traits<BlockCipher, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
detail::range_encrypter_impl<BlockCipher, detail::value_encrypter_impl<StreamEncrypter> > nil::crypto3::encrypt ( InputIterator  first,
InputIterator  last 
)
Template Parameters
BlockCipher
InputIterator
StreamEncrypter
Parameters
first
last
Returns

◆ encrypt() [4/8]

template<typename BlockCipher , typename InputIterator , typename StreamEncrypter = typename detail::itr_stream_hash_traits<BlockCipher, InputIterator>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
detail::range_encrypter_impl<BlockCipher, detail::ref_encrypter_impl<StreamEncrypter> > nil::crypto3::encrypt ( InputIterator  first,
InputIterator  last,
StreamEncrypter &  sh 
)
Template Parameters
BlockCipher
InputIterator
StreamEncrypter
Parameters
first
last
sh
Returns

◆ encrypt() [5/8]

template<typename BlockCipher , typename SinglePassRange , typename OutputIterator , typename StreamEncrypter = typename detail::range_stream_hash_traits<BlockCipher, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
OutputIterator nil::crypto3::encrypt ( const SinglePassRange &  rng,
OutputIterator  out 
)
Template Parameters
BlockCipher
SinglePassRange
OutputIterator
StreamEncrypter
Parameters
rng
out
Returns
Template Parameters
CipherMode
SinglePassRange
OutputIterator
StreamEncrypter
Parameters
rng
out
Returns

◆ encrypt() [6/8]

template<typename BlockCipher , typename SinglePassRange , typename OutputIterator , typename StreamEncrypter = typename detail::range_stream_hash_traits<BlockCipher, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
OutputIterator nil::crypto3::encrypt ( const SinglePassRange &  rng,
OutputIterator  out,
StreamEncrypter &  sh 
)
Template Parameters
BlockCipher
SinglePassRange
OutputIterator
StreamEncrypter
Parameters
rng
out
sh
Returns
Template Parameters
CipherMode
SinglePassRange
OutputIterator
StreamEncrypter
Parameters
rng
out
sh
Returns

◆ encrypt() [7/8]

template<typename BlockCipher , typename SinglePassRange , typename StreamEncrypter = typename detail::range_stream_hash_traits<BlockCipher, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
detail::range_encrypter_impl<BlockCipher, detail::value_encrypter_impl<StreamEncrypter> > nil::crypto3::encrypt ( const SinglePassRange &  r)
Template Parameters
BlockCipher
SinglePassRange
StreamEncrypter
Parameters
r
Returns

◆ encrypt() [8/8]

template<typename BlockCipher , typename SinglePassRange , typename StreamEncrypter = typename detail::range_stream_hash_traits<BlockCipher, SinglePassRange>::type, typename = typename std::enable_if<block::detail::is_stream_encrypter<StreamEncrypter>::value>::type>
detail::range_encrypter_impl<BlockCipher, detail::ref_encrypter_impl<StreamEncrypter> > nil::crypto3::encrypt ( const SinglePassRange &  rng,
StreamEncrypter &  sh 
)
Template Parameters
BlockCipher
SinglePassRange
StreamEncrypter
Parameters
rng
sh
Returns