[#AEADChaCha20Poly1305]
= AEADChaCha20Poly1305
:mrdocs:

The AEAD&lowbar;CHACHA20&lowbar;POLY1305 authenticated encryption algorithm from RFC8439 section 2&period;8&period;

== Synopsis

Declared in `&lt;crypto&sol;chacha20poly1305&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class AEADChaCha20Poly1305;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:AEADChaCha20Poly1305/Nonce96.adoc[`Nonce96`] 
| 96&hyphen;bit nonce type&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:AEADChaCha20Poly1305/2constructor.adoc[`AEADChaCha20Poly1305`]         [.small]#[constructor]#
| Initialize an AEAD instance with a specified 32&hyphen;byte key&period;
| xref:AEADChaCha20Poly1305/Decrypt-07.adoc[`Decrypt`] 
| `Decrypt` overloads
| xref:AEADChaCha20Poly1305/Encrypt-09.adoc[`Encrypt`] 
| `Encrypt` overloads
| xref:AEADChaCha20Poly1305/Keystream.adoc[`Keystream`] 
| Get a number of keystream bytes from the underlying stream cipher&period;
| xref:AEADChaCha20Poly1305/SetKey.adoc[`SetKey`] 
| Switch to another 32&hyphen;byte key&period;
|===


== Static Data Members

[cols="1,4"]
|===
| Name| Description
| xref:AEADChaCha20Poly1305/EXPANSION.adoc[`EXPANSION`] 
| Expansion when encrypting&period;
| xref:AEADChaCha20Poly1305/KEYLEN.adoc[`KEYLEN`] 
| Expected size of key argument in constructor&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
