pub struct HmacDrbg<D>{
pub(crate) k: SimpleHmac<D>,
pub(crate) v: GenericArray<u8, D::OutputSize>,
}Expand description
Internal implementation of HMAC_DRBG as described in NIST SP800-90A.
https://csrc.nist.gov/publications/detail/sp/800-90a/rev-1/final
This is a HMAC-based deterministic random bit generator used compute a
deterministic ephemeral scalar k.
Fields§
§k: SimpleHmac<D>HMAC key K (see RFC 6979 Section 3.2.c)
v: GenericArray<u8, D::OutputSize>Chaining value V (see RFC 6979 Section 3.2.c)
Implementations§
Auto Trait Implementations§
impl<D> Freeze for HmacDrbg<D>where
D: Freeze,
<<D as OutputSizeUser>::OutputSize as ArrayLength<u8>>::ArrayType: Freeze,
<<D as BlockSizeUser>::BlockSize as ArrayLength<u8>>::ArrayType: Freeze,
impl<D> RefUnwindSafe for HmacDrbg<D>where
D: RefUnwindSafe,
<<D as OutputSizeUser>::OutputSize as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
<<D as BlockSizeUser>::BlockSize as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
impl<D> Send for HmacDrbg<D>where
D: Send,
impl<D> Sync for HmacDrbg<D>where
D: Sync,
impl<D> Unpin for HmacDrbg<D>where
D: Unpin,
<<D as OutputSizeUser>::OutputSize as ArrayLength<u8>>::ArrayType: Unpin,
<<D as BlockSizeUser>::BlockSize as ArrayLength<u8>>::ArrayType: Unpin,
impl<D> UnwindSafe for HmacDrbg<D>where
D: UnwindSafe,
<<D as OutputSizeUser>::OutputSize as ArrayLength<u8>>::ArrayType: UnwindSafe,
<<D as BlockSizeUser>::BlockSize as ArrayLength<u8>>::ArrayType: 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