Enum AsymmetricAlgorithm

Source
pub enum AsymmetricAlgorithm {
    Kem(KemAlgorithm),
    Signature(SignatureAlgorithm),
}
Expand description

Asymmetric cryptography algorithm enumeration.

非对称密码算法枚举。

§Purpose | 目的

This enum serves as a unified interface for all asymmetric cryptographic operations, allowing runtime algorithm selection while maintaining type safety.

此枚举作为所有非对称密码操作的统一接口, 允许运行时算法选择同时保持类型安全。

§Usage Pattern | 使用模式

use seal_crypto_wrapper::algorithms::asymmetric::AsymmetricAlgorithm;

// Key encapsulation
let kem = AsymmetricAlgorithm::build().kem().kyber512();

// Digital signatures
let sig = AsymmetricAlgorithm::build().signature().ed25519();

// Key agreement
let ka = AsymmetricAlgorithm::build().key_agreement().ecdh_p256();

Variants§

§

Kem(KemAlgorithm)

Key Encapsulation Mechanism algorithms.

密钥封装机制算法。

Used for securely establishing shared secrets between parties. Particularly important for post-quantum security.

用于在各方之间安全建立共享密钥。 对后量子安全特别重要。

§

Signature(SignatureAlgorithm)

Digital signature algorithms.

数字签名算法。

Used for authentication, non-repudiation, and data integrity. Essential for secure communications and document signing.

用于认证、不可否认性和数据完整性。 对安全通信和文档签名至关重要。

Implementations§

Source§

impl AsymmetricAlgorithm

Source

pub fn build() -> AsymmetricAlgorithmBuilder

Creates a new asymmetric algorithm builder.

创建新的非对称算法构建器。

§Returns | 返回值

A builder that provides access to different asymmetric algorithm categories. Use the builder methods to select the specific algorithm type needed.

提供访问不同非对称算法类别的构建器。 使用构建器方法选择所需的特定算法类型。

§Examples | 示例
use seal_crypto_wrapper::algorithms::asymmetric::AsymmetricAlgorithm;

// Build different algorithm types
let kem = AsymmetricAlgorithm::build().kem().kyber512();
let sig = AsymmetricAlgorithm::build().signature().ed25519();

Trait Implementations§

Source§

impl Clone for AsymmetricAlgorithm

Source§

fn clone(&self) -> AsymmetricAlgorithm

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for AsymmetricAlgorithm

Source§

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

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

impl Hash for AsymmetricAlgorithm

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for AsymmetricAlgorithm

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 AsymmetricAlgorithm

Source§

impl Eq for AsymmetricAlgorithm

Source§

impl StructuralPartialEq for AsymmetricAlgorithm

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V