nil::crypto3::mac Namespace Reference

Namespaces

 detail
 

Classes

class  ansi_x919_mac
 DES/3DES-based MAC from ANSI X9.19. More...
 
struct  cbc_mac
 CBC-MAC. More...
 
struct  cmac
 CMAC, also known as OMAC1. More...
 
class  gmac
 GMAC. More...
 
struct  hmac
 
class  poly_1305
 DJB's Poly1305. More...
 
class  siphash
 

Typedefs

template<typename MessageAuthenticationCode >
using accumulator_set = boost::accumulators::accumulator_set< static_digest< MessageAuthenticationCode::input_block_bits >, boost::accumulators::features< accumulators::tag::mac< MessageAuthenticationCode > >>
 
using BlockCipher = boost::accumulators::accumulator_set< mac::digest< MessageAuthenticationCode::input_block_bits >, boost::accumulators::features< accumulators::tag::mac< MessageAuthenticationCode > >>
 
template<typename BlockCipher >
using omac1 = cmac< BlockCipher >
 

Functions

template<typename MessageAuthenticationCode , typename OutputRange , typename SinglePassRange >
OutputRange compute (const SinglePassRange &rng)
 
template<typename MessageAuthenticationCode , typename SinglePassRange , typename OutputIterator >
OutputIterator compute (const SinglePassRange &rng, OutputIterator out)
 
template<typename MessageAuthenticationCode , typename InputIterator , typename OutputIterator >
OutputIterator compute (InputIterator first, InputIterator last, OutputIterator out)
 
template<typename MessageAuthenticationCode , typename OutputRange , typename SinglePassRange >
OutputRange verify (const SinglePassRange &rng)
 
template<typename MessageAuthenticationCode , typename SinglePassRange , typename OutputIterator >
OutputIterator verify (const SinglePassRange &rng, OutputIterator out)
 
template<typename MessageAuthenticationCode , typename InputIterator , typename OutputIterator >
OutputIterator verify (InputIterator first, InputIterator last, OutputIterator out)
 

Typedef Documentation

◆ accumulator_set

template<typename MessageAuthenticationCode >
using nil::crypto3::mac::accumulator_set = typedef boost::accumulators::accumulator_set< static_digest<MessageAuthenticationCode::input_block_bits>, boost::accumulators::features<accumulators::tag::mac<MessageAuthenticationCode> >>

◆ BlockCipher

using nil::crypto3::mac::BlockCipher = typedef boost::accumulators::accumulator_set< mac::digest<MessageAuthenticationCode::input_block_bits>, boost::accumulators::features<accumulators::tag::mac<MessageAuthenticationCode> >>

◆ omac1

template<typename BlockCipher >
using nil::crypto3::mac::omac1 = typedef cmac<BlockCipher>

Function Documentation

◆ compute() [1/3]

template<typename MessageAuthenticationCode , typename OutputRange , typename SinglePassRange >
OutputRange nil::crypto3::mac::compute ( const SinglePassRange &  rng)
Template Parameters
MessageAuthenticationCode
OutputRange
SinglePassRange
Parameters
rng
Returns

◆ compute() [2/3]

template<typename MessageAuthenticationCode , typename SinglePassRange , typename OutputIterator >
OutputIterator nil::crypto3::mac::compute ( const SinglePassRange &  rng,
OutputIterator  out 
)
Template Parameters
MessageAuthenticationCode
SinglePassRange
OutputIterator
Parameters
rng
out
Returns

◆ compute() [3/3]

template<typename MessageAuthenticationCode , typename InputIterator , typename OutputIterator >
OutputIterator nil::crypto3::mac::compute ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)
Template Parameters
MessageAuthenticationCode
InputIterator
OutputIterator
Parameters
first
last
out
Returns

◆ verify() [1/3]

template<typename MessageAuthenticationCode , typename OutputRange , typename SinglePassRange >
OutputRange nil::crypto3::mac::verify ( const SinglePassRange &  rng)
Template Parameters
MessageAuthenticationCode
OutputRange
SinglePassRange
Parameters
rng
Returns

◆ verify() [2/3]

template<typename MessageAuthenticationCode , typename SinglePassRange , typename OutputIterator >
OutputIterator nil::crypto3::mac::verify ( const SinglePassRange &  rng,
OutputIterator  out 
)
Template Parameters
MessageAuthenticationCode
SinglePassRange
OutputIterator
Parameters
rng
out
Returns

◆ verify() [3/3]

template<typename MessageAuthenticationCode , typename InputIterator , typename OutputIterator >
OutputIterator nil::crypto3::mac::verify ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)
Template Parameters
MessageAuthenticationCode
InputIterator
OutputIterator
Parameters
first
last
out
Returns