Trait aead::AeadMutInPlace
source · pub trait AeadMutInPlace: AeadCore {
// Required methods
fn encrypt_in_place_detached(
&mut self,
nonce: &Nonce<Self>,
associated_data: &[u8],
buffer: &mut [u8],
) -> Result<Tag<Self>>;
fn decrypt_in_place_detached(
&mut self,
nonce: &Nonce<Self>,
associated_data: &[u8],
buffer: &mut [u8],
tag: &Tag<Self>,
) -> Result<()>;
// Provided methods
fn encrypt_in_place(
&mut self,
nonce: &Nonce<Self>,
associated_data: &[u8],
buffer: &mut impl Buffer,
) -> Result<()> { ... }
fn decrypt_in_place(
&mut self,
nonce: &Nonce<Self>,
associated_data: &[u8],
buffer: &mut impl Buffer,
) -> Result<()> { ... }
}
Expand description
In-place stateful AEAD trait.
This trait is both object safe and has no dependencies on alloc
or std
.
Required Methods§
sourcefn encrypt_in_place_detached(
&mut self,
nonce: &Nonce<Self>,
associated_data: &[u8],
buffer: &mut [u8],
) -> Result<Tag<Self>>
fn encrypt_in_place_detached( &mut self, nonce: &Nonce<Self>, associated_data: &[u8], buffer: &mut [u8], ) -> Result<Tag<Self>>
Encrypt the data in-place, returning the authentication tag
sourcefn decrypt_in_place_detached(
&mut self,
nonce: &Nonce<Self>,
associated_data: &[u8],
buffer: &mut [u8],
tag: &Tag<Self>,
) -> Result<()>
fn decrypt_in_place_detached( &mut self, nonce: &Nonce<Self>, associated_data: &[u8], buffer: &mut [u8], tag: &Tag<Self>, ) -> Result<()>
Decrypt the data in-place, returning an error in the event the provided authentication tag does not match the given ciphertext (i.e. ciphertext is modified/unauthentic)
Provided Methods§
sourcefn encrypt_in_place(
&mut self,
nonce: &Nonce<Self>,
associated_data: &[u8],
buffer: &mut impl Buffer,
) -> Result<()>
fn encrypt_in_place( &mut self, nonce: &Nonce<Self>, associated_data: &[u8], buffer: &mut impl Buffer, ) -> Result<()>
Encrypt the given buffer containing a plaintext message in-place.
The buffer must have sufficient capacity to store the ciphertext message, which will always be larger than the original plaintext. The exact size needed is cipher-dependent, but generally includes the size of an authentication tag.
Returns an error if the buffer has insufficient capacity to store the resulting ciphertext message.
sourcefn decrypt_in_place(
&mut self,
nonce: &Nonce<Self>,
associated_data: &[u8],
buffer: &mut impl Buffer,
) -> Result<()>
fn decrypt_in_place( &mut self, nonce: &Nonce<Self>, associated_data: &[u8], buffer: &mut impl Buffer, ) -> Result<()>
Decrypt the message in-place, returning an error in the event the provided authentication tag does not match the given ciphertext.
The buffer will be truncated to the length of the original plaintext message upon success.