Block Ciphers

Block ciphers are a n-bit permutation for some small n, typically 64 or 128 bits. It is a cryptographic primitive used to generate higher level operations such as authenticated encryption. More...

+ Collaboration diagram for Block Ciphers:

Modules

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

Classes

class  nil::crypto3::block::basic_shacal
 
class  nil::crypto3::block::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  nil::crypto3::block::md4
 MD4 block cipher. Stands as a foundation for MD4 hashes. More...
 
class  nil::crypto3::block::md5
 MD5 block cipher. Stands as a foundation for MD5 hashes. More...
 
class  nil::crypto3::block::rijndael< KeyBits, BlockBits >
 Rijndael. AES competition winner. More...
 
class  nil::crypto3::block::shacal
 Shacal. Merkle-Damgård construction foundation for SHA hashes. More...
 
class  nil::crypto3::block::shacal1
 Shacal1. Merkle-Damgård construction foundation for SHA1 hashes. More...
 
class  nil::crypto3::block::shacal2< BlockBits >
 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 nil::crypto3::block::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...
 

Detailed Description

Block ciphers are a n-bit permutation for some small n, typically 64 or 128 bits. It is a cryptographic primitive used to generate higher level operations such as authenticated encryption.

Typedef Documentation

◆ accumulator_set

template<typename ProcessingMode >
using nil::crypto3::block::accumulator_set = typedef 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.

Meets the requirements of AccumulatorSet

Template Parameters
ModeCipher state preprocessing mode type (e.g. isomorphic_encryption_mode<aes128>)
Endian
ValueBits
LengthBits