pub enum OpModeS<'a, Kem: KemTrait> {
Base,
Psk(PskBundle<'a>),
Auth((Kem::PrivateKey, Kem::PublicKey)),
AuthPsk((Kem::PrivateKey, Kem::PublicKey), PskBundle<'a>),
}
Expand description
The operation mode of the HPKE session (sender’s view). This is how the sender authenticates
their identity to the receiver. This authentication information can include a preshared key,
the identity key of the sender, both, or neither. Base
is the only mode that does not provide
any kind of sender identity authentication.
Variants§
Base
No extra information included
Psk(PskBundle<'a>)
A preshared key known to the sender and receiver
Auth((Kem::PrivateKey, Kem::PublicKey))
The identity keypair of the sender
AuthPsk((Kem::PrivateKey, Kem::PublicKey), PskBundle<'a>)
Both of the above
Auto Trait Implementations§
impl<'a, Kem> RefUnwindSafe for OpModeS<'a, Kem>where <Kem as Kem>::PrivateKey: RefUnwindSafe, <Kem as Kem>::PublicKey: RefUnwindSafe,
impl<'a, Kem> Send for OpModeS<'a, Kem>where <Kem as Kem>::PrivateKey: Send, <Kem as Kem>::PublicKey: Send,
impl<'a, Kem> Sync for OpModeS<'a, Kem>where <Kem as Kem>::PrivateKey: Sync, <Kem as Kem>::PublicKey: Sync,
impl<'a, Kem> Unpin for OpModeS<'a, Kem>where <Kem as Kem>::PrivateKey: Unpin, <Kem as Kem>::PublicKey: Unpin,
impl<'a, Kem> UnwindSafe for OpModeS<'a, Kem>where <Kem as Kem>::PrivateKey: UnwindSafe, <Kem as Kem>::PublicKey: UnwindSafe,
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