Algorithms

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

Functions

template<typename PublicKeyCipher , typename InputIterator , typename PublicKeyIterator , typename OutputIterator , typename StreamEncrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
OutputIterator nil::crypto3::encrypt (InputIterator first, InputIterator last, PublicKeyIterator key_first, PublicKeyIterator key_last, OutputIterator out)
 
template<typename PublicKeyCipher , typename InputIterator , typename OutputIterator , typename StreamEncrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
OutputIterator nil::crypto3::encrypt (InputIterator first, InputIterator last, OutputIterator out, const public_key< PublicKeyCipher > &pk)
 
template<typename PublicKeyCipher , typename InputIterator , typename PublicKeyIterator , typename StreamEncrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
detail::range_encrypt_impl< PublicKeyCipher, detail::value_encrypt_impl< StreamEncrypter > > nil::crypto3::encrypt (InputIterator first, InputIterator last, PublicKeyIterator key_first, PublicKeyIterator key_last)
 
template<typename PublicKeyCipher , typename InputIterator , typename StreamEncrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
detail::range_encrypt_impl< PublicKeyCipher, detail::ref_encrypt_impl< StreamEncrypter > > nil::crypto3::encrypt (InputIterator first, InputIterator last, const public_key< PublicKeyCipher > &pk)
 
template<typename PublicKeyCipher , typename SinglePassRange , typename PublicKeyRange , typename OutputIterator , typename StreamEncrypter = typename detail::range_stream_encrypt_traits<PublicKeyCipher, SinglePassRange>::type>
OutputIterator nil::crypto3::encrypt (const SinglePassRange &rng, const PublicKeyRange &key, OutputIterator out)
 
template<typename Encrypter , typename SinglePassRange , typename OutputIterator >
OutputIterator nil::crypto3::encrypt (const SinglePassRange &rng, const public_key< Encrypter > &pk, OutputIterator out)
 
template<typename PublicKeyCipher , typename SinglePassRange , typename PublicKeyRange >
detail::range_encrypt_impl< PublicKeyCipher, detail::value_encrypt_impl< StreamEncrypter > > nil::crypto3::encrypt (const SinglePassRange &r, const PublicKeyRange &key)
 
template<typename PublicKeyCipher , typename SinglePassRange >
detail::range_encrypt_impl< PublicKeyCipher, detail::ref_encrypt_impl< StreamHash > > nil::crypto3::encrypt (const SinglePassRange &rng, const public_key< PublicKeyCipher > &pk)
 

Detailed Description

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

Function Documentation

◆ encrypt() [1/8]

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

◆ encrypt() [2/8]

template<typename PublicKeyCipher , typename InputIterator , typename OutputIterator , typename StreamEncrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
OutputIterator nil::crypto3::encrypt ( InputIterator  first,
InputIterator  last,
OutputIterator  out,
const public_key< PublicKeyCipher > &  pk 
)
Template Parameters
PublicKeyCipher
InputIterator
OutputIterator
StreamEncrypter
Parameters
first
last
out
sh
Returns

◆ encrypt() [3/8]

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

◆ encrypt() [4/8]

template<typename PublicKeyCipher , typename InputIterator , typename StreamEncrypter = typename detail::itr_stream_encrypt_traits<PublicKeyCipher, InputIterator>::type>
detail::range_encrypt_impl<PublicKeyCipher, detail::ref_encrypt_impl<StreamEncrypter> > nil::crypto3::encrypt ( InputIterator  first,
InputIterator  last,
const public_key< PublicKeyCipher > &  pk 
)
Template Parameters
PublicKeyCipher
InputIterator
StreamEncrypter
Parameters
first
last
sh
Returns

◆ encrypt() [5/8]

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

◆ encrypt() [6/8]

template<typename Encrypter , typename SinglePassRange , typename OutputIterator >
OutputIterator nil::crypto3::encrypt ( const SinglePassRange &  rng,
const public_key< Encrypter > &  pk,
OutputIterator  out 
)
Template Parameters
Encrypter
SinglePassRange
OutputIterator
StreamEncrypter
Parameters
rng
out
sh
Returns

◆ encrypt() [7/8]

template<typename PublicKeyCipher , typename SinglePassRange , typename PublicKeyRange >
detail::range_encrypt_impl<PublicKeyCipher, detail::value_encrypt_impl<StreamEncrypter> > nil::crypto3::encrypt ( const SinglePassRange &  r,
const PublicKeyRange &  key 
)
Template Parameters
PublicKeyCipher
SinglePassRange
StreamEncrypter
Parameters
r
Returns

◆ encrypt() [8/8]

template<typename PublicKeyCipher , typename SinglePassRange >
detail::range_encrypt_impl<PublicKeyCipher, detail::ref_encrypt_impl<StreamHash> > nil::crypto3::encrypt ( const SinglePassRange &  rng,
const public_key< PublicKeyCipher > &  pk 
)
Template Parameters
PublicKeyCipher
SinglePassRange
StreamHash
Parameters
rng
sh
Returns