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

+ Collaboration diagram for Algorithms:

Functions

template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_decrypter_type>>
stream::detail::range_cipher_impl< stream::detail::value_cipher_impl< CipherAccumulator > > nil::crypto3::decrypt (const SinglePassRange &r, const KeyRange &key)
 
template<typename StreamCipher , typename SinglePassRange , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_decrypter_type>>
OutputAccumulator & nil::crypto3::decrypt (const SinglePassRange &r, OutputAccumulator &acc)
 
template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename OutputIterator >
OutputIterator nil::crypto3::decrypt (const SinglePassRange &rng, const KeyRange &key, OutputIterator out)
 
template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_decrypter_type>>
stream::detail::range_cipher_impl< stream::detail::value_cipher_impl< CipherAccumulator > > nil::crypto3::decrypt (InputIterator first, InputIterator last, KeyIterator key_first, KeyIterator key_last)
 
template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename OutputIterator >
OutputIterator nil::crypto3::decrypt (InputIterator first, InputIterator last, KeyIterator key_first, KeyIterator key_last, OutputIterator out)
 
template<typename StreamCipher , typename InputIterator , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_decrypter_type>>
OutputAccumulator & nil::crypto3::decrypt (InputIterator first, InputIterator last, OutputAccumulator &acc)
 
template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
stream::detail::range_cipher_impl< stream::detail::value_cipher_impl< CipherAccumulator > > nil::crypto3::encrypt (const SinglePassRange &r, const KeyRange &key)
 
template<typename StreamCipher , typename SinglePassRange , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
OutputAccumulator & nil::crypto3::encrypt (const SinglePassRange &r, OutputAccumulator &acc)
 
template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename OutputIterator >
OutputIterator nil::crypto3::encrypt (const SinglePassRange &rng, const KeyRange &key, OutputIterator out)
 
template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
stream::detail::range_cipher_impl< stream::detail::value_cipher_impl< CipherAccumulator > > nil::crypto3::encrypt (InputIterator first, InputIterator last, KeyIterator key_first, KeyIterator key_last)
 
template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename OutputIterator >
OutputIterator nil::crypto3::encrypt (InputIterator first, InputIterator last, KeyIterator key_first, KeyIterator key_last, OutputIterator out)
 
template<typename StreamCipher , typename InputIterator , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
OutputAccumulator & nil::crypto3::encrypt (InputIterator first, InputIterator last, OutputAccumulator &acc)
 
template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
stream::detail::range_cipher_impl< stream::detail::value_cipher_impl< CipherAccumulator > > nil::crypto3::seek (const SinglePassRange &r, const KeyRange &key)
 
template<typename StreamCipher , typename SinglePassRange , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
OutputAccumulator & nil::crypto3::seek (const SinglePassRange &r, OutputAccumulator &acc)
 
template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename OutputIterator >
OutputIterator nil::crypto3::seek (const SinglePassRange &rng, const KeyRange &key, OutputIterator out)
 
template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
stream::detail::range_cipher_impl< stream::detail::value_cipher_impl< CipherAccumulator > > nil::crypto3::seek (InputIterator first, InputIterator last, KeyIterator key_first, KeyIterator key_last)
 
template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename OutputIterator >
OutputIterator nil::crypto3::seek (InputIterator first, InputIterator last, KeyIterator key_first, KeyIterator key_last, OutputIterator out)
 
template<typename StreamCipher , typename InputIterator , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
OutputAccumulator & nil::crypto3::seek (InputIterator first, InputIterator last, OutputAccumulator &acc)
 

Detailed Description

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

Function Documentation

◆ decrypt() [1/6]

template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_decrypter_type>>
stream::detail::range_cipher_impl<stream::detail::value_cipher_impl<CipherAccumulator> > nil::crypto3::decrypt ( const SinglePassRange &  r,
const KeyRange &  key 
)
Template Parameters
StreamCipher
SinglePassRange
KeyRange
CipherAccumulator
Parameters
r
key
Returns

◆ decrypt() [2/6]

template<typename StreamCipher , typename SinglePassRange , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_decrypter_type>>
OutputAccumulator& nil::crypto3::decrypt ( const SinglePassRange &  r,
OutputAccumulator &  acc 
)
Template Parameters
StreamCipher
SinglePassRange
OutputAccumulator
Parameters
r
acc
Returns

◆ decrypt() [3/6]

template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename OutputIterator >
OutputIterator nil::crypto3::decrypt ( const SinglePassRange &  rng,
const KeyRange &  key,
OutputIterator  out 
)
Template Parameters
StreamCipher
SinglePassRange@tpatam KeyRange
OutputIterator
Parameters
rng
key
out
Returns

◆ decrypt() [4/6]

template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_decrypter_type>>
stream::detail::range_cipher_impl<stream::detail::value_cipher_impl<CipherAccumulator> > nil::crypto3::decrypt ( InputIterator  first,
InputIterator  last,
KeyIterator  key_first,
KeyIterator  key_last 
)
Template Parameters
StreamCipher
InputIterator
KeyIterator
CipherAccumulator
Parameters
first
last
key_first
key_last
Returns

◆ decrypt() [5/6]

template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename OutputIterator >
OutputIterator nil::crypto3::decrypt ( InputIterator  first,
InputIterator  last,
KeyIterator  key_first,
KeyIterator  key_last,
OutputIterator  out 
)
Template Parameters
StreamCipher
InputIterator
KeyIterator
OutputIterator
Parameters
first
last
key_first
key_last
out
Returns

◆ decrypt() [6/6]

template<typename StreamCipher , typename InputIterator , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_decrypter_type>>
OutputAccumulator& nil::crypto3::decrypt ( InputIterator  first,
InputIterator  last,
OutputAccumulator &  acc 
)
Template Parameters
StreamCipher
InputIterator
OutputAccumulator
Parameters
first
last
acc
Returns

◆ encrypt() [1/6]

template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
stream::detail::range_cipher_impl<stream::detail::value_cipher_impl<CipherAccumulator> > nil::crypto3::encrypt ( const SinglePassRange &  r,
const KeyRange &  key 
)
Template Parameters
StreamCipher
SinglePassRange
KeyRange
CipherAccumulator
Parameters
r
key
Returns

◆ encrypt() [2/6]

template<typename StreamCipher , typename SinglePassRange , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
OutputAccumulator& nil::crypto3::encrypt ( const SinglePassRange &  r,
OutputAccumulator &  acc 
)
Template Parameters
StreamCipher
SinglePassRange
OutputAccumulator
Parameters
r
acc
Returns

◆ encrypt() [3/6]

template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename OutputIterator >
OutputIterator nil::crypto3::encrypt ( const SinglePassRange &  rng,
const KeyRange &  key,
OutputIterator  out 
)
Template Parameters
StreamCipher
SinglePassRange
KeyRange
OutputIterator
Parameters
rng
key
out
Returns

◆ encrypt() [4/6]

template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
stream::detail::range_cipher_impl<stream::detail::value_cipher_impl<CipherAccumulator> > nil::crypto3::encrypt ( InputIterator  first,
InputIterator  last,
KeyIterator  key_first,
KeyIterator  key_last 
)
Template Parameters
StreamCipher
InputIterator
KeyIterator
CipherAccumulator
Parameters
first
last
key_first
key_last
Returns

◆ encrypt() [5/6]

template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename OutputIterator >
OutputIterator nil::crypto3::encrypt ( InputIterator  first,
InputIterator  last,
KeyIterator  key_first,
KeyIterator  key_last,
OutputIterator  out 
)
Template Parameters
StreamCipher
InputIterator
KeyIterator
OutputIterator
Parameters
first
last
key_first
key_last
out
Returns

◆ encrypt() [6/6]

template<typename StreamCipher , typename InputIterator , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
OutputAccumulator& nil::crypto3::encrypt ( InputIterator  first,
InputIterator  last,
OutputAccumulator &  acc 
)
Template Parameters
StreamCipher
InputIterator
OutputAccumulator
Parameters
first
last
acc
Returns

◆ seek() [1/6]

template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
stream::detail::range_cipher_impl<stream::detail::value_cipher_impl<CipherAccumulator> > nil::crypto3::seek ( const SinglePassRange &  r,
const KeyRange &  key 
)
Template Parameters
StreamCipher
SinglePassRange
KeyRange
CipherAccumulator
Parameters
r
key
Returns

◆ seek() [2/6]

template<typename StreamCipher , typename SinglePassRange , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
OutputAccumulator& nil::crypto3::seek ( const SinglePassRange &  r,
OutputAccumulator &  acc 
)
Template Parameters
StreamCipher
SinglePassRange
OutputAccumulator
Parameters
r
acc
Returns

◆ seek() [3/6]

template<typename StreamCipher , typename SinglePassRange , typename KeyRange , typename OutputIterator >
OutputIterator nil::crypto3::seek ( const SinglePassRange &  rng,
const KeyRange &  key,
OutputIterator  out 
)
Template Parameters
StreamCipher
SinglePassRange
KeyRange
OutputIterator
Parameters
rng
key
out
Returns

◆ seek() [4/6]

template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename CipherAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
stream::detail::range_cipher_impl<stream::detail::value_cipher_impl<CipherAccumulator> > nil::crypto3::seek ( InputIterator  first,
InputIterator  last,
KeyIterator  key_first,
KeyIterator  key_last 
)
Template Parameters
StreamCipher
InputIterator
CipherState
Parameters
first
last
key_first
key_last
Returns

◆ seek() [5/6]

template<typename StreamCipher , typename InputIterator , typename KeyIterator , typename OutputIterator >
OutputIterator nil::crypto3::seek ( InputIterator  first,
InputIterator  last,
KeyIterator  key_first,
KeyIterator  key_last,
OutputIterator  out 
)
Template Parameters
StreamCipher
InputIterator
KeyIterator
OutputIterator
Parameters
first
last
out
Returns

◆ seek() [6/6]

template<typename StreamCipher , typename InputIterator , typename OutputAccumulator = typename stream::stream_accumulator<typename StreamCipher::stream_encrypter_type>>
OutputAccumulator& nil::crypto3::seek ( InputIterator  first,
InputIterator  last,
OutputAccumulator &  acc 
)
Template Parameters
StreamCipher
InputIterator
OutputAccumulator
Parameters
first
last
out
Returns