pub struct ChaCha20Poly1305 { /* private fields */ }Expand description
ChaCha20-Poly1305 AEAD as specified in RFC 8439.
§Parameters
- Key: 256 bits (32 bytes)
- Nonce: 96 bits (12 bytes)
- Tag: 128 bits (16 bytes)
Implementations§
Source§impl ChaCha20Poly1305
impl ChaCha20Poly1305
Sourcepub fn new(key: &[u8; 32]) -> ChaCha20Poly1305
pub fn new(key: &[u8; 32]) -> ChaCha20Poly1305
Creates a new AEAD instance from a 32-byte key.
Trait Implementations§
Source§impl Aead for ChaCha20Poly1305
impl Aead for ChaCha20Poly1305
const TAG_SIZE: usize = 16
const NONCE_SIZE: usize = 12
fn encrypt_in_place(&self, in_out: &mut [u8], nonce: &[u8], aad: &[u8]) -> Hash
fn decrypt_in_place( &self, in_out: &mut [u8], nonce: &[u8], aad: &[u8], tag: &[u8], ) -> Result<(), AeadError>
fn encrypt(&self, plaintext: &[u8], nonce: &[u8], aad: &[u8]) -> Vec<u8> ⓘ
fn decrypt( &self, ciphertext: &[u8], nonce: &[u8], aad: &[u8], ) -> Result<Vec<u8>, AeadError>
Source§impl Drop for ChaCha20Poly1305
impl Drop for ChaCha20Poly1305
Auto Trait Implementations§
impl Freeze for ChaCha20Poly1305
impl RefUnwindSafe for ChaCha20Poly1305
impl Send for ChaCha20Poly1305
impl Sync for ChaCha20Poly1305
impl Unpin for ChaCha20Poly1305
impl UnsafeUnpin for ChaCha20Poly1305
impl UnwindSafe for ChaCha20Poly1305
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more