Struct hkdf::Hkdf [−][src]
pub struct Hkdf<D> where
D: Update + BlockInput + FixedOutput + Reset + Default + Clone,
D::BlockSize: ArrayLength<u8>,
D::OutputSize: ArrayLength<u8>, { /* fields omitted */ }
Structure representing the HKDF, capable of HKDF-Expand and HKDF-Extract operations.
Implementations
impl<D> Hkdf<D> where
D: Update + BlockInput + FixedOutput + Reset + Default + Clone,
D::BlockSize: ArrayLength<u8>,
D::OutputSize: ArrayLength<u8>,
[src]
impl<D> Hkdf<D> where
D: Update + BlockInput + FixedOutput + Reset + Default + Clone,
D::BlockSize: ArrayLength<u8>,
D::OutputSize: ArrayLength<u8>,
[src]pub fn new(salt: Option<&[u8]>, ikm: &[u8]) -> Hkdf<D>
[src]
Convenience method for extract
when the generated
pseudorandom key can be ignored and only HKDF-Expand operation is needed. This is the most
common constructor.
pub fn from_prk(prk: &[u8]) -> Result<Hkdf<D>, InvalidPrkLength>
[src]
Create Hkdf
from an already cryptographically strong pseudorandom key
as per section 3.3 from RFC5869.
pub fn extract(
salt: Option<&[u8]>,
ikm: &[u8]
) -> (GenericArray<u8, D::OutputSize>, Hkdf<D>)
[src]
salt: Option<&[u8]>,
ikm: &[u8]
) -> (GenericArray<u8, D::OutputSize>, Hkdf<D>)
The RFC5869 HKDF-Extract operation returning both the generated
pseudorandom key and Hkdf
struct for expanding.
pub fn expand_multi_info(
&self,
info_components: &[&[u8]],
okm: &mut [u8]
) -> Result<(), InvalidLength>
[src]
&self,
info_components: &[&[u8]],
okm: &mut [u8]
) -> Result<(), InvalidLength>
The RFC5869 HKDF-Expand operation. This is equivalent to calling
expand
with the info
argument set equal to the
concatenation of all the elements of info_components
.
pub fn expand(&self, info: &[u8], okm: &mut [u8]) -> Result<(), InvalidLength>
[src]
The RFC5869 HKDF-Expand operation
If you don’t have any info
to pass, use an empty slice.
Trait Implementations
impl<D: Clone> Clone for Hkdf<D> where
D: Update + BlockInput + FixedOutput + Reset + Default + Clone,
D::BlockSize: ArrayLength<u8>,
D::OutputSize: ArrayLength<u8>,
[src]
impl<D: Clone> Clone for Hkdf<D> where
D: Update + BlockInput + FixedOutput + Reset + Default + Clone,
D::BlockSize: ArrayLength<u8>,
D::OutputSize: ArrayLength<u8>,
[src]Auto Trait Implementations
impl<D> RefUnwindSafe for Hkdf<D> where
D: RefUnwindSafe,
<<D as BlockInput>::BlockSize as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
impl<D> RefUnwindSafe for Hkdf<D> where
D: RefUnwindSafe,
<<D as BlockInput>::BlockSize as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
impl<D> Unpin for Hkdf<D> where
D: Unpin,
<<D as BlockInput>::BlockSize as ArrayLength<u8>>::ArrayType: Unpin,
impl<D> Unpin for Hkdf<D> where
D: Unpin,
<<D as BlockInput>::BlockSize as ArrayLength<u8>>::ArrayType: Unpin,
impl<D> UnwindSafe for Hkdf<D> where
D: UnwindSafe,
<<D as BlockInput>::BlockSize as ArrayLength<u8>>::ArrayType: UnwindSafe,
impl<D> UnwindSafe for Hkdf<D> where
D: UnwindSafe,
<<D as BlockInput>::BlockSize as ArrayLength<u8>>::ArrayType: UnwindSafe,