Algorithms

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

Functions

template<typename PublicKeyCipher , typename InputIterator , typename PrivateKeyIterator , typename OutputIterator , typename StreamDecrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
OutputIterator nil::crypto3::decrypt (InputIterator first, InputIterator last, PrivateKeyIterator key_first, PrivateKeyIterator key_last, OutputIterator out)
 
template<typename PublicKeyCipher , typename InputIterator , typename OutputIterator , typename StreamDecrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
OutputIterator nil::crypto3::decrypt (InputIterator first, InputIterator last, OutputIterator out, const private_key< PublicKeyCipher > &key)
 
template<typename PublicKeyCipher , typename InputIterator , typename PrivateKeyIterator , typename StreamDecrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
detail::range_encrypt_impl< PublicKeyCipher, detail::value_encrypt_impl< StreamDecrypter > > nil::crypto3::decrypt (InputIterator first, InputIterator last, PrivateKeyIterator key_first, PrivateKeyIterator key_last)
 
template<typename PublicKeyCipher , typename InputIterator , typename StreamDecrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
detail::range_encrypt_impl< PublicKeyCipher, detail::ref_encrypt_impl< StreamDecrypter > > nil::crypto3::decrypt (InputIterator first, InputIterator last, const private_key< PublicKeyCipher > &key)
 
template<typename PublicKeyCipher , typename SinglePassRange , typename PrivateKeyRange , typename OutputIterator , typename StreamDecrypter = typename detail::range_stream_encrypt_traits<PublicKeyCipher, SinglePassRange>::type>
OutputIterator nil::crypto3::decrypt (const SinglePassRange &rng, const PrivateKeyRange &key, OutputIterator out)
 
template<typename Decrypter , typename SinglePassRange , typename OutputIterator , typename StreamDecrypter = typename detail::range_stream_encrypt_traits<Decrypter, SinglePassRange>::type>
OutputIterator nil::crypto3::decrypt (const SinglePassRange &rng, OutputIterator out, StreamDecrypter &sh)
 
template<typename PublicKeyCipher , typename SinglePassRange , typename PrivateKeyRange , typename StreamDecrypter = typename detail::range_stream_encrypt_traits<PublicKeyCipher, SinglePassRange>::type>
detail::range_encrypt_impl< PublicKeyCipher, detail::value_encrypt_impl< StreamDecrypter > > nil::crypto3::decrypt (const SinglePassRange &r, const PrivateKeyRange &key)
 
template<typename PublicKeyCipher , typename SinglePassRange , typename StreamHash = typename detail::range_stream_encrypt_traits<PublicKeyCipher, SinglePassRange>::type>
detail::range_encrypt_impl< PublicKeyCipher, detail::ref_encrypt_impl< StreamHash > > nil::crypto3::decrypt (const SinglePassRange &rng, StreamHash &sh)
 

Detailed Description

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

Function Documentation

◆ decrypt() [1/8]

template<typename PublicKeyCipher , typename InputIterator , typename PrivateKeyIterator , typename OutputIterator , typename StreamDecrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
OutputIterator nil::crypto3::decrypt ( InputIterator  first,
InputIterator  last,
PrivateKeyIterator  key_first,
PrivateKeyIterator  key_last,
OutputIterator  out 
)
Template Parameters
PublicKeyCipher
InputIterator
OutputIterator
StreamDecrypter
Parameters
first
last
out
Returns

◆ decrypt() [2/8]

template<typename PublicKeyCipher , typename InputIterator , typename OutputIterator , typename StreamDecrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
OutputIterator nil::crypto3::decrypt ( InputIterator  first,
InputIterator  last,
OutputIterator  out,
const private_key< PublicKeyCipher > &  key 
)
Template Parameters
PublicKeyCipher
InputIterator
OutputIterator
StreamDecrypter
Parameters
first
last
out
sh
Returns

◆ decrypt() [3/8]

template<typename PublicKeyCipher , typename InputIterator , typename PrivateKeyIterator , typename StreamDecrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
detail::range_encrypt_impl<PublicKeyCipher, detail::value_encrypt_impl<StreamDecrypter> > nil::crypto3::decrypt ( InputIterator  first,
InputIterator  last,
PrivateKeyIterator  key_first,
PrivateKeyIterator  key_last 
)
Template Parameters
PublicKeyCipher
InputIterator
StreamDecrypter
Parameters
first
last
Returns

◆ decrypt() [4/8]

template<typename PublicKeyCipher , typename InputIterator , typename StreamDecrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
detail::range_encrypt_impl<PublicKeyCipher, detail::ref_encrypt_impl<StreamDecrypter> > nil::crypto3::decrypt ( InputIterator  first,
InputIterator  last,
const private_key< PublicKeyCipher > &  key 
)
Template Parameters
PublicKeyCipher
InputIterator
StreamDecrypter
Parameters
first
last
sh
Returns

◆ decrypt() [5/8]

template<typename PublicKeyCipher , typename SinglePassRange , typename PrivateKeyRange , typename OutputIterator , typename StreamDecrypter = typename detail::range_stream_encrypt_traits<PublicKeyCipher, SinglePassRange>::type>
OutputIterator nil::crypto3::decrypt ( const SinglePassRange &  rng,
const PrivateKeyRange &  key,
OutputIterator  out 
)
Template Parameters
PublicKeyCipher
SinglePassRange
OutputIterator
StreamDecrypter
Parameters
rng
out
Returns

◆ decrypt() [6/8]

template<typename Decrypter , typename SinglePassRange , typename OutputIterator , typename StreamDecrypter = typename detail::range_stream_encrypt_traits<Decrypter, SinglePassRange>::type>
OutputIterator nil::crypto3::decrypt ( const SinglePassRange &  rng,
OutputIterator  out,
StreamDecrypter &  sh 
)
Template Parameters
Decrypter
SinglePassRange
OutputIterator
StreamDecrypter
Parameters
rng
out
sh
Returns

◆ decrypt() [7/8]

template<typename PublicKeyCipher , typename SinglePassRange , typename PrivateKeyRange , typename StreamDecrypter = typename detail::range_stream_encrypt_traits<PublicKeyCipher, SinglePassRange>::type>
detail::range_encrypt_impl<PublicKeyCipher, detail::value_encrypt_impl<StreamDecrypter> > nil::crypto3::decrypt ( const SinglePassRange &  r,
const PrivateKeyRange &  key 
)
Template Parameters
PublicKeyCipher
SinglePassRange
StreamDecrypter
Parameters
r
Returns

◆ decrypt() [8/8]

template<typename PublicKeyCipher , typename SinglePassRange , typename StreamHash = typename detail::range_stream_encrypt_traits<PublicKeyCipher, SinglePassRange>::type>
detail::range_encrypt_impl<PublicKeyCipher, detail::ref_encrypt_impl<StreamHash> > nil::crypto3::decrypt ( const SinglePassRange &  rng,
StreamHash &  sh 
)
Template Parameters
PublicKeyCipher
SinglePassRange
StreamHash
Parameters
rng
sh
Returns