pub struct XWingKem;Expand description
X-Wing Key Encapsulation Method (X-Wing-KEM).
Trait Implementations§
Source§impl Kem for XWingKem
impl Kem for XWingKem
Source§type DecapsulationKey = DecapsulationKey
type DecapsulationKey = DecapsulationKey
KEM decryption key (i.e. private key) which can decrypt encrypted shared secret ciphertexts
which were encrypted by
Kem::EncapsulationKey.Source§type EncapsulationKey = EncapsulationKey
type EncapsulationKey = EncapsulationKey
KEM encryption key (i.e. public key) which encrypts shared secrets into ciphertexts which
can be decrypted by
Kem::DecapsulationKey.Source§type CiphertextSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B1>, B0>, B0>, B0>, B0>, B0>
type CiphertextSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B1>, B0>, B0>, B0>, B0>, B0>
Size of the ciphertext (a.k.a. “encapsulated key”) produced by
Self::EncapsulationKey.Size of the shared key/secret returned by both encapsulation and decapsulation.
Source§fn generate_keypair_from_rng<R>(
rng: &mut R,
) -> (Self::DecapsulationKey, Self::EncapsulationKey)where
R: CryptoRng,
fn generate_keypair_from_rng<R>(
rng: &mut R,
) -> (Self::DecapsulationKey, Self::EncapsulationKey)where
R: CryptoRng,
Generate a random KEM keypair using the provided random number generator.
Source§fn generate_keypair() -> (Self::DecapsulationKey, Self::EncapsulationKey)
fn generate_keypair() -> (Self::DecapsulationKey, Self::EncapsulationKey)
Available on crate feature
getrandom only.Generate a random KEM keypair using the system’s secure RNG.
Source§impl Ord for XWingKem
impl Ord for XWingKem
Source§impl PartialOrd for XWingKem
impl PartialOrd for XWingKem
impl Copy for XWingKem
impl Eq for XWingKem
impl StructuralPartialEq for XWingKem
Auto Trait Implementations§
impl Freeze for XWingKem
impl RefUnwindSafe for XWingKem
impl Send for XWingKem
impl Sync for XWingKem
impl Unpin for XWingKem
impl UnwindSafe for XWingKem
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<K> FromSeed for K
impl<K> FromSeed for K
Source§type SeedSize = <<K as Kem>::DecapsulationKey as KeySizeUser>::KeySize
type SeedSize = <<K as Kem>::DecapsulationKey as KeySizeUser>::KeySize
Size of the seed value in bytes.