nil::crypto3::block::modes::siv< BlockCipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator > Struct Template Reference
SIV encryption and decryption (. More...
#include <siv.hpp>
Collaboration diagram for nil::crypto3::block::modes::siv< BlockCipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >:
Classes | |
struct | bind |
Public Types | |
template<typename T > | |
using | allocator_type = Allocator< T > |
typedef BlockCipher | cipher_type |
typedef detail::siv_decryption_policy< cipher_type, padding_type, TagBits, stream_cipher_type, mac_type, allocator_type > | decryption_policy |
typedef detail::siv_encryption_policy< cipher_type, padding_type, TagBits, stream_cipher_type, mac_type, allocator_type > | encryption_policy |
typedef MessageAuthenticationCode | mac_type |
typedef Padding< BlockCipher > | padding_type |
typedef StreamCipher | stream_cipher_type |
Detailed Description
template<typename BlockCipher, template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::ctr<BlockCipher>, typename MessageAuthenticationCode = mac::cmac<BlockCipher>, template< typename > class Allocator = std::allocator>
struct nil::crypto3::block::modes::siv< BlockCipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >
SIV encryption and decryption (.
- See also
- RFC 5297)
- Template Parameters
-
BlockCipher Padding StreamCipher MessageAuthenticationCode
Member Typedef Documentation
◆ allocator_type
template<typename BlockCipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::ctr<BlockCipher>, typename MessageAuthenticationCode = mac::cmac<BlockCipher>, template< typename > class Allocator = std::allocator>
template<typename T >
using nil::crypto3::block::modes::siv< BlockCipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::allocator_type = Allocator<T> |
◆ cipher_type
template<typename BlockCipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::ctr<BlockCipher>, typename MessageAuthenticationCode = mac::cmac<BlockCipher>, template< typename > class Allocator = std::allocator>
typedef BlockCipher nil::crypto3::block::modes::siv< BlockCipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::cipher_type |
◆ decryption_policy
template<typename BlockCipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::ctr<BlockCipher>, typename MessageAuthenticationCode = mac::cmac<BlockCipher>, template< typename > class Allocator = std::allocator>
typedef detail::siv_decryption_policy<cipher_type, padding_type, TagBits, stream_cipher_type, mac_type, allocator_type> nil::crypto3::block::modes::siv< BlockCipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::decryption_policy |
◆ encryption_policy
template<typename BlockCipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::ctr<BlockCipher>, typename MessageAuthenticationCode = mac::cmac<BlockCipher>, template< typename > class Allocator = std::allocator>
typedef detail::siv_encryption_policy<cipher_type, padding_type, TagBits, stream_cipher_type, mac_type, allocator_type> nil::crypto3::block::modes::siv< BlockCipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::encryption_policy |
◆ mac_type
template<typename BlockCipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::ctr<BlockCipher>, typename MessageAuthenticationCode = mac::cmac<BlockCipher>, template< typename > class Allocator = std::allocator>
typedef MessageAuthenticationCode nil::crypto3::block::modes::siv< BlockCipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::mac_type |
◆ padding_type
template<typename BlockCipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::ctr<BlockCipher>, typename MessageAuthenticationCode = mac::cmac<BlockCipher>, template< typename > class Allocator = std::allocator>
typedef Padding<BlockCipher> nil::crypto3::block::modes::siv< BlockCipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::padding_type |
◆ stream_cipher_type
template<typename BlockCipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::ctr<BlockCipher>, typename MessageAuthenticationCode = mac::cmac<BlockCipher>, template< typename > class Allocator = std::allocator>
typedef StreamCipher nil::crypto3::block::modes::siv< BlockCipher, Padding, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::stream_cipher_type |
The documentation for this struct was generated from the following file: