Struct hpke_dispatch::Config
source · [−]Expand description
Config is an open struct that contains an (Aead, Kdf, Kem)
algorithmic triple. This can be used with Config::base_mode_seal,
Config::base_mode_open, [base_mode_seal], or [base_mode_open].
Fields
aead: Aeadkdf: Kdfthe key derivation function to be used
kem: Kemthe asymmetric key encapsulation mechanism to be used
Implementations
sourceimpl Config
impl Config
sourcepub fn base_mode_seal(
&self,
recipient_public_key: &[u8],
info: &[u8],
plaintext: &[u8],
aad: &[u8]
) -> Result<EncappedKeyAndCiphertext, HpkeError>
pub fn base_mode_seal(
&self,
recipient_public_key: &[u8],
info: &[u8],
plaintext: &[u8],
aad: &[u8]
) -> Result<EncappedKeyAndCiphertext, HpkeError>
base_mode_seal provides an interface to hpke::single_shot_seal that does
not require compile time selection of an algorithm. Instead, the
selected algorithm is provided through the Config that this
method is called on.
Requires the base-mode-seal crate feature to be enabled.
Errors
This will return an Result::Err variant if:
- we are unable to deserialize the recipient public key
- there is an error in key encapsultion
- there is an error in encryption
sourcepub fn base_mode_open(
&self,
private_key: &[u8],
encapped_key: &[u8],
info: &[u8],
ciphertext: &[u8],
aad: &[u8]
) -> Result<Vec<u8>, HpkeError>
pub fn base_mode_open(
&self,
private_key: &[u8],
encapped_key: &[u8],
info: &[u8],
ciphertext: &[u8],
aad: &[u8]
) -> Result<Vec<u8>, HpkeError>
base_mode_open provides an interface to hpke::single_shot_open
that does not require compile time selection of an
algorithm. Instead, the selected algorithm is provided through the
Config that this method is called on.
Requires the base-mode-open crate feature to be enabled.
Errors
This will return an Result::Err variant if:
- we are unable to deserialize the private key or encapsulated key
- there is an error in key decapsulation
- there is an error in decryption
sourcepub fn try_from_ids(
aead_id: u16,
kdf_id: u16,
kem_id: u16
) -> Result<Config, IdLookupError>
pub fn try_from_ids(
aead_id: u16,
kdf_id: u16,
kem_id: u16
) -> Result<Config, IdLookupError>
Attempt to convert three u16 ids into a valid config. The id mappings are defined in the draft.
Trait Implementations
impl Copy for Config
impl Eq for Config
impl StructuralEq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more