nil::crypto3::block::modes::ocb< Cipher, Padding, TagBits, Allocator > Struct Template Reference
#include <ocb.hpp>
Collaboration diagram for nil::crypto3::block::modes::ocb< Cipher, Padding, TagBits, Allocator >:
Classes | |
struct | bind |
Public Types | |
template<typename T > | |
using | allocator_type = Allocator< T > |
typedef Cipher | cipher_type |
typedef detail::ocb_decryption_policy< cipher_type, padding_type, TagBits, allocator_type > | decryption_policy |
typedef detail::ocb_encryption_policy< cipher_type, padding_type, TagBits, allocator_type > | encryption_policy |
typedef Padding< Cipher > | padding_type |
Detailed Description
template<typename Cipher, template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, template< typename > class Allocator = std::allocator>
struct nil::crypto3::block::modes::ocb< Cipher, Padding, TagBits, Allocator >
OCB Block Cipher Mode Note that OCB is patented, but is freely licensed in some circumstances.
- See also
- "The OCB Authenticated-Encryption Algorithm" RFC 7253 https://tools.ietf.org/html/rfc7253
- "OCB For Block Ciphers Without 128-Bit Blocks" (draft-krovetz-ocb-wide-d3) for the extension of OCB to block ciphers with larger block sizes.
- Free Licenses http://www.cs.ucdavis.edu/~rogaway/ocb/license.htm
- OCB home page http://www.cs.ucdavis.edu/~rogaway/ocb
- Template Parameters
-
Cipher Padding
Member Typedef Documentation
◆ allocator_type
template<typename Cipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, template< typename > class Allocator = std::allocator>
template<typename T >
using nil::crypto3::block::modes::ocb< Cipher, Padding, TagBits, Allocator >::allocator_type = Allocator<T> |
◆ cipher_type
template<typename Cipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, template< typename > class Allocator = std::allocator>
typedef Cipher nil::crypto3::block::modes::ocb< Cipher, Padding, TagBits, Allocator >::cipher_type |
◆ decryption_policy
template<typename Cipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, template< typename > class Allocator = std::allocator>
typedef detail::ocb_decryption_policy<cipher_type, padding_type, TagBits, allocator_type> nil::crypto3::block::modes::ocb< Cipher, Padding, TagBits, Allocator >::decryption_policy |
◆ encryption_policy
template<typename Cipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, template< typename > class Allocator = std::allocator>
typedef detail::ocb_encryption_policy<cipher_type, padding_type, TagBits, allocator_type> nil::crypto3::block::modes::ocb< Cipher, Padding, TagBits, Allocator >::encryption_policy |
◆ padding_type
template<typename Cipher , template< typename > class Padding, std::size_t TagBits = 16 * CHAR_BIT, template< typename > class Allocator = std::allocator>
typedef Padding<Cipher> nil::crypto3::block::modes::ocb< Cipher, Padding, TagBits, Allocator >::padding_type |
The documentation for this struct was generated from the following file: