nil::crypto3::block Namespace Reference

Namespaces

 detail
 
 modes
 

Classes

class  basic_shacal
 
struct  block_stream_processor
 
struct  cipher
 
struct  cipher_key
 
class  kasumi
 Kasumi. A 64-bit cipher used in 3GPP mobile phone protocols. There is no reason to use it outside of this context. More...
 
class  md4
 MD4 block cipher. Stands as a foundation for MD4 hashes. More...
 
class  md5
 MD5 block cipher. Stands as a foundation for MD5 hashes. More...
 
struct  nop_padding
 
class  rijndael
 Rijndael. AES competition winner. More...
 
class  rijndael_armv8_impl< 128, 128, PolicyType >
 
class  rijndael_armv8_impl< 192, 128, PolicyType >
 
class  rijndael_armv8_impl< 256, 128, PolicyType >
 
class  shacal
 Shacal. Merkle-Damgård construction foundation for SHA hashes. More...
 
class  shacal1
 Shacal1. Merkle-Damgård construction foundation for SHA1 hashes. More...
 
class  shacal2
 Shacal2. Merkle-Damgård construction foundation for SHA2 hashes. Accepts up to a 512-bit key. Fast and seemingly very secure, but obscure. Standardized by NESSIE. More...
 

Typedefs

template<typename ProcessingMode >
using accumulator_set = boost::accumulators::accumulator_set< digest< ProcessingMode::block_bits >, boost::accumulators::features< accumulators::tag::block< ProcessingMode > >, std::size_t >
 Accumulator set with pre-defined block cipher accumulator params. More...
 
template<std::size_t KeyBits>
using aes = rijndael< KeyBits, 128 >
 AES block cipher. Equals to Rijndael block cipher with 128 bit block length. More...
 
template<typename BlockCipher >
using decryption_policy = typename modes::isomorphic< BlockCipher, nop_padding >::decryption_policy
 
template<typename BlockCipher >
using encryption_policy = typename block::modes::isomorphic< BlockCipher, nop_padding >::encryption_policy
 
typedef shacal shacal0
 

Functions

template<typename TInputIterator , typename TSize , typename TOutputIterator , typename TUnaryPredicate >
TOutputIterator copy_n_if (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TUnaryPredicate predicate)
 Combination of std::copy_n and std::copy_if algorithms. More...
 
template<typename SinglePassRange , typename OutputIterator >
OutputIterator move (const SinglePassRange &rng, OutputIterator result)
 

Typedef Documentation

◆ aes

template<std::size_t KeyBits>
using nil::crypto3::block::aes = typedef rijndael<KeyBits, 128>

AES block cipher. Equals to Rijndael block cipher with 128 bit block length.

◆ decryption_policy

template<typename BlockCipher >
using nil::crypto3::block::decryption_policy = typedef typename CipherMode::decryption_policy

◆ encryption_policy

template<typename BlockCipher >
using nil::crypto3::block::encryption_policy = typedef typename CipherMode::encryption_policy

◆ shacal0

Function Documentation

◆ copy_n_if()

template<typename TInputIterator , typename TSize , typename TOutputIterator , typename TUnaryPredicate >
TOutputIterator nil::crypto3::block::copy_n_if ( TInputIterator  i_begin,
TSize  n,
TOutputIterator  o_begin,
TUnaryPredicate  predicate 
)

Combination of std::copy_n and std::copy_if algorithms.

Template Parameters
TInputIterator
TSize
TOutputIterator
TUnaryPredicate
Parameters
i_begin
n
o_begin
predicate
Returns

◆ move()

template<typename SinglePassRange , typename OutputIterator >
OutputIterator nil::crypto3::block::move ( const SinglePassRange &  rng,
OutputIterator  result 
)
inline
Template Parameters
SinglePassRange
OutputIterator
Parameters
rng
result
Returns