Skip to main content

AeadMetadata

Struct AeadMetadata 

Source
pub struct AeadMetadata {
    pub algorithm: Algorithm,
    pub key_size: usize,
    pub nonce_size: usize,
    pub tag_size: usize,
    pub security_level: u32,
    pub name: &'static str,
    pub description: &'static str,
    pub supports_semantic_decrypt: bool,
}
Expand description

Metadata for AEAD algorithms

Fields§

§algorithm: Algorithm

The algorithm identifier

§key_size: usize

Key size in bytes

§nonce_size: usize

Nonce size in bytes

§tag_size: usize

Authentication tag size in bytes

§security_level: u32

Security level (1, 3, 4, 5)

§name: &'static str

Human-readable algorithm name

§description: &'static str

Algorithm description

§supports_semantic_decrypt: bool

Whether the canonical lib-q-aead / leaf types for this algorithm implement lib_q_core::AeadDecryptSemantic (Layer B semantic decrypt).

This reflects the algorithm capability table, not runtime guarantees for arbitrary dyn AeadWithMetadata test doubles; those may override AeadWithMetadata::supports_semantic_decrypt.

Implementations§

Source§

impl AeadMetadata

Source

pub const fn new( algorithm: Algorithm, key_size: usize, nonce_size: usize, tag_size: usize, security_level: u32, name: &'static str, description: &'static str, supports_semantic_decrypt: bool, ) -> Self

Create new metadata.

supports_semantic_decrypt is explicit per static table row (rather than inferred) so capability stays auditable next to the numeric sizes in get_metadata.

Source

pub fn performance_tier(&self) -> PerformanceTier

Get the performance tier for this algorithm

Source

pub fn is_suitable_for_security_level(&self, required_level: u32) -> bool

Check if this algorithm is suitable for the given security level

Source

pub fn total_overhead(&self) -> usize

Get the total overhead (nonce + tag) for this algorithm

Source

pub fn validate_key_size(&self, key_size: usize) -> bool

Validate key size

Source

pub fn validate_nonce_size(&self, nonce_size: usize) -> bool

Validate nonce size

Source

pub fn validate_tag_size(&self, tag_size: usize) -> bool

Validate tag size

Trait Implementations§

Source§

impl Clone for AeadMetadata

Source§

fn clone(&self) -> AeadMetadata

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 AeadMetadata

Source§

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

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

impl PartialEq for AeadMetadata

Source§

fn eq(&self, other: &AeadMetadata) -> 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 AeadMetadata

Source§

impl Eq for AeadMetadata

Source§

impl StructuralPartialEq for AeadMetadata

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> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more