[][src]Enum hpke::OpModeS

pub enum OpModeS<'a, Kex: KeyExchange> {
    Base,
    Psk(PskBundle<'a>),
    Auth((Kex::PrivateKey, Kex::PublicKey)),
    AuthPsk((Kex::PrivateKey, Kex::PublicKey)PskBundle<'a>),
}

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((Kex::PrivateKey, Kex::PublicKey))

The identity keypair of the sender

AuthPsk((Kex::PrivateKey, Kex::PublicKey)PskBundle<'a>)

Both of the above

Auto Trait Implementations

impl<'a, Kex> RefUnwindSafe for OpModeS<'a, Kex> where
    <Kex as KeyExchange>::PrivateKey: RefUnwindSafe,
    <Kex as KeyExchange>::PublicKey: RefUnwindSafe

impl<'a, Kex> Send for OpModeS<'a, Kex> where
    <Kex as KeyExchange>::PrivateKey: Send,
    <Kex as KeyExchange>::PublicKey: Send

impl<'a, Kex> Sync for OpModeS<'a, Kex> where
    <Kex as KeyExchange>::PrivateKey: Sync,
    <Kex as KeyExchange>::PublicKey: Sync

impl<'a, Kex> Unpin for OpModeS<'a, Kex> where
    <Kex as KeyExchange>::PrivateKey: Unpin,
    <Kex as KeyExchange>::PublicKey: Unpin

impl<'a, Kex> UnwindSafe for OpModeS<'a, Kex> where
    <Kex as KeyExchange>::PrivateKey: UnwindSafe,
    <Kex as KeyExchange>::PublicKey: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,