nil::crypto3::stream::modes::chacha20poly1305< Padding, NonceBits, TagBits, StreamCipher, MessageAuthenticationCode, Allocator > Struct Template Reference
See draft-irtf-cfrg-chacha20-poly1305-03 for specification If a nonce of 64 bits is used the older version described in draft-agl-tls-chacha20poly1305-04 is used instead. More...
#include <chacha20poly1305.hpp>
Collaboration diagram for nil::crypto3::stream::modes::chacha20poly1305< Padding, NonceBits, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >:
Classes | |
struct | bind |
Public Types | |
typedef detail::chacha20poly1305_decryption_policy< padding_type, NonceBits, TagBits, stream_cipher_type, mac_type, Allocator > | decryption_policy |
typedef detail::chacha20poly1305_encryption_policy< padding_type, NonceBits, TagBits, stream_cipher_type, mac_type, Allocator > | encryption_policy |
typedef MessageAuthenticationCode | mac_type |
typedef Padding< StreamCipher > | padding_type |
typedef StreamCipher | stream_cipher_type |
Detailed Description
template<template< typename > class Padding, std::size_t NonceBits, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::chacha<>, typename MessageAuthenticationCode = mac::poly_1305, template< typename > class Allocator = std::allocator>
struct nil::crypto3::stream::modes::chacha20poly1305< Padding, NonceBits, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >
See draft-irtf-cfrg-chacha20-poly1305-03 for specification If a nonce of 64 bits is used the older version described in draft-agl-tls-chacha20poly1305-04 is used instead.
- Template Parameters
-
StreamCipher Padding CiphertextStealingMode
Member Typedef Documentation
◆ decryption_policy
template<template< typename > class Padding, std::size_t NonceBits, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::chacha<>, typename MessageAuthenticationCode = mac::poly_1305, template< typename > class Allocator = std::allocator>
typedef detail::chacha20poly1305_decryption_policy<padding_type, NonceBits, TagBits, stream_cipher_type, mac_type, Allocator> nil::crypto3::stream::modes::chacha20poly1305< Padding, NonceBits, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::decryption_policy |
◆ encryption_policy
template<template< typename > class Padding, std::size_t NonceBits, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::chacha<>, typename MessageAuthenticationCode = mac::poly_1305, template< typename > class Allocator = std::allocator>
typedef detail::chacha20poly1305_encryption_policy<padding_type, NonceBits, TagBits, stream_cipher_type, mac_type, Allocator> nil::crypto3::stream::modes::chacha20poly1305< Padding, NonceBits, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::encryption_policy |
◆ mac_type
template<template< typename > class Padding, std::size_t NonceBits, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::chacha<>, typename MessageAuthenticationCode = mac::poly_1305, template< typename > class Allocator = std::allocator>
typedef MessageAuthenticationCode nil::crypto3::stream::modes::chacha20poly1305< Padding, NonceBits, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::mac_type |
◆ padding_type
template<template< typename > class Padding, std::size_t NonceBits, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::chacha<>, typename MessageAuthenticationCode = mac::poly_1305, template< typename > class Allocator = std::allocator>
typedef Padding<StreamCipher> nil::crypto3::stream::modes::chacha20poly1305< Padding, NonceBits, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::padding_type |
◆ stream_cipher_type
template<template< typename > class Padding, std::size_t NonceBits, std::size_t TagBits = 16 * CHAR_BIT, typename StreamCipher = stream::chacha<>, typename MessageAuthenticationCode = mac::poly_1305, template< typename > class Allocator = std::allocator>
typedef StreamCipher nil::crypto3::stream::modes::chacha20poly1305< Padding, NonceBits, TagBits, StreamCipher, MessageAuthenticationCode, Allocator >::stream_cipher_type |
The documentation for this struct was generated from the following file: