Skip to main content

Algorithm

Struct Algorithm 

Source
pub struct Algorithm(/* private fields */);
Expand description

Represents a specific AEAD algorithm.

Implementations§

Source§

impl Algorithm

Source

pub const unsafe fn from_ptr(ptr: *const EVP_AEAD) -> Self

Creates an Algorithm from a raw BoringSSL pointer.

§Safety

The caller must ensure that ptr is a valid pointer to an EVP_AEAD with a 'static lifetime.

Source

pub fn aes_128_gcm() -> Self

AES-128 in Galois Counter Mode (GCM).

This corresponds to EVP_aead_aes_128_gcm.

Source

pub fn aes_256_gcm() -> Self

AES-256 in Galois Counter Mode (GCM).

This corresponds to EVP_aead_aes_256_gcm.

Source

pub fn chacha20_poly1305() -> Self

ChaCha20-Poly1305 as described in RFC 8439.

This corresponds to EVP_aead_chacha20_poly1305.

Source

pub fn xchacha20_poly1305() -> Self

XChaCha20-Poly1305 with a 24-byte nonce.

This corresponds to EVP_aead_xchacha20_poly1305.

Source

pub fn key_length(&self) -> usize

Returns the key length, in bytes, required by this algorithm.

This corresponds to EVP_AEAD_key_length.

Source

pub fn max_overhead(&self) -> usize

Returns the maximum additional bytes produced when sealing.

This corresponds to EVP_AEAD_max_overhead.

Source

pub fn max_tag_len(&self) -> usize

Returns the maximum tag length for this algorithm.

This corresponds to EVP_AEAD_max_tag_len.

Source

pub fn nonce_len(&self) -> usize

Returns the nonce length, in bytes, required by this algorithm.

This corresponds to EVP_AEAD_nonce_length.

Source

pub const fn as_ptr(&self) -> *const EVP_AEAD

Returns the raw EVP_AEAD pointer.

Trait Implementations§

Source§

impl Clone for Algorithm

Source§

fn clone(&self) -> Algorithm

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Algorithm

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Algorithm

Source§

fn eq(&self, other: &Algorithm) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Algorithm

Source§

impl Eq for Algorithm

Source§

impl Send for Algorithm

Source§

impl StructuralPartialEq for Algorithm

Source§

impl Sync for Algorithm

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.