pub enum KeyExtension {
None,
Blumenthal,
}Expand description
Key extension strategy for privacy key derivation.
When using AES-192 or AES-256 with authentication protocols that produce shorter digests (e.g., SHA-1), a key extension algorithm is needed to generate sufficient key material.
Variants§
None
No key extension. Requires compatible auth/priv protocol combinations. This is the default and will panic if insufficient key material.
Blumenthal
Use the Blumenthal key extension algorithm (draft-blumenthal-aes-usm-04). Extends keys by iteratively hashing: Kul’ = Kul || H(Kul) || H(Kul||H(Kul)) || …
Trait Implementations§
Source§impl Clone for KeyExtension
impl Clone for KeyExtension
Source§fn clone(&self) -> KeyExtension
fn clone(&self) -> KeyExtension
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for KeyExtension
impl Debug for KeyExtension
Source§impl Default for KeyExtension
impl Default for KeyExtension
Source§fn default() -> KeyExtension
fn default() -> KeyExtension
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for KeyExtension
impl<'de> Deserialize<'de> for KeyExtension
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for KeyExtension
impl PartialEq for KeyExtension
Source§impl Serialize for KeyExtension
impl Serialize for KeyExtension
impl Copy for KeyExtension
impl Eq for KeyExtension
impl StructuralPartialEq for KeyExtension
Auto Trait Implementations§
impl Freeze for KeyExtension
impl RefUnwindSafe for KeyExtension
impl Send for KeyExtension
impl Sync for KeyExtension
impl Unpin for KeyExtension
impl UnwindSafe for KeyExtension
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