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
impl AsymmetricAlgorithm
Sourcepub fn build() -> AsymmetricAlgorithmBuilder
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
impl Clone for AsymmetricAlgorithm
Source§fn clone(&self) -> AsymmetricAlgorithm
fn clone(&self) -> AsymmetricAlgorithm
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more